شاخص های سنجش: SWE-bench، GAIA، AgentBench
Type: Learn
Languages: Python (stdlib)
Prerequisites: Phase 14 · 06 (Tool Use)
Time: ~60 minutes
اهداف یادگیری
- نام کلاه آزمون SWE-bench (FAIL_TO_PASS) را نام دهید و توضیح دهید که چرا در آزمایشات واحد دروازه می کند.
- توضیح دهید که چرا SWE-bench Verified (OpenAI، 500 وظیفه) وجود دارد و چه چیزی را حذف می کند.
- طراحی GAIA را توصیف کنید: برای انسان ساده، برای هوش مصنوعی سخت؛ سه سطح مشکل.
- هشت محیط آژنت بنچ و مسدود کننده اصلی آن برای LLM های منبع باز را نام بده.
- خلاصه ای از یافته های آلودگی SWE-bench+ و پیامدهای آن را ارائه دهید.
مشکل
رتبه بندی ها به شما می گویند کدام مدل در یک معیار برنده است.
- آیا معیار مرجع آلوده است (حل در داده های آموزش، خروجی آزمایش).
- آیا معیار سنجش آنچه که شما اهمیت می دهید را اندازه گیری می کند (کد در مقابل مرور در مقابل عمومی).
- آیا ارزیابی کننده قوی است (مطابقات AST، چک های دولتی، بررسی انسانی).
قبل از اینکه یک عدد را نقل کنید، سه معیار لنگر و حالت شکست آنها را بدانید.
مفهوم
SWE-bench (Jimenez et al., ICLR 2024 شفاهی)
- ۲۲۹۴ مشکل اصلی GitHub از ۱۲ repos Python محبوب
- عامل می گیرد: کد پایه در پیش تنظیم انجام + زبان طبیعی توضیح مسئله.
- مامور تولید ميکنه: يه تکه
- ارزیابی کننده: پیچ را اعمال کنید، مجموعه آزمایش ریپو را اجرا کنید. پیچ باید تست های FAIL_TO_PASS را (که قبلاً شکست خورده بود، اکنون عبور می کند) بدون شکستن تست های PASS_TO_PASS را تغییر دهد.
SWE-agent (Yang et al., 2024) با تاکید بر رابط های عامل و کامپیوتر (امر دستورات ویرایشگر فایل، نحوی جستجو که مدل درک می کند) ، 12.5 درصد را در انتشار به دست آورد.
بانک SWE تایید شده
OpenAI، آگوست 2024. زیر مجموعه 500 وظیفه توسط انسان. مسائل مبهم، تست های غیرقابل اعتماد و وظایف که در آن تصحیح روشن نبود را حذف می کند. معیار اصلی برای "آیا نماینده شما پیچ های واقعی را ارسال می کند؟"
آلودگی
- بیش از 94 درصد از مسائل SWE-بینچ قبل از اکثر مدل های قطع شده است.
- SWE-bench+32.67% از پیچ های موفق در متن مسئله حل هایی را دزدیده اند (نمونه در توصیف اصلاح را دیده است) و 31.08% به دلیل پوشش ضعیف آزمایش مشکوک بودند.
- تایید شده تمیز تر است اما بدون آلودگی نیست
پیامدهای عملی: یک مدل که ۵۰٪ در SWE-bench امتیاز می دهد ممکن است ۳۵٪ در SWE-bench امتیاز دهد. همیشه هر دو را گزارش دهید اگر شما عملکرد SWE-bench را ادعا کنید.
GAIA (Mialon و همکارانش، نوامبر 2023)
- 466 سوال؛ 300 مورد برای رتبه بندی خصوصی در huggingface.co/gaia-benchmark نگه داشته شده است.
- فلسفه طراحی: "به طور مفهومی برای انسان ها (92٪) ساده است اما برای هوش مصنوعی سخت است (GPT-4 با افزونه ها: 15٪). "
- تست استدلال، چند راه، وب، استفاده از ابزار
- سه سطح مشکل؛ سطح 3 نیازمند زنجیره های وسیعی طولانی در هر روش است.
GAIA چیزی است که شما برای اندازه گیری "قدرت عمومی" اجرا می کنید.
در این زمینه، این موضوع به عنوان یک موضوع مهم مورد توجه قرار می گیرد.
- 8 محیط در سراسر کد (Bash، DB، KG) ، بازی (Alfworld، LTP) ، وب (WebShop، Mind2Web) و نسل باز.
- چند نوبت، 4K-13K نوبت در هر تقسیم
- یافته های اصلی: استدلال بلند مدت، تصمیم گیری و دستورالعمل های زیر مانع از LLM های OSS برای رسیدن به تجارت هستند.
چه چیزی را اندازه گیری نمی کنند
- هزینه عملیاتی در دنیای واقعی (توکین ها، ساعت دیواری).
- رفتارهای ایمنی در شرایط معادله
- عملکرد در دامنه خود (با استفاده از ارزیابی های خود، درس 30).
- شکست های دم (متوسط معیار، عامل های تولید نگران بدترین 1% هستند).
جایی که مقایسه اشتباه می شود
- Single-number fixation.SWE-بینچ 50٪ به شما کمتر از هزینه P50/P75/P95 + توزیع مرحله ای می گوید.
- Contaminated claims.گزارش SWE-bench بدون ذکر Verified یا SWE-bench+ گمراه کننده است.
- Benchmark-as-development-target.بهینه سازی برای معیار مقایسه با سودآوری تولید متفاوت است.
آن را بسازید
code/main.pyیک آرکای شبیه صندلی SWE برای اسباب بازی را در اختیار دارد:
- وظایف اصلاح خطا مصنوعی (3 وظیفه)
- يه "آژانت" نوشته شده که پیشنهاد اصلاحات ميکنه
- یک آزمایش کننده که FAIL_TO_PASS (بگ اکنون اصلاح شده) و PASS_TO_PASS (هیچ شکسته) را بررسی می کند.
- طبقه بندی کننده سختی به سبک GAIA بر اساس عمق تجزیه سوال.
اجرا کن
python3 code/main.pyمحصول میزان حل در هر کار + در هر مشکل را نشان می دهد و قوانین ارزیابی کننده را مشخص می کند.
ازش استفاده کن
- SWE-bench Verifiedبراي ماموران رمزگاري هميشه نمره هاي تصديق شده رو گزارش کن
- GAIAبراي ماموران عمومي از قسمتي از فهرست رتبه هاي خصوصي استفاده کن
- AgentBenchبرای مقایسه چند محیط زیست.
- Custom evals(درسه 30) برای شکل واقعی محصول شما.
-باده
outputs/skill-benchmark-harness.mdیک آرکای سبک SWE-bench برای هر جفت کار پایه کد با گیتینگ FAIL_TO_PASS / PASS_TO_PASS ایجاد می کند.
تمرینات
- کلاهک بازی را به یک repo واقعی (یک از خود را انتخاب کنید) منتقل کنید. 3 آزمون FAIL_TO_PASS برای اشکال شناخته شده بنویسید.
- در سه کارتون، چند تا قدم عامل در هر رزولوشن؟
- مقاله SWE-bench+ را بخوانید. یک بررسی حل-سرب (نمونه با متن مسئله در برابر تفاوت) را اجرا کنید.
- از سوال هاي GAIA از بخش هاي عمومی دانلود کنين تا بفهمين که يک مامور کلاس GPT-4 چه کاري ميکنه
- به نظر شما، اين موضوع به نظر مياد که "آژنت بينچ" در مورد هر محیطي چه چيزي ميگه؟
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| SWE-bench | "Code agent benchmark" | 2,294 GitHub issues; patch must flip FAIL_TO_PASS tests |
| SWE-bench Verified | "Clean SWE-bench" | 500 human-curated tasks, OpenAI |
| FAIL_TO_PASS | "Fix gate" | Tests previously failing that must pass after the patch |
| PASS_TO_PASS | "No-regression gate" | Tests that were passing and must still pass |
| GAIA | "Generalist benchmark" | 466 human-easy / AI-hard multi-tool questions |
| AgentBench | "Multi-env benchmark" | 8 environments; long-horizon multi-turn |
| Contamination | "Training-set leak" | Benchmark tasks present in model training |
| SWE-bench+ | "Contamination audit" | 32.67% solution leakage found in successful SWE-bench patches |
خواندن بیشتر
- Jimenez et al., SWE-bench (arXiv:2310.06770) شاخص مرجع اصلی
- OpenAI, SWE-bench Verified زیر مجموعه انتخاب شده
- Mialon et al., GAIA (arXiv:2311.12983) معیار عمومی
- Liu et al., AgentBench (arXiv:2308.03688) مجموعه محیط های متعدد
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.