DeNovoSWE: Scaling Long-Horizon Environments for Generating Entire Repositories from Scratch
यह शोध पत्र DeNovoSWE को प्रस्तुत करता है, जो 4,818 होल-रिपॉजिटरी जनरेशन इंस्टेंस का एक बड़े पैमाने पर, स्वचालित रूप से क्यूरेट किया गया डेटासेट है जिसे लॉन्ग-होराइजन सॉफ्टवेयर इंजीनियरिंग कार्यों के लिए LLM एजेंटों को प्रशिक्षित करने के लिए डिज़ाइन किया गया है, जो BeyondSWE-Doc2Repo बेंचमार्क पर प्रदर्शन को 5.8% से बढ़ाकर 47.2% कर देता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक मास्टर आर्किटेक्ट है जो दीवार में एक टूटी हुई ईंट को ठीक करने में अविश्वसनीय रूप से प्रतिभाशाली है। वे एक विशिष्ट दरार को देख सकते हैं, समझ सकते हैं कि वह क्यों हुई, और उसे पूरी तरह से ठीक कर सकते हैं। वर्तमान AI कोडिंग असिस्टेंट इसी काम में अच्छे हैं: मौजूदा सॉफ़्टवेयर में छोटे बग्स को ठीक करने में।
लेकिन क्या होगा अगर आप उसी आर्किटेक्ट से केवल एक नैपकिन पर बने धुंधले स्केच के आधार पर एक पूरी गगनचुंबी इमारत (skyscraper) बनाने के लिए कहें? यह एक बहुत कठिन काम है। इसके लिए नींव की योजना बनाने, लिफ्ट डिजाइन करने, बिजली की वायरिंग करने और यह सुनिश्चित करने की आवश्यकता है कि हर कमरा तार्किक रूप से जुड़ा हो। अब तक, AI इस "पूरे-भवन" वाले कार्य में संघर्ष करता रहा है क्योंकि इसके पास पर्याप्त अभ्यास नहीं था।
समस्या: ब्लूप्रिंट की कमी
AI के लिए पूरे सॉफ़्टवेयर "गगनचुंबी इमारतों" (रिपॉजिटरी) को बनाने में संघर्ष करने का मुख्य कारण प्रशिक्षण डेटा की कमी है। अधिकांश मौजूदा प्रशिक्षण डेटा "इस लीक होते नल को ठीक करें" या "इस टूटी हुई खिड़की की मरम्मत करें" जैसी सूची की तरह है। ऐसा बहुत कम डेटा है जो AI को यह सिखाता है कि कैसे एक उच्च-स्तरीय विवरण (जैसे कि एक यूजर मैनुअल) को लेकर उसे शून्य से एक पूरी तरह से कार्यात्मक, जटिल इमारत में बदला जाए।
समाधान: DeNovoSWE
यह पेपर DeNovoSWE पेश करता है, जो एक विशाल नया प्रशिक्षण डेटासेट है जिसे विशेष रूप से AI को शुरुआत से ही पूरे सॉफ़्टवेयर प्रोजेक्ट बनाने के लिए सिखाने के लिए डिज़ाइन किया गया है। इसे 4,818 "निर्माण चुनौतियों" के एक विशाल पुस्तकालय के रूप में सोचें। प्रत्येक चुनौती में, AI को विस्तृत निर्देशों (डॉक्यूमेंटेशन) का एक सेट दिया जाता है और उसे उन निर्देशों से मेल खाने के लिए पूरा सॉफ़्टवेयर सिस्टम बनाना होता है।
उन्होंने प्रशिक्षण डेटा कैसे बनाया (एक "विभाजित करो और जीतो" रणनीति)
इसके लिए डेटासेट बनाना कठिन है क्योंकि आप केवल एक AI से यह नहीं कह सकते कि "एक जटिल ऐप के लिए मैनुअल लिखें" और उम्मीद कर सकते हैं कि वह एकदम सही होगा। लेखकों ने इस भारी काम को करने के लिए AI एजेंटों की एक चतुर, स्वचालित टीम का उपयोग किया:
- "विभाजन" चरण (The "Divide" Phase): कल्पना कीजिए कि आप एक विशाल शहर के लिए मैनुअल लिखने की कोशिश कर रहे हैं। यह एक साथ करने के लिए बहुत बड़ा है। इसलिए, AI पहले शहर को मोहल्लों (क्षमताओं) में तोड़ देता है। वह पहचानता है कि प्रत्येक मोहल्ला क्या करता है और कौन सी इमारतें (कोड फाइलें) उसमें शामिल हैं।
- "विजय" चरण (The "Conquer" Phase): अब, विशेष AI एजेंट एक बार में केवल एक मोहल्ले के लिए मैनुअल लिखते हैं।
- ड्राफ्ट एजेंट (The Draft Agent): मैनुअल का पहला संस्करण लिखता है।
- क्रिटिक एजेंट (The Critic Agent): एक सख्त संपादक की तरह कार्य करता है। यह मैनुअल की जाँच करता है: "क्या आप बताना भूल गए कि ट्रैफिक लाइट कैसे काम करती है? क्या वायरिंग का आरेख स्पष्ट है?"
- रिपेयर एजेंट (The Repair Agent): क्रिटिक द्वारा पाई गई गलतियों को ठीक करता है।
- यह चक्र तब तक दोहराया जाता है जब तक कि मैनुअल एकदम सही न हो जाए।
- "गोल्डन" टेस्ट (The "Golden" Test): एक बार जब मैनुअल लिख लिया जाता है, तो सिस्टम एक "क्लीन रूम" (सैंडबॉक्स) बनाता है। यह मूल कोड को लेता है, उसे हटा देता है, और केवल मैनुअल को छोड़ देता है। फिर, यह एक अलग AI एजेंट को केवल उसी मैनुअल का उपयोग करके सॉफ़्टवेयर को फिर से बनाने के लिए कहता है। यदि नया सॉफ़्टवेयर सभी परीक्षणों को पास कर लेता है, तो मैनुअल को उच्च-गुणवत्ता वाला माना जाता है और उसे डेटासेट में जोड़ दिया जाता है।
AI को ईमानदार रखना (धोखाधड़ी रोकना/Anti-Cheating)
एक बड़ी चिंता यह है कि AI उस मूल कोड को देखकर "चीटिंग" कर सकता है जिसे उसे फिर से बनाना था। लेखकों ने इसे रोकने के लिए एक कठोर सुरक्षा प्रणाली बनाई है:
- वे सभी इतिहास, कैश और छिपी हुई फाइलों को हटा देते हैं।
- वे AI को मूल कोड डाउनलोड करने के लिए ऑनलाइन जाने से रोकते हैं।
- वे सुनिश्चित करते हैं कि AI वास्तव में "क्लोज्ड-बुक" हो, जिससे वह पूरी तरह से दिए गए डॉक्यूमेंटेशन पर निर्भर रहने के लिए मजबूर हो।
"कठिनाई-जागरूक" फ़िल्टर (The "Difficulty-Aware" Filter)
हर निर्माण परियोजना एक जैसी नहीं होती। कुछ छोटे शेड हैं; कुछ गगनचुंबी इमारतें हैं। यदि आप केवल उन प्रशिक्षण उदाहरणों को रखते हैं जहाँ AI ने पहली बार में एक आदर्श गगनचुंबी इमारत बनाई, तो आप उन कठिन प्रोजेक्ट्स से मिलने वाले मूल्यवान सबक खो देंगे जहाँ AI लगभग सफल रहा लेकिन कुछ गलतियाँ कर गया।
लेखकों ने एक स्मार्ट फ़िल्टर बनाया जो यह देखता है कि एक प्रोजेक्ट कितना कठिन है।
- आसान प्रोजेक्ट्स के लिए (एक छोटा शेड), वे पूर्ण स्कोर की मांग करते हैं।
- कठिन प्रोजेक्ट्स के लिए (एक गगनचुंबी इमारत), वे थोड़ा कम स्कोर (जैसे, 80% सफलता) स्वीकार करते हैं क्योंकि एक आदर्श गगनचुंबी इमारत बनाना अविश्वसनीय रूप से कठिन है।
यह सुनिश्चित करता है कि AI आसान जीत और कठिन कार्यों में "लगभग सफल" होने वाले क्षणों, दोनों से सीख सके।
परिणाम
जब उन्होंने इस नए डेटासेट का उपयोग करके एक AI मॉडल को प्रशिक्षित किया, तो परिणाम नाटकीय थे।
- प्रशिक्षण से पहले, AI केवल 5.8% आवश्यक सॉफ़्टवेयर को सही ढंग से बना सका।
- DeNovoSWE के साथ प्रशिक्षण के बाद, इसकी सफलता दर बढ़कर 47.2% हो गई।
यह सिद्ध करता है कि AI को सही प्रकार का "निर्माण अभ्यास" देकर—बड़ी समस्याओं को छोटे हिस्सों में तोड़कर, सख्त संपादकों का उपयोग करके, और आंशिक सफलताओं से सीखकर—हम इसे एक साधारण "ईंट ठीक करने वाले" से एक वास्तविक "सॉफ्टवेयर आर्किटेक्ट" बनने की ओर ले जा सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।