المقاييس: 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: بسيط للبشر، صعب على الذكاء الاصطناعي؛ ثلاثة مستويات صعوبة.
- اسم ثمانية بيئات الوكيل بينش والمنعاز الرئيسي لها لبرامج القانون المفتوحة المصدر.
- قم بإخلاصة نتائج التلوث في مقعد SWE+ وأثرها.
المشكلة
تحدد لك قائمة النتائج النموذج الذي يفوز في مقياس واحد.
- ما إذا كان المعيار المقارن ملوثاً (حلول في بيانات التدريب، تسرب اختبار).
- ما إذا كان المعيار المقارن يقيس ما يهمك (الرمز مقابل التصفح مقابل المعلومات العامة).
- ما إذا كان المقيّم قوياً (تطابقات AST، عمليات التحقق من الحالة، مراجعة البشر).
تعرف على معايير المرجع الثلاثة وأوضاع فشلها قبل أن تعطي رقم.
المفهوم
مقعد SWE (Jimenez et al., ICLR 2024 شفهي)
- 2294 مشكلة حقيقية في GitHub من 12 مخزن Python شعبية.
- الوكيل يحصل: قاعدة الشفرة في التزام المثبت + وصف مشكلة اللغة الطبيعية.
- المُساعد ينتج: ملصق.
- المقيّم: تطبيق المصلحة، تشغيل مجموعة اختبار الاستعمال. يجب أن يُرجع المصلحة اختبارات FAIL_TO_PASS (الفاشلة سابقاً، تمت الآن) دون كسر اختبارات PASS_TO_PASS.
وبلغت SWE-agent (Yang et al., 2024) 12.5% في الإفراج عن طريق التأكيد على واجهات الوكيل والكمبيوتر (أوامر محرر الملفات، وسلسلة البحث التي يفهمها النموذج).
مقعد SWE تم التحقق منه
افتتاح الآي، أغسطس 2024. مجموعة فرعية من 500 مهمة تم تنظيفها من قبل البشر. يزيل القضايا الغامضة، والاختبارات غير الموثوقة، والمهام التي لم يكن الإصلاح واضحًا. المعيار الأساسي لـ "هل يقوم وكيلك بنقل معالجات حقيقية؟"
التلوث
- أكثر من 94% من قضايا مقعد SWE قبل معظم قطع النماذج.
- SWE-bench+وجدت 32.67% من المكملات الناجحة تسرب حلول في نص القضية (الموديل رأى الإصلاح في الوصف) ، و 31.08% كانت مشبوهة بسبب ضعف تغطية الاختبار.
- المحقق هو أكثر نظافة ولكن ليس خالية من التلوث.
الإشارة العملية: قد يحصل نموذج يحصل على 50٪ على مقعد SWE على 35٪ على مقعد SWE +. دائماً ما تقرر كلتا إذا كنت تدعي أداء مقعد SWE.
(ميلون وزملاءه، نوفمبر 2023)
- 466 سؤال، 300 تم الاحتفاظ به في قائمة الدرجات الخاصة على huggingface.co/gaia-benchmark.
- فلسفة التصميم: "بسيطة مفهومية للبشر (92٪) ولكن صعبة على الذكاء الاصطناعي (GPT-4 مع المكونات التضخمية: 15٪). "
- اختبارات التفكير، التنقل المتعدد، شبكة الإنترنت، استخدام الأدوات.
- ثلاثة مستويات صعوبة؛ مستوى 3 يتطلب سلسلة أدوات طويلة عبر الطرق.
GAIA هو ما تقوم به لقياس "قدرة عامة". لا تخلط مع مقارنات محددة للرمز.
العميل بينش (Liu et al., ICLR 2024)
- 8 بيئات عبر البرمجة (Bash، DB، KG) ، والألعاب (Alfworld، LTP) ، والويب (WebShop، Mind2Web) ، والجيل المفتوح.
- عدة جولات، ~ 4K-13K جولات لكل تقسيم.
- النتيجة الأساسية: التفكير الطويل الأجل، اتخاذ القرارات، والتدريس التالي هي الحواجز لشركات التدريب العقاري في OSS التي تتعقب التجارية.
ما لا يقيسونه
- تكلفة تشغيل العالم الحقيقي (الرموز، ساعة الحائط).
- سلوك آمن في ظروف معادلة
- الأداء على مجالك (استخدم تقييماتك الخاصة، الدروس 30).
- فشل الذيل (متوسط المعايير؛ يقلق المشغلون عن أسوأ 1%).
حيث يذهب التقييم الموازي بشكل خاطئ
- Single-number fixation.مقعد SWE 50% يخبرك أقل من تكلفة P50/P75/P95 + توزيع خطوة.
- Contaminated claims.الإبلاغ عن مقعد SWE دون ذكر Verified أو مقعد SWE+ يضلل.
- 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 لأي زوج من المهام القائمة على الرمز مع إغلاق FAIL_TO_PASS / PASS_TO_PASS.
التمارين
- قم بتحويل حزمة الألعاب لتشغيلها على جهاز إعادة التأمين الحقيقي (اختر واحد منك) وكتب 3 اختبارات FAIL_TO_PASS للفشات المعروفة.
- إضافة مقياس الحد من المهام الثلاثة، كم خطوة العميل لكل قرار؟
- اقرأ ورقة SWE-bench +. قم بتنفيذ فحص تسرب الحل (تطابق النمط مع نص القضية مقابل الاختلاف).
- تحميل سؤال من "الـ"GAIA" من "التقسيم العام" تتبع ما الذي سيفعله عميل من فئة "جبت-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.