← नवीनतम पेपर
💬 NLP

SHERLOC: Structured Diagnostic Localization for Code Repair Agents

SHERLOC एक प्रशिक्षण-मुक्त (training-free) ढांचा है जो एक रीजनिंग LLM को कॉम्पैक्ट रिपॉजिटरी टूल्स और सेल्फ-रिकवरी के साथ जोड़कर कोड रिपेयर एजेंटों को बेहतर बनाता है ताकि स्टेट-ऑफ-द-आर्ट फॉल्ट लोकलाइजेशन सटीकता प्राप्त की जा सके, जिससे टोकन खपत को कम करते हुए रिपेयर सफलता दर में उल्लेखनीय सुधार होता है।

मूल लेखक: Hovhannes Tamoyan, Sean Narenthiran, Erik Arakelyan, Mira Mezini, Boris Ginsburg

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

मूल लेखक: Hovhannes Tamoyan, Sean Narenthiran, Erik Arakelyan, Mira Mezini, Boris Ginsburg

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

कल्पना कीजिए कि आपके पास एक विशाल, अस्त-व्यस्त पुस्तकालय (एक सॉफ़्टवेयर कोडबेस) है और कोई आपको एक नोट थमाता है: "पेज 42 पर एक टाइपो (लिखने की गलती) है जो कहानी को बिगाड़ रहा है।" आपका काम उस सटीक पेज को ढूंढना, टाइपो को ठीक करना और यह सुनिश्चित करना है कि कहानी फिर से सही चले।

AI की दुनिया में, "एजेंट्स" (स्मार्ट कंप्यूटर प्रोग्राम) यही करने की कोशिश करते हैं। लेकिन SHERLOC पेपर एक बड़ी समस्या की ओर इशारा करता है: ये एजेंट अपनी आधी ऊर्जा और समय सिर्फ टाइपो को खोजने में ही खर्च कर देते हैं, इससे पहले कि वे उसे ठीक करने की कोशिश भी करें। वे पुस्तकालय की गलियों में भटकते हैं, रैंडम किताबें खोलते हैं, रास्ता भटक जाते हैं, और बहुत सारी "दिमागी शक्ति" (कंप्यूटिंग टोकन) बर्बाद करते हैं।

यहाँ बताया गया है कि SHERLOC कैसे इस खेल को बदल देता है, सरल शब्दों में:

1. समस्या: "भटकता हुआ जासूस" (The Wandering Detective)

वर्तमान में, यदि आप किसी AI को बग ठीक करने के लिए कहते हैं, तो वह एक ऐसे जासूस की तरह व्यवहार करता है जिसके पास कोई नक्शा नहीं है। उसे अनुमान लगाना पड़ता है कि कौन सी फ़ाइल खोलनी है, उसे पढ़ना पड़ता है, उसे बंद करना पड़ता है, दूसरी फ़ाइल का अनुमान लगाना पड़ता है, और यह प्रक्रिया दर्जनों बार दोहराई जाती है।

  • लागत: यह "खोज चरण" (search phase) AI के बजट का लगभग 50% खा जाता है।
  • दोष: भले ही AI सही फ़ाइल ढूंढ ले, लेकिन अक्सर वह केवल इतना कहता है, "यह file.py में है।" वह यह नहीं समझाता कि वह क्यों वहां है या इसे कैसे ठीक किया जाए। यह एक जासूस की तरह है जो कहता है, "संदिग्ध रसोई में है," लेकिन कोई सुराग नहीं देता कि वह वहां क्या कर रहा था।

2. समाधान: SHERLOC (द "सुपर-स्लीथ")

लेखकों ने SHERLOC नामक एक नया फ्रेमवर्क बनाया है। इसे एक जासूस को फ्लैशलाइट, मैग्नीफाइंग ग्लास और एक व्यवस्थित नोटबुक देने के रूप में समझें, लेकिन बिना जासूस को उन्हें उपयोग करने के लिए दोबारा प्रशिक्षित (retrain) किए।

  • कोई नया प्रशिक्षण नहीं: SHERLOC के लिए AI को "स्कूल" (fine-tuning) जाने की आवश्यकता नहीं है। यह केवल AI की मौजूदा बुद्धिमत्ता का उपयोग करता है लेकिन उसे बेहतर उपकरण देता है।
  • टूलकिट: बिना किसी उद्देश्य के भटकने के बजाय, SHERLOC चार विशिष्ट, सरल उपकरणों का उपयोग करता है:
    1. View File: एक विशिष्ट पेज को देखना।
    2. Search: पूरे पुस्तकालय में एक विशिष्ट शब्द खोजना।
    3. Tree View: पुस्तकालय की अलमारियों का नक्शा देखना।
    4. Import Tree: कौन सी किताबें अन्य किताबों का संदर्भ देती हैं (dependencies) यह देखना।
  • "सेल्फ-रिकवरी" सुरक्षा जाल: कभी-कभी AI एक लूप में फंस जाता है (एक ही पेज को बार-बार पढ़ना) या अपने निर्देशों में गलती कर देता है। SHERLOC में एक अंतर्निर्मित "सुरक्षा गार्ड" है जो कहता है, "हे, तुम खुद को दोहरा रहे हो! कुछ अलग तरीका आज़माओ," या "तुम बहुत ज़्यादा बोल रहे हो, चलो इसे समाप्त करते हैं।"

