ایجنت‌ها

بنچمارک‌های ایجنت — SWE-bench

بنچمارک‌های ایجنت — SWE-bench — راهنمای فارسی از مجموعهٔ «ایجنت‌ها» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۳ دقیقه مطالعه
تصویر مقالهٔ بنچمارک‌های ایجنت — SWE-bench

وقتی یه شرکت ادعا می‌کنه ایجنت کدنویسیش «۵۰٪ مسائل رو حل می‌کنه»، این عدد از کجا میاد؟ جواب: SWE-bench. اگه می‌خوای بدونی ایجنت‌های کدنویسی AI واقعاً چقدر خوبن — نه ادعاهاشون — باید با این بنچمارک آشنا بشی.

SWE-bench چیست؟

SWE-bench (نوشته می‌شه «اس‌دبلیو‌ای بنچ») یه مجموعه‌داده و چارچوب ارزیابیه که توسط محققان دانشگاه پرینستون در سال ۲۰۲۳ معرفی شد. منطقش ساده‌ست: به‌جای اینکه از مدل بپرسی «این الگوریتم رو توضیح بده»، یه باگ واقعی از یه مخزن واقعی GitHub بهش می‌دی و می‌بینی آیا می‌تونه پَچ بزنه.

مجموعه‌داده اصلی شامل ۲۲۹۴ ایشوی واقعی از مخازن محبوب پایتون مثل Django، Flask، Scikit-learn، Pytest و Sympy‌ه. نسخهٔ سخت‌تر یعنی SWE-bench Verified دویست و پنجاه مسئله داره که انسان‌ها تأیید کردن واقعاً حل‌پذیرن.

چطور کار می‌کنه؟

۱. ایشو رو می‌خونه: مدل توضیح باگ رو می‌گیره (همون متن ایشوی GitHub) ۲. مخزن رو بررسی می‌کنه: کل کدبیس در اختیار ایجنته ۳. پَچ می‌زنه: ایجنت باید فایل‌های مناسب رو پیدا کنه، تغییر بده، کامیت کنه ۴. تست می‌شه: پَچ با تست‌های واقعی مخزن اجرا می‌شه

اگه تست‌ها پاس بشن، حل شده. اگه نه، حل نشده. خیلی بی‌رحمانه‌ست — و به همین خاطر ارزشمنده.

اعداد واقعی (تا اواخر ۲۰۲۵)

مدل / ایجنتSWE-bench Verified (%)
Claude 3.5 Sonnet (Anthropic)~49%
GPT-4o با scaffold~38%
Gemini 1.5 Pro با scaffold~30%
مدل‌های متن‌باز (LLaMA-3 و غیره)زیر ۲۰%

این اعداد رو با احتیاط بخون. اولاً هر شرکت scaffold (چارچوب اجرا) متفاوتی داره — ابزارهای جستجو، اجرا، و ادیت فایل که روی نتیجه تأثیر مستقیم دارن. ثانیاً این اعداد روی تست‌های پایتون هستن؛ برای جاوا، راست، یا فارسی تخصصی‌تر از این حرفاست.

SWE-bench چه چیزی را اندازه نمی‌گیرد؟

این بنچمارک خوبه، اما نباید تنها معیار باشه:

  • کد گرین‌فیلد نمی‌نویسه: فقط باگ‌فیکسه، نه معماری از صفر
  • زبان‌های غیر پایتون: پوشش خیلی محدودتره
  • کیفیت کد: یه پَچ ممکنه تست رو پاس کنه ولی کدش زشت و شکننده باشه
  • تعامل طولانی‌مدت: مسائل چندروزه با کانتکست انباشته ارزیابی نمی‌شن

به همین خاطر بنچمارک‌های دیگه‌ای هم وجود دارن: HumanEval برای توابع الگوریتمی، MBPP برای برنامه‌نویسی پایه، و LiveCodeBench که مسائل لیت‌کداست. SWE-bench واقعی‌ترین برای کار روزمرهٔ توسعه‌دهنده‌ست.

چرا این بنچمارک برای توسعه‌دهندهٔ ایرانی مهمه؟

وقتی می‌خوای یه ابزار کدنویسی AI انتخاب کنی — چه Cursor باشه، چه Copilot، چه AiraCode — عدد SWE-bench یه نقطهٔ مقایسهٔ عینیه. ادعاهای بازاریابی کنار می‌ره.

اما یه نکته رو فراموش نکن: SWE-bench باگ‌فیکس رو می‌سنجه، نه حافظه. یه ابزار که امروز ۴۵٪ مسئله حل می‌کنه ولی پروژه‌ات رو نمی‌شناسه، هر بار از صفر شروع می‌کنه. ابزاری که کانتکست پروژه‌ات رو نگه می‌داره — مثل AiraCode با حافظهٔ پیوسته — در عمل کارآمدتره حتی اگه عدد SWE-bench کمتری داشته باشه.

چطور خودت ابزار کدنویسی رو ارزیابی کنی؟

بنچمارک‌های عمومی یه نقطهٔ شروعن. برای تصمیم واقعی، این سه کار رو انجام بده:

۱. یه باگ واقعی از پروژهٔ خودت رو بده ببین چی میاره ۲. یه فیچر جدید از صفر بخوای بنویسه و کیفیت کد رو بسنج ۳. دو هفته استفاده کن و ببین کانتکست پروژه رو نگه می‌داره یا نه

این سه تست از هر عدد بنچمارکی برات معنادارتره.

همچنین بخوان

#ایجنت‌ها

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «ایجنت‌ها»