Benchmark · agentic
SWE-Lancer
SWE-Lancer, Upwork से लिए गए 1488 वास्तविक फ्रीलांस सॉफ़्टवेयर-इंजीनियरिंग कार्यों का एक बेंचमार्क है, जिनका वास्तविक भुगतान कुल 10 लाख डॉलर (USD) है; यह मापता है कि इन्हें पूरी तरह हल करके कोई मॉडल इस राशि में से कितना «कमा» सकता है, और स्कोर कुल कमाए गए USD (और हल किए गए कार्यों के अनुपात) के रूप में दिया जाता है।
और पढ़ें
- उदाहरण
- फ्रीलांस-शैली का एक बग-फिक्स कार्य: एक वास्तविक (GitHub-शैली के) issue और ऐप के पूरे repository को देखते हुए, मॉडल को एक patch बनाना होता है जो टूटे हुए यूज़र फ़्लो को फिर से काम करने लायक बना दे (उदाहरण के लिए बिल बाँटने या भुगतान की स्क्रीन), जिसे end-to-end टेस्ट से जाँचा जाता है। दूसरी धारा प्रबंधन कार्य देती है: कई इंजीनियरिंग प्रस्तावों में से सबसे अच्छा चुनना।
- स्कोरिंग
- हर कार्य के साथ वह वास्तविक USD कीमत जुड़ी होती है जो Upwork पर उसके लिए चुकाई गई थी (लगभग 50 से 32,000 डॉलर तक)। कोई मॉडल किसी कार्य की पूरी कीमत तभी कमाता है जब उसका समाधान पास हो जाए — एक कार्य के भीतर आंशिक अंक नहीं मिलते। मुख्य मीट्रिक 10 लाख डॉलर के पूल में से कमाए गए कुल डॉलर हैं, साथ ही हल किए गए कार्यों का प्रतिशत; दोनों धाराएँ (IC कोडिंग और प्रबंधन) अलग-अलग भी रिपोर्ट की जाती हैं।
- सत्यापन
- कोडिंग (IC) कार्यों का मूल्यांकन end-to-end टेस्ट (Playwright) से होता है, जो वास्तविक यूज़र क्रियाओं का अनुकरण करते हैं, पेशेवर इंजीनियरों द्वारा लिखे और सत्यापित किए गए होते हैं और एक अलग-थलग Docker वातावरण में चलते हैं; मॉडल के patch को कार्य के सभी टेस्ट पास करने होते हैं, और मॉडल उन्हें न देख सकता है और न बदल सकता है। प्रबंधन कार्य तब स्वीकार होते हैं जब मॉडल वही प्रस्ताव चुने जो असल में नियुक्त करने वाले मैनेजर ने चुना था।
- यह क्यों मायने रखता है
- यह मॉडल के प्रदर्शन को एक वास्तविक प्रोडक्शन कोडबेस पर, बाज़ार द्वारा तय कीमत वाले, आर्थिक रूप से वास्तविक काम से जोड़ता है, न कि कृत्रिम या स्व-मूल्यांकित समस्याओं से। चूँकि मूल्यांकन पूरे end-to-end यूज़र फ़्लो का उपयोग करता है (अलग-थलग फ़ंक्शन-स्तरीय सुधार नहीं) और साथ में एक प्रबंधन-निर्णय धारा भी है, यह जाँचता है कि अग्रणी मॉडल वह पूर्ण, मूल्यवान इंजीनियरिंग कर सकते हैं या नहीं जिसके लिए लोग सचमुच फ्रीलांसरों को भुगतान करते हैं।
हल किया गया उदाहरण
कार्य
IC SWE कार्य (उदाहरणस्वरूप, ~$250): जब कोई राशि टाइप करने से पहले किसी प्रतिभागी को हटा दिया जाता है, तो ऐप की «Split Bill» स्क्रीन कुल योग NaN दिखाती है। पूरे repository वाले एक Docker कंटेनर में काम करते हुए, बग को ठीक करें ताकि दिखाया गया कुल योग वापस $0.00 पर आ जाए; एक छिपा हुआ end-to-end टेस्ट इसी यूज़र फ़्लो को दोहराता है।
समाधान
```diff
function getSplitTotal(amounts) {
- return amounts.reduce((sum, a) => sum + a.value, 0);
+ return amounts.reduce((sum, a) => sum + (Number(a?.value) || 0), 0);
}
```
व्याख्या
किसी प्रतिभागी को हटाने से एक ऐसी entry बच जाती है जिसका value undefined होता है, इसलिए a.value चालू योग को NaN बना देता है; हर मान को Number(...) || 0 से बदलने पर गायब राशि छूट जाती है और कुल योग $0.00 के रूप में दिखता है। मूल्यांकन बाइनरी है — patch को कार्य की पूरी USD कीमत तभी मिलती है जब वह उस कार्य के हर end-to-end टेस्ट को पास करे, जो वास्तविक यूज़र फ़्लो पर चलाए जाते हैं।
| तारीख़ | मॉडल | स्कोर | स्रोत |
|---|---|---|---|
| 2025-03-05 | GPT-4.5 | 32.6% | OpenAI ने ChatGPT Plus के लिए अपना सबसे बड़ा मॉडल GPT-4.5 जारी किया |