Kozuchi Agent: A Language-Agnostic Open-Weight Agent for Software Repair
कोज़ुची एजेंट (Kozuchi Agent) एक भाषा-अज्ञेय (language-agnostic), ओपन-वेट सॉफ्टवेयर रिपेयर सिस्टम है जो SWE-bench Verified और Multi-SWE-bench बेंचमार्क पर बिना फाइन-ट्यूनिंग के अत्याधुनिक प्रदर्शन प्राप्त करने के लिए एक निरंतर-अवस्था (persistent-state), CI-संचालित पाइपलाइन का लाभ उठाता है, जो यह प्रदर्शित करता है कि इसकी शेष सीमाएं मुख्य रूप से सिमेंटिक शुद्धता और चयन त्रुटियों से उत्पन्न होती हैं न कि फॉर्मेटिंग या प्रोप्रायटरी मॉडल एक्सेस से।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
सॉफ्टवेयर इंजीनियरिंग की विशाल और जटिल दुनिया में, कोड वह आधार है जिस पर आधुनिक जीवन निर्मित है, फिर भी यह टूटने के प्रति संवेदनशील है। जब कोई प्रोग्राम खराब होता है, तो वह त्रुटि का वर्णन करने वाली एक रिपोर्ट बनाता है, और फिर एक मानव डेवलपर को समस्या का निदान करना होता है, हजारों पंक्तियों के टेक्स्ट के भीतर दोष का पता लगाना होता है, और एक ऐसा सुधार लिखना होता है जो समस्या को ठीक करे बिना किसी अन्य चीज़ को खराब किए। यह प्रक्रिया धीमी, कठिन और महंगी है। हाल ही में, आर्टिफिशियल इंटेलिजेंस की एक नई पीढ़ी उभरी है जो इन रिपोर्टों को पढ़ सकती है और स्वयं सुधार लिखने का प्रयास कर सकती है। ये सिस्टम, जिन्हें अक्सर एजेंट कहा जाता है, डिजिटल प्रशिक्षुओं (apprentices) की तरह कार्य करते हैं जो कंप्यूटर के फ़ाइल सिस्टम को नेविगेट कर सकते हैं, परीक्षण चला सकते हैं और कोड को संपादित कर सकते हैं। हालाँकि, इन एजेंटों को लंबे समय तक विश्वसनीय रूप से काम करने के लिए सिखाना एक बड़ी बाधा रही है। वे अक्सर विवरणों में खो जाते हैं, पिछली चरणों में सीखी गई बातों को भूल जाते हैं, या कोड को ठीक करने के लिए आवश्यक उपकरणों का उपयोग करते समय गलतियाँ करते हैं। शोधकर्ताओं के लिए चुनौती एक ऐसा सिस्टम बनाने की रही है जो इन डिजिटल श्रमिकों को केंद्रित, संगठित और जवाबदेह बनाए रखे, जिससे वे निरंतर मानवीय पर्यवेक्षण के बिना जटिल समस्याओं को हल कर सकें।
फूजीत्सु रिसर्च (Fujitsu Research) के शोधकर्ताओं की एक टीम ने 'कोज़ुची एजेंट' (Kozuchi Agent) नामक एक प्रणाली बनाकर इस चुनौती का समाधान किया है। उनका कार्य आर्टिफिशियल इंटेलिजेंस के एक विशिष्ट प्रकार पर केंद्रित है जिसे नए डेटा पर विशेष प्रशिक्षण की आवश्यकता नहीं है, बल्कि इसके बजाय यह अपने व्यवहार को निर्देशित करने के लिए एक सावधानीपूर्वक डिज़ाइन किए गए ढांचे (framework) पर निर्भर करता है। शोधकर्ताओं ने एक डिजिटल वातावरण बनाया है जहाँ एजेंट स्पष्ट रूप से परिभाषित चरणों में कार्य करता है। एजेंट को स्वतंत्र रूप से भटकने देने के बजाय, सिस्टम उसे चरणों के एक क्रम के माध्यम से आगे बढ़ने के लिए मजबूर करता है: पहले त्रुटि को दोहराना (reproduce) ताकि पुष्टि की जा सके कि वह मौजूद है, फिर समस्या के सटीक स्रोत का पता लगाना, और अंत में सुधार लिखना और उसका परीक्षण करना। प्रत्येक चरण में, एजेंट को अगले चरण पर जाने से पहले एक विशिष्ट परिणाम प्रस्तुत करना होता है, और सिस्टम एजेंट द्वारा किए गए हर कार्य का एक स्थायी रिकॉर्ड रखता है। यह संरचना एजेंट को भ्रमित होने या एक ही गलती को बार-बार दोहराने से रोकती है, जिससे एक अराजक खोज एक अनुशासित और ऑडिट योग्य प्रक्रिया में बदल जाती है।
टीम ने इस प्रणाली का परीक्षण वास्तविक दुनिया की सॉफ्टवेयर समस्याओं के एक बड़े संग्रह पर किया, विशेष रूप से पायथन (Python) प्रोग्रामिंग भाषा की पाँच सौ समस्याओं को लक्षित करते हुए। उन्होंने एक शक्तिशाली, ओपन-सोर्स आर्टिफिशियल इंटेलिजेंस मॉडल का उपयोग किया जिसे इस विशिष्ट कार्य के लिए संशोधित या पुन: प्रशिक्षित नहीं किया गया था। परिणामों को सुदृढ़ बनाने के लिए, उन्होंने प्रत्येक समस्या पर एजेंट को आठ अलग-अलग बार चलाया, जिससे आठ अलग-अलग संभावित समाधान उत्पन्न हुए। फिर सिस्टम ने एक चतुर चयन पद्धति का उपयोग करके इन समाधानों की आपस में तुलना की। एक छिपे हुए उत्तर कुंजी (answer key) पर निर्भर रहने के बजाय, सिस्टम ने अन्यों का मूल्यांकन करने के लिए आठ रन द्वारा उत्पन्न परीक्षणों का उपयोग किया। यदि कोई सुधार दूसरे प्रयास द्वारा बनाए गए परीक्षणों को पास कर लेता है, तो उसे एक मजबूत उम्मीदवार माना जाता था। इस दृष्टिकोण ने सिस्टम को बिना यह जाने कि सही उत्तर क्या है, सबसे विश्वसनीय समाधान की पहचान करने में सक्षम बनाया।
परिणाम महत्वपूर्ण थे। कोज़ुची एजेंट ने पाँच सौ पायथन समस्याओं में से तीन सौ चौहत्तर को सफलतापूर्वक हल किया, जो लगभग पचहत्तर प्रतिशत की सफलता दर है। इस प्रदर्शन ने सिस्टम को क्षेत्र के शीर्ष प्रदर्शन करने वालों में शामिल कर दिया, जो सभी सबमिशन की तुलना में बारहवें स्थान पर रहा, लेकिन उन सिस्टमों में प्रथम स्थान प्राप्त किया जो खुले, सार्वजनिक रूप से उपलब्ध मॉडलों का उपयोग करते हैं। शोधकर्ताओं ने उसी प्रणाली का परीक्षण जावा (Java) प्रोग्रामिंग भाषा में लिखी गई विभिन्न समस्याओं पर भी किया। दोनों भाषाओं के बीच अंतर के बावजूद, सिस्टम ने समान निरंतरता के साथ प्रदर्शन किया, और एक सौ अट्ठाईस जावा समस्याओं में से एकतालीस को हल किया। इसने प्रदर्शित किया कि फ्रेमवर्क केवल एक भाषा तक सीमित नहीं था बल्कि इसे विभिन्न प्रकार के सॉफ्टवेयर पर व्यापक रूप से लागू किया जा सकता था।
अध्ययन का एक प्रमुख निष्कर्ष यह था कि जो विफलताएं हुईं, वे एजेंट द्वारा अव्यवस्थित या टूटे हुए कोड लिखने के कारण नहीं थीं। वास्तव में, एजेंट द्वारा बनाए गए लगभग सभी पैच सॉफ्टवेयर पर स्पष्ट रूप से लागू किए गए थे। समस्याएँ स्वयं सुधार के तर्क (logic) में थीं; एजेंट अक्सर एक ऐसा सुधार लिखता था जो दिखने में सही लगता था लेकिन वास्तव में अंतर्निहित समस्या को हल नहीं करता था। यह अंतर महत्वपूर्ण है क्योंकि यह सुझाव देता है कि सुधार की मुख्य बाधा कोड का प्रारूप या उपकरणों का उपयोग करने की क्षमता नहीं है, बल्कि समस्या के अर्थ की गहरी समझ है। शोधकर्ताओं ने यह भी पाया कि सिस्टम अपने संचालन में अत्यधिक कुशल था। वर्कफ़्लो को स्वचालित करके और प्रक्रिया के विभिन्न हिस्सों को पुन: उपयोग करने की अनुमति देकर, उन्होंने इन परीक्षणों को चलाने के लिए आवश्यक मानवीय प्रयास को पाँच अलग-अलग मैनुअल चरणों से घटाकर एक एकल स्वचालित क्रिया तक कम कर दिया।
अध्ययन ने इस विचार को स्पष्ट रूप से खारिज कर दिया कि सिस्टम की सफलता केवल अनुमान लगाने या एक विशाल, प्रोप्रायटरी मॉडल का उपयोग करने से आई है जिसे केवल कुछ ही कंपनियों के पास पहुंच प्राप्त है। एजेंट ने सत्ताइस बिलियन (27 billion) पैरामीटर्स वाला एक मॉडल उपयोग किया, जो बड़ा तो है लेकिन आज के सबसे शक्तिशाली मॉडलों की तुलना में बहुत छोटा है, और इसने बिना किसी विशेष फाइन-ट्यूनिंग के अपने परिणाम प्राप्त किए। शोधकर्ताओं ने यह भी दिखाया कि सिस्टम भाग्य पर निर्भर नहीं था; प्रदर्शन विभिन्न रन और विभिन्न प्रकार के सॉफ्टवेयर रिपॉजिटरी में सुसंगत था। हालांकि यह प्रणाली पूर्ण नहीं है और अभी भी सबसे कठिन सिमेंटिक (semantic) समस्याओं के साथ संघर्ष करती है, फिर भी यह सॉफ्टवेयर इंजीनियरिंग में आर्टिफिशियल इंटेलिजेंस को एक विश्वसनीय भागीदार बनाने की दिशा में एक बड़ा कदम है। एक संरचित वर्कफ़्लो के साथ एक स्मार्ट चयन प्रक्रिया को जोड़कर, कोज़ुची एजेंट ने दिखाया है कि खुली, सुलभ तकनीक वास्तविक दुनिया की कोडिंग चुनौतियों को हल करने में उन्नत प्रणालियों के साथ प्रतिस्पर्धा कर सकती है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।