ScarfBench؛ محکِ ایجنتها در مهاجرتِ فریمورکهای جاوا
خلاصهٔ کاملتر
مدرنسازیِ اپلیکیشنهای سازمانی یکی از بزرگترین و پرخرجترین کارهای مهندسیِ نرمافزاره و مهاجرتِ بین فریمورکها بخش مهمیشه. به گفتهی IBM Research، با وجودِ هیجانِ اطرافِ ایجنتهای کدنویسی، این سؤالِ اصلی باز مونده: آیا ایجنتهای هوش مصنوعی واقعاً میتونن اپلیکیشنهای سازمانیِ واقعی رو مطمئن مدرن کنن؟ برای همین اونها بنچمارکِ بازِ ScarfBench رو معرفی کردن.
به گفتهی تیم، مهاجرتِ فریمورک با رفعِ باگ یا تولیدِ کدِ ساده فرق داره؛ اینجا باید کد ترجمه بشه، رفتارِ برنامه حفظ بشه، سیستمِ بیلد وفق پیدا کنه و وابستگیهای زمانِ اجرا هم مدیریت بشن. ScarfBench روی مهاجرت بین سه اکوسیستمِ اصلیِ جاوا تمرکز داره: Spring، Jakarta EE و Quarkus. نکتهی متمایزش اینه که بهجای مقایسهی کد با یه نمونهی مرجع، بررسی میکنه که آیا اپلیکیشنِ مهاجرتدادهشده واقعاً بیلد و دیپلوی میشه و از اعتبارسنجیِ رفتاری رد میشه یا نه.
از نظرِ اندازه، بنچمارک شاملِ ۳۴ اپلیکیشن، ۱۰۲ پیادهسازیِ فریمورک، ۲۰۴ تسکِ مهاجرت، حدودِ ۱۵۱ هزار خط کد و ۱٬۳۳۱ تستِ نوشتهشده توسطِ متخصصهاست. به گفتهی پژوهشگرها، با اینکه ایجنتهای امروزی تو بنچمارکهای سنتی خوب کار میکنن، مهاجرتِ فریمورک هنوز سخته و حتی قویترین ایجنتها کمتر از ۱۰٪ موفقیتِ رفتاری دارن؛ یعنی فاصلهی زیادی بین «تولیدِ کدِ قابلکامپایل» و «حفظِ رفتارِ برنامه» هست. نرخِ موفقیتِ کامپایل همیشه از دیپلوی و اون هم از رفتار بالاتره، پس موفقیتِ بیلد بهتنهایی کیفیت رو خیلی بیشبرآورد میکنه.
یکی از یافتههای جالب اینه که ایجنتها بیشازحد به خودشون مطمئنان: به گفتهی مقاله، Claude Code برای ۲۹ تا از ۳۰ اپلیکیشن گزارشِ بیلدِ موفق داده، در حالی که فقط ۲۲تاشون واقعاً بیلد شدن؛ و جالبتر اینکه همون یه اپی که ایجنت شکستخورده دونسته بود، در عمل درست بیلد شد. نتیجه اینه که خودارزیابیِ ایجنت رو نمیشه سیگنالِ قابلاعتمادِ اتمامِ مهاجرت دونست و اعتبارسنجیِ مستقل ضروریه.
یافتههای دیگه هم میگن مهاجرت بهجای خطی بودن، یه فرایندِ تکراریِ حلِ وابستگیه که مدام بین لایههای پیکربندی، وب، دیتابیس و سرویس رفتوبرگشت داره، و بیشترین تلاش صرفِ پیکربندی میشه. حتی خیلی از مشکلها ربطی به خودِ کد ندارن و از محیط و ابزار میان؛ چیزهایی مثل ناسازگاریِ کشِ Docker، مشکلِ اتصالِ پورت و ابزارهای بیلد. جمعبندیِ تیم اینه که سختترین بخشِ مدرنسازی، ترجمهی کدِ جاوا نیست، بلکه مدیریتِ همون تارِعنکبوتِ وابستگیها بین پیکربندی، زیرساخت و محیطِ اجراست.
نکات کلیدی:
- ScarfBench یه بنچمارکِ بازِ IBM Research برای سنجشِ مهاجرتِ فریمورکهای جاوای سازمانیه (Spring, Jakarta EE, Quarkus).
- بهجای مقایسه با کدِ مرجع، چک میکنه که اپ واقعاً بیلد، دیپلوی و رفتارشو حفظ کنه.
- حتی قویترین ایجنتها کمتر از ۱۰٪ موفقیتِ رفتاری دارن؛ موفقیتِ بیلد کیفیت رو بیشبرآورد میکنه.
- ایجنتها بیشازحد به خودشون مطمئنان و بیشترین تلاش صرفِ پیکربندی و مشکلاتِ محیط/ابزار میشه.




