SkillForge: Self-Distilling Agents for Project-Specific Issue Resolution
SkillForge एक सेल्फ-डिस्टिलेशन फ्रेमवर्क है जो कोर फंक्शनैलिटीज़ से व्युत्पन्न कृत्रिम समस्याओं को संश्लेषित और हल करके, ऐतिहासिक रिपेयर डेटा या महंगी टेस्ट-टाइम एक्सप्लोरेशन पर निर्भर किए बिना, विशिष्ट रिपॉजिटरीज़ में सॉफ़्टवेयर समस्याओं को हल करने की लार्ज लैंग्वेज मॉडल एजेंट्स की क्षमता को सक्रिय रूप से बढ़ाता है, जिससे पुन: प्रयोज्य, एंटिटी-ग्राउंडेड प्रोजेक्ट नॉलेज को डिस्टिल किया जाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
आधुनिक सॉफ्टवेयर के विशाल और जटिल परिदृश्य में, कोड वह आधार है जिस पर हमारी डिजिटल दुनिया टिकी हुई है। जब किसी जटिल प्रोग्राम में कुछ टूट जाता है, तो उसे ठीक करने के लिए न केवल टूटे हुए हिस्से की, बल्कि इस बात की गहरी समझ की भी आवश्यकता होती है कि वह हिस्सा पूरी मशीन में कैसे फिट बैठता है। दशकों से, मनुष्य इस काम के लिए प्राथमिक मैकेनिक रहे हैं, लेकिन हाल ही में, आर्टिफिशियल इंटेलिजेंस (AI) ने औजार थामना शुरू कर दिया है। लार्ज लैंग्वेज मॉडल्स, जो टेक्स्ट और कोड की विशाल मात्रा पर प्रशिक्षित शक्तिशाली कंप्यूटर प्रोग्राम हैं, ने दिखाया है कि वे इन डिजिटल रिपॉजिटरीज़ में नेविगेट कर सकते हैं, बग्स ढूंढ सकते हैं और सुधार लिख सकते हैं। हालाँकि, एक महत्वपूर्ण बाधा बनी हुई है: ये AI एजेंट अक्सर एक विशिष्ट, अपरिचित प्रोजेक्ट का सामना करने पर संघर्ष करते हैं। उनमें स्थानीय संदर्भ (local context) की कमी होती है—वे अलिखित नियम, कोड के विभिन्न हिस्सों के बीच बातचीत करने के विशिष्ट तरीके, और उस विशेष सॉफ्टवेयर के निर्माण के पीछे का अनूठा इतिहास। इस आंतरिक ज्ञान के बिना, AI एक ऐसे प्रतिभाशाली मैकेनिक की तरह है जिसे एक ऐसे गैरेज में छोड़ दिया गया है जिसे उसने पहले कभी नहीं देखा, और उसे हर बार नया इंजन देखते समय यह अनुमान लगाने के लिए मजबूर होना पड़ता है कि इंजन कैसे काम करता है।
शंघाई जियाओ टोंग यूनिवर्सिटी के शोधकर्ताओं ने इस समस्या को हल करने के लिए एक नया दृष्टिकोण विकसित किया है, एक ऐसी विधि जिसे वे 'स्किलफोर्ज' (SkillForge) कहते हैं। AI के वास्तविक दुनिया की त्रुटियों में ठोकर खाने और समय के साथ अपनी गलतियों से सीखने का इंतजार करने के बजाय, यह प्रणाली वास्तविक सुधार करने से पहले ही AI को विशिष्ट प्रोजेक्ट के बारे में सक्रिय रूप से सिखाती है। टीम ने महसूस किया कि एक प्रोजेक्ट को समझने के लिए, AI को पहले उस पर अभ्यास करने की आवश्यकता है। इसलिए, उन्होंने एक प्रशिक्षण मैदान बनाया जहाँ AI अपनी खुद की नकली समस्याएँ उत्पन्न करता है। एक सॉफ्टवेयर प्रोजेक्ट के मुख्य कार्यों (core functions)—उन हिस्सों को जो पहले से ही परीक्षण किए गए हैं और जिन्हें काम करने वाला माना जाता है—को लेकर और AI को उन्हें शून्य से फिर से लिखने के लिए कहकर, यह प्रणाली AI को गलतियाँ करने के लिए मजबूर करती है। क्योंकि AI के पास मूल कोड तक पहुँच नहीं होती, इसलिए उसे अपने सामान्य ज्ञान पर निर्भर रहना पड़ता है, जिससे अनिवार्य रूप से वे त्रुटियाँ होती हैं जो वास्तव में उस प्रोजेक्ट के निर्माण के विशिष्ट तरीकों से जुड़ी होती हैं। इन त्रुटियों को, जिन्हें शोधकर्ता 'सिंथेटिक इश्यूज' (synthetic issues) कहते हैं, सीखने के उपकरण के रूप में उपयोग किया जाता है। AI इन नकली बग्स को ठीक करने का प्रयास करता है, और ऐसा करते हुए, वह उस सॉफ्टवेयर प्रोजेक्ट के छिपे हुए पैटर्न और विशिष्ट नियमों को प्रकट करता है।
इसके बाद यह प्रणाली उन रास्तों को लेती है जिनसे AI ने इन नकली समस्याओं को हल किया और उन्हें "कौशल" (skills) के एक सेट में संकुचित करती है। इन कौशलों को उस विशिष्ट सॉफ्टवेयर के लिए एक व्यक्तिगत मार्गदर्शिका (guidebook) के रूप में समझें। शोधकर्ताओं ने इस ज्ञान को दो प्रकारों में व्यवस्थित किया। पहला प्रकार एक उच्च-स्तरीय मानचित्र (high-level map) है जो AI को प्रोजेक्ट की समग्र संरचना समझने में मदद करता है, जैसे कि कोड के विभिन्न हिस्सों को क्या करना चाहिए और वे आमतौर पर कैसे परस्पर क्रिया करते हैं। दूसरा प्रकार विशिष्ट निर्देशों का एक सेट है जो AI को वास्तव में कोड संपादित करते समय काम आता है, जो उसे सामान्य गलतियों के बारे में चेतावनी देता है और उसे प्रोजेक्ट की अनूठी विशेषताओं की याद दिलाता है। जब AI को बाद में उसी सॉफ्टवेयर में किसी वास्तविक समस्या को हल करने के लिए कहा जाता है, तो वह इस मार्गदर्शिका का परामर्श लेता है। वह उन्मुखीकरण (orient) प्राप्त करने के लिए पहले उच्च-स्तरीय मानचित्र को लोड करता है, और फिर, जैसे ही वह कोड में गहराई से उतरता है, उसे उन विशिष्ट नियमों के बारे में 'जस्ट-इन-टाइम' (just-in-time) अनुस्मारक प्राप्त होते हैं जिनका उसे पालन करने की आवश्यकता है। यह स्वचालित रूप से होता है, यह सुनिश्चित करते हुए कि AI के पास ठीक उसी समय सही संदर्भ हो जब उसे इसकी आवश्यकता हो।
शोधकर्ताओं ने इस पद्धति का परीक्षण वास्तविक दुनिया के विभिन्न सॉफ्टवेयर प्रोजेक्ट्स पर किया, और यह देखने के लिए कि क्या यह काम करता है, दो अलग-अलग शक्तिशाली AI मॉडल्स का उपयोग किया। उन्होंने अपने सिस्टम की तुलना अन्य तरीकों से की जो AI को पिछले मानवीय सुधारों से सीखने या समस्या हल करते समय कोड को एक्सप्लोर करने में मदद करने का प्रयास करते हैं। परिणाम स्पष्ट थे: स्किलफोर्ज दृष्टिकोण ने लगातार दूसरों से बेहतर प्रदर्शन किया। सॉफ्टवेयर इंजीनियरिंग कार्यों के एक मानक परीक्षण पर, इस प्रणाली ने बिना किसी विशेष प्रोजेक्ट ज्ञान वाले बेसलाइन मॉडल की तुलना में AI की सफलता दर में लगभग छह प्रतिशत की वृद्धि की। यह सुधार तब भी बना रहा जब शोधकर्ताओं ने इस प्रणाली का परीक्षण एक अलग, अधिक कठिन चुनौतियों के सेट पर किया। अध्ययन ने दिखाया कि वास्तविक काम शुरू होने से पहले AI को विशिष्ट प्रोजेक्ट के बारे में सिखाकर, यह प्रणाली उन तरीकों की तुलना में अधिक सटीक और कुशलता से समस्याओं को हल कर सकती है जो ऑन-द-फ्लाई (on the fly) सीखने या ऐतिहासिक डेटा पर निर्भर रहने का प्रयास करते हैं जो वर्तमान मुद्दे को कवर नहीं कर सकता है।
इस शोध के सबसे प्रकट पहलुओं में से एक यह देखना था कि इस नए ज्ञान के साथ AI का व्यवहार कैसे बदल जाता है। एक लोकप्रिय वेब फ्रेमवर्क में एक जटिल फॉर्मेटिंग बग से जुड़े एक विशिष्ट मामले में, बिना इस प्रशिक्षण के एक AI ने जल्दी से एक सरल, गलत समाधान चुन लिया जो पहली नज़र में सही लग रहा था लेकिन पूर्ण आवश्यकताओं के विरुद्ध परीक्षण किए जाने पर विफल रहा। वह डेटा को सही ढंग से संभालने के लिए आवश्यक सूक्ष्म, प्रोजेक्ट-विशिष्ट तर्क को समझने में विफल रहा। इसके विपरीत, स्किलफोर्ज मार्गदर्शिका से लैस AI ने अधिक सावधानीपूर्वक, संरचित दृष्टिकोण अपनाया। उसने प्रोजेक्ट के विशिष्ट नियमों पर विचार करने के लिए विराम लिया, उस सामान्य जाल से बचा जिसमें अभ प्रशिक्षित AI गिरा था, और अंततः एक ऐसा समाधान खोजा जो सभी आवश्यक परीक्षणों में सफल रहा। इसने प्रदर्शित किया कि यह प्रणाली केवल AI को अधिक जानकारी नहीं दे रही थी, बल्कि मौलिक रूप रूप से यह बदल रही थी कि वह कोड के बारे में कैसे तर्क करता है, जिससे उसे उन गलतियों को करने से बचने में मदद मिल रही थी जो सामान्य नियमों को एक विशिष्ट, अद्वितीय वातावरण पर लागू करने से आती हैं।
शोधकर्ताओं ने यह भी पता लगाया कि क्या एक AI मॉडल से प्राप्त ज्ञान को दूसरे मॉडल में स्थानांतरित किया जा सकता है। उन्होंने पाया कि एक मॉडल द्वारा संकुचित किए गए कौशल उसी मॉडल द्वारा उपयोग किए जाने पर सबसे प्रभावी होते हैं। यह सुझाव देता है कि ज्ञान गहराई से इस बात से जुड़ा है कि एक विशिष्ट AI कैसे सोचता है और कोड लिखता है, न कि यह सॉफ्टवेयर के बारे में तथ्यों का एक सार्वभौमिक सेट है। यह निष्कर्ष इस बात पर प्रकाश डालता है कि प्रणाली का मूल्य इस क्षमता में निहित है कि वह एक विशेष AI और एक विशिष्ट प्रोजेक्ट के बीच की बातचीत को कैसे कैप्चर करती है। इसके अलावा, अध्ययन ने दिखाया कि सिस्टम सबसे अच्छा काम करता है जब यह कोड के कई जुड़े हुए हिस्सों को एक साथ फिर से लिखने पर ध्यान केंद्रित करता है, न कि केवल एकल फंक्शनों पर। यह दृष्टिकोण सॉफ्टवेयर के विभिन्न हिस्सों के बीच जटिल अंतःक्रियाओं को कैप्चर करता है, जहाँ सबसे महत्वपूर्ण प्रोजेक्ट-विशिष्ट ज्ञान अक्सर छिपा होता है।
अंततः, यह कार्य शक्तिशाली सामान्य AI और वास्तविक दुनिया के सॉफ्टवेयर इंजीनियरिंग की विशिष्ट आवश्यकताओं के बीच के अंतर को पाटने का एक नया तरीका प्रदान करता है। एक रिएक्टिव (reactive) दृष्टिकोण से, जहाँ AI होने वाली गलतियों के बाद उनसे सीखता है, से एक प्रोएक्टिव (proactive) दृष्टिकोण की ओर बढ़कर, जहाँ वह मैच शुरू होने से पहले खेल के नियमों को सीखता है, शोधकर्ताओं ने अधिक विश्वसनीय और सक्षम सॉफ्टवेयर एजेंटों का मार्ग दिखाया है। इस प्रणाली को काम करने के लिए पिछले मानवीय सुधारों के विशाल इतिहास की आवश्यकता नहीं है, और न ही यह मांग करती है कि AI वास्तविक मरम्मत प्रक्रिया के दौरान अंधे होकर कोड को एक्सप्लोर करने में अपना समय और संसाधन बर्बाद करे। इसके बजाय, यह एक लक्षित, कुशल ज्ञान आधार बनाता है जो AI को तुरंत काम शुरू करने की अनुमति देता है। परिणाम बताते हैं कि AI को वास्तव में सॉफ्टवेयर विकास में एक भागीदार बनने के लिए, इसे उस प्रोजेक्ट की विशिष्ट भाषा और रीति-रिवाजों को सीखने का अवसर दिया जाना चाहिए, और स्किलफोर्ज ठीक यही करने का एक व्यावहारिक, प्रभावी तरीका प्रदान करता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।