CodeVetter का v1 बेंचमार्क 27 सिंथेटिक मामलों को एक AI-संचालित कोड-रिव्यू पाइपलाइन के माध्यम से चलाता है और यह रिकॉर्ड करता है कि टूल प्लांट किए गए बग्स (bugs) को पकड़ पाता है या नहीं। इसके बाद यह प्रत्येक मामले के लिए पास या फेल का हिसाब लगाता है।

यह बेंचमार्क क्यों महत्वपूर्ण है

यह परीक्षण एक सीमित प्रश्न पूछता है: क्या कोई दिया गया रिव्यूअर उन सटीक दोषों (defects) को पहचान सकता है जिन्हें बेंचमार्क डिजाइनरों ने स्निपेट्स (snippets) के इस निश्चित सेट में शामिल किया है? डेवलपर्स परिणाम का उपयोग इश्यू कवरेज (issue coverage) की त्वरित जांच के रूप में कर सकते हैं। चूंकि रिपॉजिटरी में टास्क पैकेज और स्कोरिंग स्क्रिप्ट शामिल हैं, इसलिए कोई भी इस टेस्ट को दोबारा चला सकता है और वही आंकड़े प्राप्त कर सकता है।

यह बेंचमार्क क्या सिद्ध नहीं करता है

27 मामलों वाला सिंथेटिक सुइट उन हजारों पुल रिक्वेस्ट (pull requests) का विकल्प नहीं है जिन्हें एक टीम रोजाना संभालती है। यह बेंचमार्क इनके बारे में कुछ नहीं कहता:

  • वास्तविक दुनिया की विविधता – यह केवल कुछ भाषाओं और बग श्रेणियों की एक सीमित रेंज को कवर करता है।
  • प्रदर्शन (Performance) – यह समय या कंप्यूट-लागत (compute-cost) का कोई माप प्रदान नहीं करता है।
  • कोड बेस में विश्वसनीयता – लाइव-रिपॉजिटरी टेस्टिंग के बिना हम यह नहीं जान सकते कि टूल प्रोडक्शन में सूक्ष्म दोषों को छोड़ देगा या फॉल्स पॉजिटिव (false positives) उत्पन्न करेगा।

प्रकाशित परिणामों को इंफ्रास्ट्रक्चर फाइलों और भविष्य के "व्यापक, यथार्थवादी डेटा" के वादों के साथ मिलाना एक ऐसा मार्केटिंग नैरेटिव बनाता है कि यह एकल स्कोर प्रोडक्शन-रेडी क्षमता का प्रतिनिधित्व करता है, जबकि डेटा इसका समर्थन नहीं करता है।

यह बेंचमार्क व्यापक टेस्टिंग इकोसिस्टम में कैसे फिट बैठता है

CodeVetter की तरह रिकग्निशन-स्टाइल (recognition-style) बेंचमार्क उस सतह क्षेत्र (surface area) को मैप करते हैं जिसे एक टूल संभाल सकता है। वे SWE-bench जैसे फंक्शनल बेंचमार्क के पूरक हैं, जो यह जांचते हैं कि क्या AI-जनरेटेड पैच वास्तव में मौजूदा कोड बेस में किसी वास्तविक समस्या को हल करता है। साथ मिलकर वे एक पूर्ण तस्वीर देते हैं: कवरेज बनाम प्रभावशीलता (coverage versus effectiveness)।

एक अच्छे एजेंट बेंचमार्क को पूरे स्टैक को उजागर करना चाहिए:

  1. डेटासेट – रॉ इनपुट और अपेक्षित आउटपुट।
  2. प्रत्येक मामले का दस्तावेजीकरण – प्रत्येक टेस्ट के लिए एक पेज जो बग, सही फिक्स और टूल की प्रतिक्रिया दिखाता है।
  3. रिव्यूअर आउटपुट – AI द्वारा दिए गए सटीक कमेंट्स या सुझाव।
  4. स्कोरिंग कार्यप्रणाली – मैचों का निर्णय कैसे लिया जाता है, जिसमें आंशिक क्रेडिट (partial credit) के लिए सहनशीलता भी शामिल है।
  5. पुनरुत्पादकता निर्देश (Reproducibility instructions) – वर्जन पिन, हार्डवेयर विवरण और टेस्ट को दोबारा चलाने के लिए स्क्रिप्ट।

केवल तभी जब ये सभी हिस्से पारदर्शी हों, हम एक एकल एग्रीगेट स्कोर पर भरोसा कर सकते हैं।

बेंचमार्क द्वारा स्वयं सूचीबद्ध सीमाएं

  • सिंथेटिक मामले, जो लाइव रिपॉजिटरी से नहीं लिए गए हैं।
  • सीमित भाषा और बग-प्रकार का चयन।
  • कोई समय या लागत डेटा नहीं, इसलिए दक्षता अज्ञात है।
  • सटीकता की सीमाएं जो सीमावर्ती विफलताओं (borderline failures) को छिपा सकती हैं।

आगे क्या देखें

CodeVetter के लिए—और AI रिव्यूअर्स का उपयोग करने वाले किसी भी व्यक्ति के लिए—अगला कदम बड़े, अधिक विविध कॉर्पोरा (corpora) पर बार-बार प्रमाण देना है। इसका अर्थ है वास्तविक पुल-रिक्वेस्ट स्ट्रीम पर परिणाम प्रकाशित करना, लेटेंसी (latency) और कंप्यूट खपत की रिपोर्ट करना, और विफलता मोड (failure modes) को श्रेणी के अनुसार विभाजित करना। जब तक ऐसा डेटा सामने नहीं आता, तब तक 27-मामलों वाले स्कोर को एक शुरुआती संकेतक के रूप में मानें, न कि तैयारी की गारंटी के रूप में।

निष्कर्ष (Takeaway): एक बेंचमार्क जो आपको केवल यह बताता है कि क्या कोई टूल कुछ पहले से लिखे गए बग्स को पहचान सकता है, वह सैनिटी-चेकिंग (sanity-checking) के लिए उपयोगी है, लेकिन यह प्रमाणित नहीं करता है कि टूल प्रोडक्शन कोड रिव्यू की अधिक जटिल और लागत-संवेदनशील वास्तविकता में टिक पाएगा।