← नवीनतम पेपर
🤖 AI

AACR-Bench: Evaluating Automatic Code Review with Holistic Repository-Level Context

यह शोध पत्र AACR-Bench प्रस्तुत करता है, जो ऑटोमेटेड कोड रिव्यू के लिए एक व्यापक, बहुभाषी रिपॉजिटरी-स्तरीय बेंचमार्क है, जो डिफेक्ट कवरेज को महत्वपूर्ण रूप से विस्तारित करने और लार्ज लैंग्वेज मॉडल्स के मूल्यांकन के लिए एक अधिक कठोर मानक स्थापित करने के लिए एक AI-सहायता प्राप्त, विशेषज्ञ-सत्यापित एनोटेशन पाइपलाइन का उपयोग करता है।

मूल लेखक: Lei Zhang, Yongda Yu, Minghui Yu, Xinxin Guo, Zhengqi Zhuang, Guoping Rong, Dong Shao, Haifeng Shen, Hongyu Kuang, Zhengfeng Li, Boge Wang, Guoan Zhang, Bangyu Xiang, Xiaobin Xu

प्रकाशित 2026-02-02
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Lei Zhang, Yongda Yu, Minghui Yu, Xinxin Guo, Zhengqi Zhuang, Guoping Rong, Dong Shao, Haifeng Shen, Hongyu Kuang, Zhengfeng Li, Boge Wang, Guoan Zhang, Bangyu Xiang, Xiaobin Xu

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक विशाल पब्लिशिंग हाउस में एक सीनियर एडिटर हैं। आपका काम प्रिंट में जाने से पहले पांडुलिपियों (कोड) की समीक्षा करना है। आपके पास एक नया सहायक है, एक AI, जो दावा करता है कि वह किसी भी इंसान से बेहतर टाइपो, प्लॉट होल और फॉर्मेटिंग त्रुटियों को पकड़ सकता है।

इस AI का परीक्षण करने के लिए, आपको एक "फाइनल एग्जाम" की आवश्यकता है। यही वह चीज़ है जिसके बारे में पेपर AACR-Bench है: AI कोड समीक्षकों के लिए एक बेहतर, अधिक निष्पक्ष और अधिक यथार्थवादी फाइनल एग्जाम बनाना।

यहाँ सरल उपमाओं (analogies) का उपयोग करके पेपर का विवरण दिया गया है:

1. समस्या: पुराने एग्जाम दोषपूर्ण थे

लेखकों का तर्क है कि AI कोड समीक्षकों के लिए पिछले परीक्षण दो विशिष्ट तरीकों से टूटे हुए थे:

  • "शोर वाला उत्तर कुंजी" (Noisy Answer Key) की समस्या: कल्पना कीजिए कि एक टेस्ट को ग्रेड कर रहे हैं जहाँ "सही उत्तर" केवल छात्रों द्वारा अपने स्वयं के होमवर्क के हाशिए में लिखे गए यादृच्छिक नोट्स थे। कभी-कभी छात्रों ने गलतियों को छोड़ दिया, और कभी-कभी उन्होंने ऐसी चीजें लिखीं जो वास्तव में त्रुटियां नहीं थीं। पुराने बेंचमार्क इन कच्चे, अव्यवस्थित नोट्स का उपयोग "सत्य" के रूप में करते थे। यदि AI ने एक बग मिस कर दिया जिसे मानव छात्र ने भी मिस कर दिया था, तो AI को पास होने का ग्रेड मिल जाता था, भले ही वह त्रुटि खोजने में विफल रहा हो।

    • समाधान: लेखकों ने एक नई उत्तर कुंजी बनाई जिसमें 80 वरिष्ठ सॉफ्टवेयर इंजीनियरों (सुपर-विशेषज्ञों) ने हर एक लाइन की दोबारा जांच की। उन्होंने छिपे हुए बग्स को खोजने के लिए अन्य AI का भी उपयोग किया। इसने ज्ञात त्रुटियों की संख्या को 285% तक बढ़ा दिया, जिससे परीक्षा बहुत कठिन और अधिक सटीक हो गई।
  • "आंखों पर पट्टी" (Blindfold) की समस्या: कल्पना कीजिए कि आप एक जासूस को अपराध सुलझाने के लिए कह रहे हैं, लेकिन आप उन्हें केवल एक कमरा दिखाते हैं, और बाकी घर छिपा देते हैं। कई कोड बग इसलिए होते हैं क्योंकि अलग-अलग फाइलें एक-दूसरे से कैसे बात करती हैं (जैसे कि अध्याय 1 का एक पात्र अध्याय 10 के कथानक को कैसे प्रभावित करता है)। पुराने टेस्ट केवल AI को बदली गई कोड की विशिष्ट पंक्तियाँ दिखाते थे, जिससे उन्हें बाकी का "घर" (रिपॉजिटरी) देखने से रोक दिया जाता था।

    • समाधान: AACR-Bench AI को पूरा घर देता है। यह पूरे प्रोजेक्ट का पूरा संदर्भ प्रदान करता है, जिसमें सभी संबंधित फाइलें शामिल हैं, ताकि AI देख सके कि एक कमरे में किया गया बदलाव बगल के किचन को कैसे प्रभावित करता है।

2. नया एग्जाम: AACR-Bench