3. आउटपुट: एक "डायग्नोस्टिक रिपोर्ट"

यही सबसे बड़ा नवाचार है। जब SHERLOC बग ढूंढ लेता है, तो वह केवल एक फ़ाइल पाथ नहीं देता। वह पाँच विशिष्ट भागों के साथ एक संरचित रिपोर्ट लिखता है:

  1. स्थान स्पष्टीकरण (Location Explanation): "बग यहाँ है।"
  2. मूल कारण (Root Cause): "बग क्यों हो रहा है।"
  3. समाधान विचार (Solution Idea): "इसे ठीक करने की एक योजना।"
  4. निर्भरताएँ (Dependencies): "यह बदलाव इन अन्य हिस्सों को प्रभावित कर सकता है।"
  5. परीक्षण प्रभाव (Testing Impact): "आपको इन विशिष्ट परीक्षणों की जाँच करनी चाहिए।"

उपमा (Analogy): रिपेयर क्रू को केवल एक स्टिकी नोट थमाने के बजाय जिसमें लिखा हो "इंजन ठीक करें", SHERLOC उन्हें एक ब्लूप्रिंट थमाता है जो कहता है: "इंजन पीछे है (स्थान)। पिस्टन जंग के कारण अटक गया है (मूल कारण)। हमें इसे सैंडपेपर से घिसना होगा (समाधान)। सावधान रहें कि ईंधन की लाइन न टकरा जाए (निर्भरताएँ)। फिर इग्निशन का परीक्षण करें (परीक्षण)।"

4. परिणाम: तेज़ और स्मार्ट

इस पेपर का परीक्षण वास्तविक दुनिया की कोडिंग चुनौतियों (SWE-Bench) पर किया गया।

  • सटीकता (Accuracy): SHERLOC ने किसी भी पिछले तरीके की तुलना में सही फ़ाइलें अधिक बार ढूंढीं, यहाँ तक कि बिना किसी विशेष प्रशिक्षण के भी।
  • दक्षता (Efficiency): रिपेयर एजेंटों को SHERLOC की रिपोर्ट के साथ "शुरुआती बढ़त" देकर, एजेंटों ने कोड ठीक करने में 36% कम समय और 23% कम कुल ऊर्जा खर्च की।
  • सफलता दर (Success Rate): क्योंकि एजेंटों के पास एक स्पष्ट मानचित्र और योजना थी, उन्होंने अधिक बग सफलतापूर्वक ठीक किए (औसतन लगभग 6% अधिक)।

5. "क्वालिटी फ़िल्टर" (द बाउंसर)

शोधकर्ताओं ने पाया कि कभी-कभी SHERLOC की रिपोर्ट एकदम सटीक होती है, और कभी-कभी थोड़ी कमजोर।

  • ट्रिक: उन्होंने एक "क्वालिटी फ़िल्टर" (क्लब के बाउंसर की तरह) जोड़ा। यदि रिपोर्ट उच्च-गुणवत्ता वाली है, तो वे रिपेयर एजेंट को उसका उपयोग करने देते हैं। यदि रिपोर्ट निम्न-गुणवत्ता की है, तो वे एजेंट को कहते हैं, "इसे अनदेखा करें, खुद बग खोजें।"
  • महत्व: यह एजेंट को गलत अनुमान से गुमराह होने से रोकता है। यह सुनिश्चित करता है कि "मदद" वास्तव में मददगार है।

सारांश

SHERLOC एक खोए हुए पर्यटक को GPS और ट्रैवल गाइड देने जैसा है।

  • पहले: पर्यटक (AI) शहर में भटकता है, थक जाता है, और दिशाओं के लिए रैंडम लोगों से पूछता है, अक्सर गलत उत्तर मिलता है।
  • बाद में: पर्यटक को एक GPS मिलता है जो कहता है, "यहाँ बाएँ मुड़ें, समस्या बेकरी में है, और यहाँ बताया गया है कि केक को ठीक करने के लिए क्या करना है।"
  • परिणाम: वे गंतव्य तक तेज़ी से पहुँचते हैं, कम ऊर्जा खर्च करते हैं, और एक बेहतर योजना के साथ पहुँचते हैं।

पेपर निष्कर्ष निकालता है कि कोड को प्रभावी ढंग से ठीक करने के लिए, AI को केवल फ़ाइल ढूंढने में ही नहीं, बल्कि समस्या का निदान करने और समाधान समझाने में भी कुशल होना चाहिए।

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

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

Digest आज़माएँ →