پیشرفتهای اخیر در مدلهای زبانی بزرگ (LLM) توسعه عوامل کدنویسی مبتنی بر هوش مصنوعی را ممکن ساخته است که میتوانند کد نرمافزاری را تولید، اصلاح و درک کنند. با این حال، ارزیابی این سیستمها محدود باقی مانده و اغلب به معیارهای مصنوعی یا با دامنه محدود، عمدتاً در پایتون محدود میشود. این معیارها به ندرت تنوع ساختاری و معنایی پایگاههای کد دنیای واقعی را منعکس میکنند و در نتیجه، بسیاری از عوامل به جای نشان دادن قابلیتهای قوی و قابل انتقال، الگوهای خاص معیار را بیش از حد یاد میگیرند.
AWS، SWE-PolyBench را معرفی میکند: یک چارچوب ارزیابی جامعتر
برای رفع این چالشها، AWS AI Labs،
برخلاف معیارهای قبلی، SWE-PolyBench شامل درخواستهای pull واقعی (PR) است که مسائل واقعی را بسته و شامل موارد آزمایشی مرتبط است و امکان ارزیابی قابل تأیید را فراهم میکند. یک زیرمجموعه کوچکتر و طبقهبندیشده—
ساختار فنی و معیارهای ارزیابی
SWE-PolyBench یک خط لوله ارزیابی مبتنی بر اجرا را اتخاذ میکند. هر کار شامل یک عکس فوری از مخزن و یک بیانیه مسئله است که از یک issue GitHub گرفته شده است. این سیستم پچ ground truth مرتبط را در یک محیط آزمایشی کانتینری که برای اکوسیستم زبان مربوطه پیکربندی شده است (به عنوان مثال، Maven برای Java، npm برای JS/TS و غیره) اعمال میکند. سپس معیار نتایج را با استفاده از دو نوع آزمون واحد اندازهگیری میکند:
برای ارائه ارزیابی دقیقتر از عوامل کدنویسی، SWE-PolyBench معیارهای مبتنی بر
ارزیابی تجربی و مشاهدات
سه عامل کدنویسی متنباز—
این ارزیابی تفاوتهای قابل توجهی را در عملکرد بین زبانها و انواع وظایف نشان داد. به عنوان مثال، عوامل در وظایف Python بهترین عملکرد را داشتند (تا 24.1٪ نرخ قبولی) اما با TypeScript مشکل داشتند (به اندازه 4.7٪). Java، با وجود پیچیدگی بیشتر از نظر تغییرات متوسط گره، نرخ موفقیت بالاتری نسبت به TypeScript به دست آورد، که نشان میدهد که قرار گرفتن در معرض پیش آموزش و آشنایی با نحو نقش مهمی در عملکرد مدل ایفا میکند.
عملکرد همچنین با پیچیدگی کار متفاوت بود. وظایف محدود به تغییرات تک تابعی یا تک کلاسی، نرخ موفقیت بالاتری را به همراه داشت (تا 40٪)، در حالی که وظایف نیازمند تغییرات ترکیبی یا چند فایلی کاهش قابل توجهی را نشان دادند. جالب اینجاست که دقت و یادآوری بالای بازیابی - به ویژه برای شناسایی گره فایل و CST - همیشه به نرخ قبولی بالاتر تبدیل نمیشود، که نشان میدهد محلیسازی کد برای حل مسئله ضروری است اما کافی نیست.
نتیجهگیری: به سوی ارزیابی قوی عوامل کدنویسی هوش مصنوعی
SWE-PolyBench یک چارچوب ارزیابی قوی و دقیق برای عوامل کدنویسی ارائه میدهد و محدودیتهای کلیدی در معیارهای موجود را برطرف میکند. با پشتیبانی از چندین زبان برنامهنویسی، پوشش طیف گستردهتری از انواع وظایف و گنجاندن معیارهای آگاه از نحو، یک ارزیابی نمایندهتر از کاربرد دنیای واقعی یک عامل ارائه میدهد.
این معیار نشان میدهد که در حالی که عوامل هوش مصنوعی قابلیتهای امیدوارکنندهای از خود نشان میدهند، عملکرد آنها در بین زبانها و وظایف ناهمگون باقی میماند. SWE-PolyBench پایهای برای تحقیقات آینده با هدف بهبود قابلیت تعمیم، استحکام و قابلیتهای استدلال دستیاران کدنویسی هوش مصنوعی فراهم میکند.
وبلاگ AWS DevOps، Hugging Face – SWE-PolyBench و GitHub – SWE-PolyBench را بررسی کنید.