बेंचमार्क: एसवीई-बेंच, GAIA, एजेंटबेंच
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-बेंच (Jimenez et al., ICLR 2024 oral)
- 12 लोकप्रिय पायथन repos से 2,294 वास्तविक GitHub मुद्दों।
- एजेंट प्राप्त करता हैः पूर्व-निश्चित प्रतिबद्ध + प्राकृतिक भाषा समस्या विवरण पर कोडबेस।
- एजेंट का उत्पादनः एक पैच।
- मूल्यांकनकर्ताः पैच लागू करें, रेपो के परीक्षण सूट चलाएं। पैच को PASS_TO_PASS परीक्षणों को तोड़ने के बिना FAIL_TO_PASS परीक्षणों (पूर्व में विफल, अब पास) को फ्लिप करना चाहिए।
एसडब्ल्यूई-एजेंट (यांग एट अल, 2024) ने एजेंट-कंप्यूटर इंटरफेस (फाइल संपादक कमांड, खोज सिंटैक्स मॉडल समझता है) पर जोर देकर रिलीज पर 12.5% तक पहुंच गया।
एसईई-बेंच सत्यापित
OpenAI, अगस्त 2024. मानव-संरक्षित 500-कार्य उपसमूह। अस्पष्ट मुद्दों, अविश्वसनीय परीक्षणों और उन कार्यों को हटा देता है जहां फिक्स अस्पष्ट था। "क्या आपका एजेंट वास्तविक पैच भेजता है?
प्रदूषण
- एसवीई बेंच के 94% से अधिक मुद्दे अधिकांश मॉडल कटऑफ से पहले हैं।
- SWE-bench+32.67% सफल पैच समस्या पाठ में लीक समाधान पाया (मॉडल विवरण में फिक्स देखा), और 31.08% खराब परीक्षण कवरेज के कारण संदिग्ध थे।
- सत्यापित स्वच्छ है लेकिन प्रदूषण मुक्त नहीं है।
व्यावहारिक प्रभावः एक मॉडल जो SWE-बेंच पर 50% स्कोर करता है, SWE-बेंच पर 35% स्कोर कर सकता है। यदि आप SWE-बेंच प्रदर्शन का दावा करते हैं तो हमेशा दोनों की रिपोर्ट करें।
GAIA (Mialon et al., Nov 2023)
- 466 प्रश्न; huggingface.co/gaia-benchmark पर निजी रैंकिंग बोर्ड के लिए 300 प्रश्न बनाए रखे गए।
- डिजाइन दर्शनः "मानव (92%) के लिए अवधारणात्मक रूप से सरल लेकिन एआई के लिए कठिन (प्लगइन के साथ जीपीटी -4): 15%।"
- तर्क, बहु-मौजूदाता, वेब, उपकरण उपयोग का परीक्षण।
- कठिनाई के तीन स्तर; स्तर 3 में विभिन्न तरीकों के बीच लंबी उपकरण श्रृंखला की आवश्यकता होती है।
GAIA आप "सामान्य क्षमता" मापने के लिए चलाते हैं. कोड विशिष्ट बेंचमार्क के साथ भ्रमित न करें.
एजेंटबेंच (लिउ एट अल, आईसीएलआर 2024)
- कोड (बश, डीबी, केजी), खेल (अल्फवर्ल्ड, एलटीपी), वेब (वेबशॉप, माइंड 2 वेब) और ओपन-एंड पीढ़ी के 8 वातावरण।
- मल्टी-टर्न, ~ 4k-13k प्रति विभाजन।
- प्राथमिक निष्कर्षः दीर्घकालिक तर्क, निर्णय लेने और निर्देश निम्नलिखित वाणिज्यिक के लिए ओएसएस एलएलएम की पकड़ के लिए बाधाएं हैं।
क्या इन माप नहीं करते
- वास्तविक दुनिया की परिचालन लागत (टोकन, वॉल-क्लॉक)
- प्रतिकूल परिस्थितियों में सुरक्षा व्यवहार।
- अपने डोमेन पर प्रदर्शन (अपने स्वयं के मूल्यांकन का उपयोग करें, पाठ 30).
- पूंछ विफलता (बेंचमार्क औसत; उत्पादन ऑपरेटरों को सबसे खराब 1% की परवाह है) ।
जहां बेंचमार्किंग गलत हो जाता है
- Single-number fixation.SWE-बेंच 50% आपको P50/P75/P95 लागत + चरण वितरण से कम बताता है।
- Contaminated claims.सत्यापित या एसईई-बेंच+ का उल्लेख किए बिना एसईई-बेंच की रिपोर्ट करना भ्रामक है।
- 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.mdFAIL_TO_PASS / PASS_TO_PASS गेटिंग के साथ किसी भी कोड-बेस-कार्य जोड़े के लिए SWE-बेंच-शैली के हार्नेस का निर्माण करता है।
व्यायाम
- खेल के हर्नल को वास्तविक रेपो पर चलाने के लिए पोर्ट करें (आपका एक चुनें) ज्ञात बग के लिए 3 FAIL_TO_PASS परीक्षण लिखें।
- कदम गिनती मीट्रिक जोड़ें. अपने 3 कार्यों पर, प्रति संकल्प कितने एजेंट कदम?
- 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.