लेखकों ने एक विशाल, मल्टी-लैंग्वेज टेस्ट सुइट बनाया जिसे AACR-Bench कहा जाता है।

  • दायरा (Scope): यह 10 अलग-अलग प्रोग्रामिंग भाषाओं (जैसे Python, Java, C++, आदि) को कवर करता है, न कि केवल एक को। यह AI को केवल अंग्रेजी के बजाय फ्रेंच, स्पेनिश और जर्मन साहित्य पर परखने जैसा है।
  • सामग्री: इसमें 200 वास्तविक दुनिया के "पुल रिक्वेस्ट" (कोड परिवर्तन) और 1,500 से अधिक विशिष्ट समीक्षा टिप्पणियाँ (review comments) शामिल हैं।
  • "संदर्भ" स्तर (Context Levels): उन्होंने कठिनाई के आधार पर प्रश्नों को वर्गीकृत किया कि आपको कितने संदर्भ की आवश्यकता है:
    • Diff Level: केवल बदली गई लाइनों को देखना (आसान)।
    • File Level: पूरी फाइल को देखने की आवश्यकता (मध्यम)।
    • Repo Level: बग को समझने के लिए पूरे प्रोजेक्ट को देखने की आवश्यकता (कठिन)।

3. परिणाम: क्या हुआ जब उन्होंने AI का परीक्षण किया?

लेखकों ने इस नए, कठिन एग्जाम पर शीर्ष AI मॉडल (जैसे GPT-5, Claude, और अन्य) का परीक्षण किया। उन्होंने कुछ आश्चर्यजनक चीजें पाईं:

  • "एजेंट" बनाम "स्कैनर":

    • पारंपरिक AI (द स्कैनर): ये मॉडल कोड को पढ़ते हैं और टिप्पणियों की एक लंबी सूची निकालते हैं। वे कई संभावित मुद्दों को पाते हैं (हाई रिकॉल) लेकिन अक्सर उनमें बहुत सारी निरर्थक बातें या झूठी चेतावनियाँ (false alarms) शामिल होती हैं (लो प्रिसिजन)। यह एक सुरक्षा गार्ड की तरह है जो हर बार बिल्ली के गुजरने पर "घुसपैठिया!" चिल्लाता है।
    • एजेंट AI (द डिटेक्टिव): ये मॉडल मनुष्यों की तरह व्यवहार करते हैं। वे "सोच" सकते हैं, प्रश्न पूछ सकते हैं, और अपने आप फाइलों को खोज सकते हैं। उन्होंने कुल मिलाकर कम मुद्दे पाए, लेकिन जो भी वे पाते थे, वे आमतौर पर बहुत सटीक (हाई प्रिसिजन) होते थे। हालांकि, वे कभी-कभी इतने बड़े चित्र पर ध्यान केंद्रित हो जाते थे कि वे अपने सामने मौजूद स्पष्ट टाइपो को भी मिस कर देते थे।
  • "संदर्भ" का विरोधाभास (The Context Paradox):

    • लेखकों ने पाया कि AI को अधिक जानकारी देने से हमेशा मदद नहीं मिलती।
    • कुछ भाषाओं (जैसे Python या C#) के लिए, AI को पूरे प्रोजेक्ट का संदर्भ देने से वह भ्रमित हो गया, जिससे उसका प्रदर्शन वास्तव में खराब हो गया। यह एक शेफ को बहुत अधिक सामग्री देने जैसा था; वे अभिभूत हो गए और एक खराब व्यंजन बना दिया।
    • अन्य भाषाओं (जैसे Go या Java) के लिए, अतिरिक्त संदर्भ ने AI को उन जटिल समस्याओं को हल करने में मदद की जिन्हें वह अकेले हल नहीं कर सकता था।
  • भाषा पूर्वाग्रह (Language Bias):

    • AI कुछ भाषाओं की समीक्षा करने में बहुत बेहतर था और कुछ में काफी संघर्ष करता था। वह Python और Java में "सुपर-जीनियस" था लेकिन C और Rust के साथ काफी संघर्ष करता था। लेखक सुझाव देते हैं कि ऐसा इसलिए है क्योंकि AI को लोकप्रिय भाषाओं के लिए बहुत अधिक डेटा पर प्रशिक्षित किया गया था, जिससे वह अन्य भाषाओं की बारीकियों के मामले में "अनपढ़" रह गया।

4. बड़ा निष्कर्ष (The Big Takeaway)

लेखक निष्कर्ष निकालते हैं कि हम केवल यह नहीं कह सकते कि "AI कोड रिव्यू में अच्छा है" या "AI बुरा है।" यह पूरी तरह से निर्भर करता है:

  1. भाषा पर: क्या यह Python है या C?
  2. संदर्भ पर: क्या हम AI को केवल परिवर्तन दिखाते हैं, या पूरा प्रोजेक्ट?
  3. रणनीति पर: क्या हम एक "स्कैनर" (पारंपरिक) का उपयोग कर रहे हैं, या एक "डिटेक्टिव" (एजेंट) का?

संक्षेप में, पुराने तरीके से AI का परीक्षण करना एक टूटी हुई उत्तर कुंजी और आंखों पर पट्टी वाले छात्र को ग्रेड देने जैसा था। नया AACR-Bench आंखों से पट्टी हटा देता है, उत्तर कुंजी को ठीक करता है, और हमें दिखाता है कि हालांकि AI स्मार्ट हो रहा है, फिर भी वह बहुत अधिक जानकारी से भ्रमित हो जाता है और उन भाषाओं के साथ संघर्ष करता है जिनका उसने पर्याप्त अध्ययन नहीं किया है। कोड रिव्यू का भविष्य केवल AI को स्मार्ट बनाने के बारे में नहीं है; यह उसे यह सिखाने के बारे में है कि कोड को कैसे देखना है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →