امتیازات SWE-bench در کمتر از دو سال از ۱.۹۶٪ به ۷۲.۷٪ جهش یافته است؛ افزایشی که تیترهای خبری آن را به عنوان جهشی ۳۷ برابری در توانایی کدنویسی هوش مصنوعی توصیف کردهاند. این تیترها توجه را جلب میکنند، اما این اعداد دو آزمون متفاوت را با هم مقایسه میکنند، نه یک بهبود مستمر و واحد در مهارت مهندسی نرمافزار را.
اعداد خام
در سال ۲۰۲۳، نسخه اصلی SWE-bench عاملهای هوش مصنوعی را بر روی ۲۲۹۴ مورد واقعی در GitHub ارزیابی کرد. وظایف ترکیبی از انواع مسائل بودند: توضیحات مبهم، تستهای خراب و بسیاری از مشکلاتی که حتی یک انسان هم در حل آنها با دشواری روبرو میشد. تا سال ۲۰۲۵، همان نام بنچمارک با امتیاز ۷۲.۷٪ ظاهر شد، اما آزمون به یک زیرمجموعه «Verified» شامل تنها ۵۰۰ وظیفه محدود شده بود که توسط انسانها از نظر وضوح و قابلیت حل بررسی شده بودند.
نحوه تغییر آزمون
تغییر از کاتالوگ کامل به مجموعه Verified، اولین و مشهودترین تغییر است. مجموعه اصلی سعی داشت واقعیت پرآشوب مشارکتهای متنباز را منعکس کند؛ مسائلی که ناقص، با مستندات ضعیف یا صرفاً بدون بافتار (context) اضافی غیرقابل حل هستند. در مقابل، نسخه Verified بهطور عمدی آن آشفتگی را فیلتر میکند. این نسخه مجموعهای از مسائل تمیزتر و قابلدسترستر را ارائه میدهد که دستیابی به امتیازات بالا در آنها واقعبینانه است.
از آنجایی که این دو نسخه بخشهای متفاوتی از فضای مسئله را اندازهگیری میکنند، مقایسه مستقیم درصدی گمراهکننده است. رقم ۱.۹۶٪ عملکرد روی کارهای خام و فیلترنشده را نشان میدهد؛ در حالی که رقم ۷۲.۷٪ عملکرد روی یک نمونه منتخب را نشان میدهد که احتمال موفقیت در آن بسیار بالاتر است.
مهندسی هدفمند
تغییر دوم و ظریفتر در نحوه برخورد توسعهدهندگان با بنچمارک رخ داد. در سال ۲۰۲۳، هیچکس عاملهایی را بهطور خاص برای موفقیت در SWE-bench نمیساخت؛ این آزمون به عنوان یک نمونه تصادفی از چالشهای کدنویسی جهان عمل میکرد. تا سال ۲۰۲۵، تیمها این بنچمارک را به یک جدول امتیازات تبدیل کردند. آنها داربستها (scaffolding)، استراتژیهای پرامپتنویسی و مدلهای fine-tuned را با هدف صریح کسب امتیاز بالا در مجموعه Verified ساختند.
وقتی مهندسان سیستمی را برای گذراندن یک آزمون خاص طراحی میکنند، امتیاز نشاندهنده میزان انطباق سیستم با آن آزمون است، نه توانایی گسترده آن. بنچمارک از لحظهای که «اصلاح» شد و به یک هدف تبدیل گشت، دیگر نمونهای معرف از کارهای دنیای واقعی نبود.
این جهش واقعاً به چه معناست
بهبود چشمگیر تیترها از این جهت واقعی است که عاملهای کدنویسی فعلی در وظایف Verified بسیار بهتر از مجموعه اصلی عمل میکنند. این بهبود برای مسابقات، مقالات پژوهشی و دموهای محصولی که بر همین بنچمارک منتخب تکیه دارند، اهمیت دارد.
با این حال، این جهش ثابت نمیکند که عاملهای هوش مصنوعی اکنون میتوانند از پس آشفتگیهای توسعه نرمافزار روزمره برآیند. مجموعه اصلی ۲۲۹۴ موردی همچنان وجود دارد و امتیازات در آن نسخه همچنان پایین است.
سوالاتی که باید پرسید
هر زمان که شاهد نوسان شدیدی در نتایج بنچمارک بودید، این سه مورد را در نظر داشته باشید:
- کدام نسخه گزارش شده است؟ Original، Lite یا Verified؟ نامهای یکسان میتوانند مجموعههای وظایف بسیار متفاوتی را پنهان کنند.
- چه چیزهایی فیلتر شدهاند؟ حذف وظایف پرسر و صدا یا غیرقابل حل، سقف عملکرد هر سیستمی را بالا میبرد؛ اما در عین حال، همان چالشهایی را که در محیط عملیاتی (production) اهمیت دارند، حذف میکند.
- آیا سیستم برای گذراندن این آزمون خاص ساخته شده است؟ اگر توسعهدهندگان مدلها یا خطلولهها (pipelines) را برای بنچمارک تنظیم کرده باشند، امتیاز نشاندهنده بهینهسازی است، نه توانایی خام.
نگاه به آینده
تا زمانی که چنین حفاظهایی به استاندارد تبدیل نشوند، بهترین معیار برای سنجش مفید بودن یک کدنویس هوش مصنوعی، عملکرد آن در مسائل پرآشوب و واقعی خواهد بود که توسعهدهندگان روزانه با آنها روبرو میشوند.
نکته کلیدی: امتیاز بالاتر در یک بنچمارک اصلاحشده و هدفمند، بهطور خودکار ثابت نمیکند که عاملهای هوش مصنوعی برای آشفتگیهای کدهای دنیای واقعی آماده هستند؛ آزمون واقعی همچنان همان مسائل فیلترنشدهای است که مهندسان هر روز با آنها دستوپنجه نرم میکنند.
