Benchmark · coding

Commit-0

0 परिणाम 0 मॉडल

Commit-0 यह मापता है कि क्या कोई कोडिंग एजेंट केवल विनिर्देश के आधार पर एक पूरी Python लाइब्रेरी शून्य से लागू कर सकता है — विनिर्देश यानी docstring सहित फ़ंक्शन और क्लास के हस्ताक्षर तथा एक छिपा हुआ यूनिट-टेस्ट सूट। मुख्य मीट्रिक पास होने वाले यूनिट-टेस्ट का अंश है।

और पढ़ें
उदाहरण
किसी वास्तविक Python लाइब्रेरी का ढाँचा दिया जाता है — हर मॉड्यूल, क्लास और फ़ंक्शन docstring सहित टाइप-किए स्टब के रूप में मौजूद है पर उसका बॉडी खाली है; इन सबको इस तरह लागू करना होता है कि लाइब्रेरी का अपना टेस्ट सूट पूरी तरह पास हो जाए (उदाहरण के लिए, किसी छोटी लाइब्रेरी के पार्सिंग, सीरियलाइज़ेशन और यूटिलिटी फ़ंक्शनों को उनके docstring से भरना)।
स्कोरिंग
स्कोर यूनिट-टेस्ट पास दर है: हर लाइब्रेरी का pytest सूट एक पृथक परिवेश में चलाया जाता है और लाइब्रेरी को पास हुए टेस्ट का अंश मिलता है, जिसे बेंचमार्क की 54 लाइब्रेरियों पर समेकित किया जाता है। कुछ कॉन्फ़िगरेशन में कोड को lint और टाइप जाँच भी पास करनी होती है।
सत्यापन
परिणाम को एक पुनरुत्पादनीय Docker कंटेनर के भीतर छिपे टेस्ट सूट को चलाकर स्वीकार किया जाता है — pytest ही निर्णायक है, इसलिए टेस्ट तभी गिना जाता है जब वह सचमुच पास हो, किसी संदर्भ-आउटपुट से मिलान किए बिना। एजेंट-रन टेस्ट और lint की प्रतिक्रिया पर पुनरावृत्ति कर सकते हैं, पर अंतिम स्कोरिंग सूट को एक साफ़ checkout से फिर से चलाती है।
यह क्यों मायने रखता है
यह किसी एक फ़ंक्शन या एकल फ़ाइल की जनरेशन (HumanEval, SWE-bench) से आगे बढ़कर विनिर्देश से पूरी लाइब्रेरी के संश्लेषण तक जाता है, और दीर्घ-क्षितिज योजना, मॉड्यूलों के बीच संगति तथा वास्तविक API अनुबंध को पूरा करने की क्षमता की परख करता है — जो असली सॉफ़्टवेयर जारी करने के कहीं अधिक निकट है।
हल किया गया उदाहरण
कार्य
लाइब्रेरी के ढाँचे के भीतर एक फ़ंक्शन का स्टब, जिसे इस तरह लागू करना है कि उसके छिपे टेस्ट पास हो जाएँ: ```python def parse_version(text: str) -> tuple[int, int, int]: """Parse a semantic version 'MAJOR.MINOR.PATCH' into a tuple of ints. Raises ValueError if text is not three dot-separated integers. """ raise NotImplementedError ```
समाधान
```python
def parse_version(text: str) -> tuple[int, int, int]:
    parts = text.split(".")
    if len(parts) != 3:
        raise ValueError(f"invalid version: {text!r}")
    major, minor, patch = (int(p) for p in parts)
    return (major, minor, patch)
```
व्याख्या
बॉडी docstring के अनुबंध का पालन करती है: यह «.» पर विभाजित करती है, जो ठीक तीन भागों में न हो उसे ValueError के साथ अस्वीकार करती है, और हर भाग को int में बदलती है। ग्रेडिंग सैंडबॉक्स में लाइब्रेरी का छिपा pytest सूट चलाती है, और यह आइटम तभी पास होता है जब parse_version के बारे में सभी अभिकथन सत्य हों।

इस benchmark के लिए अभी तक कोई सत्यापित स्कोर रिपोर्ट नहीं किया गया है।