EXPEREPAIR: Dual-Memory Enhanced LLM-based Repository-Level Program Repair
ExpeRepair एक नवीन LLM-आधारित फ्रेमवर्क है जो एक दोहरी-स्मृति प्रणाली—जिसमें ठोस मरम्मत प्रदर्शनों के लिए एपिसोडिक मेमोरी और अमूर्त अंतर्दृष्टि के लिए सिमेंटिक मेमोरी शामिल है—का लाभ उठाकर गतिशील रूप से संदर्भ-जागरूक प्रॉम्प्ट तैयार करता है, जिससे ऐतिहासिक मरम्मत ज्ञान का प्रभावी ढंग से पुन: उपयोग करके SWE-Bench Lite और Verified बेंचमार्क पर अत्याधुनिक ओपन-सोर्स प्रदर्शन प्राप्त किया जाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक पुराने, जटिल कार इंजन को ठीक करने की कोशिश कर रहे एक मास्टर मैकेनिक हैं। अतीत में, जब भी कोई नई समस्या आती थी, तो आपको शून्य से शुरुआत करनी पड़ती थी: मैनुअल पढ़ना, अनुमान लगाना कि क्या गलत है, सुधार करने की कोशिश करना और उम्मीद करना कि यह काम कर जाए। यदि आप विफल हो जाते, तो आप बस फिर से प्रयास करते, पिछले अनुभव से सीखी गई बातों को भूलकर।
ExpeRepair उस मैकेनिक को एक सुपर-पावर्ड, दो-भाग वाली मेमोरी सिस्टम देने जैसा है जो मानव मस्तिष्क के काम करने के तरीके से प्रेरित है। शून्य से शुरू करने के बजाय, यह सिस्टम AI को पिछले सुधारों को "याद रखने" और उनसे सीखने में मदद करता है, जिससे यह सॉफ्टवेयर बग्स को ठीक करने में बहुत बेहतर हो जाता है।
यह कैसे काम करता है, इसे सरल अवधारणाओं में यहाँ दिया गया है:
मेमोरी के दो प्रकार
पेपर बताता है कि मानव स्मृति केवल एक बड़ा बर्तन नहीं है; इसके दो अलग-अलग भाग होते हैं। ExpeRepair इसी डिज़ाइन की नकल करता है:
एपिसोडिक मेमोरी (The "Photo Album" - फोटो एल्बम):
- यह क्या है: यह विशिष्ट, ठोस उदाहरणों का एक संग्रह है। इसे पिछले सुधारों की एक स्क्रैपबुक की तरह समझें। इसमें सटीक "पहले और बाद के" फोटो होते हैं: विशिष्ट त्रुटि संदेश (error message), वह सटीक कोड जो टूटा हुआ था, और वह विशिष्ट पैच जिसने उसे ठीक किया।
- यह कैसे मदद करता है: जब एक नया बग आता है, तो सिस्टम इस स्क्रैपबुक को पलटकर पिछले समान मामले को ढूंढता है। "हे, हमने पिछले हफ्ते एक समान टूटा हुआ लाइट स्विच ठीक किया था; चलिए वही पुराना तरीका अपनाते हैं।" यह एक ठोस रेसिपी प्रदान करता है जिसका पालन किया जा सके।
सिमेंटिक मेमोरी (The "Rulebook" - नियम पुस्तिका):
- यह क्या है: यह उन सभी पिछले सुधारों से प्राप्त अमूर्त ज्ञान (abstract wisdom) है। यह विशिष्ट फोटो के बारे में नहीं है, बल्कि सामान्य सिद्धांतों के बारे में है। इसे सरल अंग्रेजी में लिखी गई "सर्वोत्तम प्रथाओं" (Best Practices) या "नियमों" की एक सूची के रूप में सोचें।
- यह कैसे मदद करता है: यह AI को सामान्य सबक सिखाता है, जैसे "जब सुरक्षा संबंधी समस्याओं को ठीक करें, तो हमेशा एज केस (edge cases) की जांच करें" या "यदि कोई फंक्शन कई इनपुट संभालता है, तो सुनिश्चित करें कि आप उन सभी को ठीक करें, न कि केवल उसी एक को जिसका उल्लेख किया गया है।" यह AI को उन नई स्थितियों के अनुकूल होने में मदद करता है जो उसने पहले नहीं देखी हैं।
यह बग्स को कैसे ठीक करता है (कार्यप्रवाह/Workflow)
यह सिस्टम बग को ठीक करने के लिए दो "एजेंटों" (AI वर्कर्स) का उपयोग करता है: एक टेस्ट स्क्रिप्ट लिखने के लिए (यह साबित करने के लिए कि बग मौजूद है) और दूसरा वास्तविक सुधार लिखने के लिए।
- पुराना तरीका: AI एक बग रिपोर्ट प्राप्त करता है, अपने सामान्य प्रशिक्षण के आधार पर सुधार का अनुमान लगाने की कोशिश करता है, और बस सफल होने की उम्मीद करता है। यदि वह विफल होता है, तो वह उन्हीं स्थिर निर्देशों के साथ फिर से प्रयास करता है।
- ExpeRepair का तरीका:
- पीछे मुड़कर देखना: नए बग को ठीक करने से पहले, सिस्टम अपने फोटो एल्बम (एपिसodic Memory) में समान पिछले विफलताओं और सफलताओं की जांच करता है।
- नियमों को पढ़ना: यह अपने नियमों की पुस्तिका (Semantic Memory) को भी चेक करता है कि इस प्रकार की समस्या से संबंधित उच्च-स्तरीय सलाह क्या है।
- डायनेमिक निर्देश: एक कठोर, पूर्व-लिखित निर्देश मैनुअल के बजाय, सिस्टम AI वर्कर के लिए एक कस्टम, "डायनेमिक" प्रॉम्प्ट बनाता है। यह कहता है, "यहाँ नया बग है। यहाँ एक समान बग है जिसे हमने पिछले महीने ठीक किया था (फोटो एल्बम से)। और याद रखें यह नियम जो एज केस को संभालने के बारे में है (रूलबुक से)।"
- सीखना और अपडेट करना: एक बार जब सुधार हो जाता है (या यदि यह विफल भी हो जाता है), तो सिस्टम अनुभव को सहेज लेता है। यह विशिष्ट विवरणों को फोटो एल्बम में जोड़ देता है और सीखे गए सबक का सारांश अगली बार के लिए नियम पुस्तिका में दर्ज कर देता है।
परिणाम
शोधकर्ताओं ने इस सिस्टम का परीक्षण वास्तविक दुनिया के सॉफ्टवेयर बग्स के दो प्रसिद्ध सेटों (जिन्हें SWE-Bench Lite और SWE-Bench Verified कहा जाता है) पर किया।
- स्कोर: एक शक्तिशाली AI मॉडल (Claude 4 Sonnet) का उपयोग करते हुए, ExpeRepair ने कठिन टेस्ट सेट पर 74.6% बग्स को सफलतापूर्वक ठीक किया और हल्के सेट पर 60.3%।
- तुलना: यह उनके द्वारा परीक्षण किए गए सभी ओपन-सोर्स तरीकों में सर्वश्रेष्ठ प्रदर्शन था। इसने SWE-agent, Aider और AutoCodeRover जैसे शीर्ष उपकरणों को भी पीछे छोड़ दिया।
- लागत: इसने इन उच्च स्कोर को AI मॉडल के महंगे, समय लेने वाले रिट्रेनिंग (retraining) की आवश्यकता के बिना प्राप्त किया। इसने केवल अपने पिछले काम को "पढ़कर" सीखा।
यह क्यों महत्वपूर्ण है
पेपर का तर्क है कि वर्तमान AI रिपेयर टूल्स उन छात्रों की तरह हैं जो एक परीक्षा देते हैं, ग्रेड पाते हैं, और फिर अगली परीक्षा से पहले सब कुछ तुरंत भूल जाते हैं। ExpeRepair उस छात्र की तरह है जो एक अध्ययन गाइड रखता है, अपनी गलतियों की समीक्षा करता है, और हर एक समस्या को हल करने के साथ स्मार्ट होता जाता है।
विशिष्ट उदाहरणों (Episodic) को सामान्य ज्ञान (Semantic) के साथ जोड़कर, यह सिस्टम एक फीडबैक लूप बनाता है जहाँ AI सॉफ्टवेयर को ठीक करने में जितना अधिक काम करता है, उतना ही बेहतर होता जाता है, जो ठीक उसी तरह है जैसे मानव डेवलपर्स वास्तव में सीखते हैं और समय के साथ सुधार करते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।