← नवीनतम पेपर
🤖 AI

Repo0: Design-Driven Zero-to-All Code Generation

Repo0 एक निरंतर संरचनात्मक विकास ढांचा पेश करता है जो प्राकृतिक भाषा आवश्यकताओं से मॉड्यूलर रिपॉजिटरी आर्किटेक्चर को पुनरावृत्त रूप से परिष्कृत करने के लिए एक ड्यूल-डायरेक्टेड-एसिक-ग्राफ (Dual-DAG) का उपयोग करता है और फिर टेस्ट-ड्रिवन कोड जनरेशन का मार्गदर्शन करता है, जिससे मौजूदा बेसलाइन की तुलना में बेहतर कार्यात्मक कवरेज और पास दर प्राप्त होती है।

मूल लेखक: Silin Chen, Haoyi Teng, Xiaodong Gu, Yuling Shi, Jiale Huang, Yongpan Wang, Hongyu Zhang, Haibing Guan

प्रकाशित 2026-08-21
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Silin Chen, Haoyi Teng, Xiaodong Gu, Yuling Shi, Jiale Huang, Yongpan Wang, Hongyu Zhang, Haibing Guan

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

सॉफ्टवेयर निर्माण की दुनिया में, एक प्रोग्राम बनाना लंबे समय से एक तैयार ब्लूप्रिंट से घर बनाने जैसा माना जाता रहा है। एक आर्किटेक्ट योजना बनाता है, यह तय करता है कि दीवारें, दरवाजे और खिड़कियां कहां होंगी, और फिर बिल्डर उन निर्देशों का पालन करते हुए ईंटें बिछाते हैं। वर्षों तक, कोड लिखने के लिए डिज़ाइन किए गए आर्टिफिशियल इंटेलिजेंस सिस्टम इसी धारणा के तहत काम करते रहे: उन्हें सॉफ्टवेयर की संरचना का एक पूर्व-मौजूद नक्शा दिया गया और उनसे केवल विवरण भरने के लिए कहा गया। लेकिन वास्तविक दुनिया में, सॉफ्टवेयर शायद ही कभी किसी पूर्ण, स्थिर योजना से बनाया जाता है। आवश्यकताएं बदलती हैं, हिस्सों के बीच के संबंध उलझ जाते हैं, और प्रारंभिक डिजाइन अक्सर तब अपनी खामियों को उजागर करता है जब पहली कुछ लाइनें लिखी जाती हैं। एक कठोर योजना और शून्य से कुछ बनाने की जटिल वास्तविकता के बीच का यह अंतर वह जगह है जहां एक नया दृष्टिकोण उभर रहा है, जो सॉफ्टवेयर प्रोजेक्ट के डिजाइन को एक निश्चित शुरुआती बिंदु के रूप में नहीं, बल्कि एक जीवित चीज़ के रूप में देखता है जो कोड के साथ विकसित और बदलता रहता है।

शंघाई जियाओ टोंग यूनिवर्सिटी और चोंगकिंग यूनिवर्सिटी के शोधकर्ताओं ने इस चुनौती से निपटने के लिए 'रेपो0' (Repo0) नामक एक प्रणाली विकसित की है। उनका कार्य एक विशिष्ट और कठिन समस्या को संबोधित करता है जिसे "जीरो-टू-ऑल" (zero-to-all) कोड जनरेशन कहा जाता है। यह एक सरल, प्राकृतिक भाषा के विवरण को—कि सॉफ्टवेयर को क्या करना चाहिए—पूरे प्रोजेक्ट को शून्य से निर्मित करने का कार्य है, बिना किसी पूर्व-मौजूद फाइलों, फोल्डरों या आर्किटेक्चरल आरेखों के मार्गदर्शन के। इस कार्य के पिछले प्रयास अक्सर विफल रहे क्योंकि एआई ऐसा कोड उत्पन्न करता था जो अलग-थलग तो काम करता था लेकिन पूरे सिस्टम के साथ टकरा जाता था, जिससे निर्भरताओं का एक उलझा हुआ जाल बन जाता था जिसे बनाए रखना कठिन होता था। शोधकर्ताओं ने पाया कि मुख्य मुद्दा एआई की कोड लिखने की क्षमता नहीं थी, बल्कि इसकी क्षमता का अभाव था कि वह कोड को एक सुसंगत संरचना में व्यवस्थित कर सके जो प्रोजेक्ट के बढ़ने के साथ विकसित हो सके।

इसे हल करने के लिए, टीम ने एक ऐसा ढांचा बनाया जो सॉफ्टवेयर के निर्माण के दौरान ही उसके आर्किटेक्चर को लगातार परिष्कृत करता है। डिजाइन को शुरुआत में ही लॉक करने के बजाय, रेपो0 प्रोजेक्ट की संरचना का एक गतिशील मानचित्र बनाए रखता है। यह मानचित्र दो परतों में विभाजित है: एक जो ट्रैक करती है कि सॉफ्टवेयर को क्या करने की आवश्यकता है, और दूसरी जो ट्रैक करती है कि इसे करने के लिए सॉफ्टवेयर कैसे बनाया गया है। जैसे-जैसे सिस्टम काम करता है, यह इन दोनों परतों की आपस में निरंतर जांच करता रहता है। यदि सॉफ्टवेयर का कोई हिस्सा बहुत व्यापक हो जाता है या बहुत सारे असंबंधित काम करने की कोशिश करता है, तो सिस्टम इस फोकस की कमी को पहचान लेता है और इसे छोटे, अधिक विशिष्ट हिस्सों में विभाजित कर देता है। इसके विपरीत, यदि दो हिस्से इतने मजबूती से जुड़े हुए हैं कि वे अनिवार्य रूपतः एक ही काम कर रहे हैं, तो सिस्टम रेडंडेंसी (अनावश्यकता) को कम करने के लिए उन्हें आपस में मिला देता है। यह प्रक्रिया सॉफ्टवेयर घटकों के एक-दूसरे से संबंधित होने के विशिष्ट नियमों द्वारा निर्देशित होती है, जिससे यह सुनिश्चित होता है कि अंतिम उत्पाद व्यवस्थित, कुशल और समझने में आसान हो।

शोधकर्ताओं ने छह वास्तविक दुनिया के सॉफ्टवेयर प्रोजेक्ट्स पर इस दृष्टिकोण का परीक्षण किया, जिनमें छोटे उपयोगिता टूल्स से लेकर विशाल डेटा विश्लेषण लाइब्रेरी तक शामिल थे। उन्होंने रेपो0 की तुलना अन्य उन्नत एआई सिस्टम से की जो पारंपरिक, स्थिर नियोजन विधियों का उपयोग करते थे। परिणाम स्पष्ट थे: उस सिस्टम ने जिसने अपने डिजाइन को निरंतर विकसित होने की अनुमति दी, काफी बेहतर सॉफ्टवेयर तैयार किया। इसने आवश्यक सुविधाओं के बहुत उच्च प्रतिशत को सफलतापूर्वक लागू किया और उन कठोर परीक्षणों को अधिक संख्या में पास किया जो यह जांचने के लिए डिज़ाइन किए गए थे कि क्या कोड वास्तव में इच्छित रूप से काम करता है। कुछ मामलों में, सुधार नाटकीय था, जहाँ नया सिस्टम उन कार्यों के लगभग पूर्ण कवरेज को प्राप्त करने में सफल रहा जहाँ अन्य विधियाँ आधी भी नहीं पहुँच पाती थीं। अध्ययन ने दिखाया कि सफलता की कुंजी केवल अधिक कोड लिखना नहीं था, बल्कि सिस्टम का यह पहचानना था कि उसकी अपनी संरचना कब अव्यवस्थित हो रही है और आगे बढ़ने से पहले उसे ठीक करना था।

एक महत्वपूर्ण निष्कर्ष यह था कि सिस्टम को अपने डिजाइन को सही समय पर रोकना आवश्यक था। यदि एआई अनिश्चित काल तक संरचना को बदलते रहता, तो प्रोजेक्ट खंडित और अस्थिर हो जाता। शोधकर्ताओं ने पाया कि यह देखकर कि हिस्से कितनी अच्छी तरह फिट बैठते हैं, सिस्टम यह निर्धारित कर सकता था कि डिजाइन अपने सर्वोत्तम रूप में कब स्थिर हुआ है। एक बार जब स्थिरता का यह बिंदु प्राप्त हो गया, तो सिस्टम संरचना को लॉक कर देता था और पूरी तरह से कोड उत्पन्न करने पर ध्यान केंद्रित करता था। निरंतर सुधार और रुकने के बारे में जानने के बीच का यह संतुलन आवश्यक साबित हुआ। इन मार्गदर्शक नियमों के बिना, एआई डिजाइन को अत्यधिक जटिल बना देता, उसे बहुत से छोटे टुकड़ों में तोड़ देता और अंतिम उत्पाद को उपयोग करना कठिन बना देता।

अध्ययन ने यह भी खुलासा किया कि प्रारंभिक डिजाइन की गुणवत्ता से अधिक महत्वपूर्ण उसे सुधारने की क्षमता थी। भले ही सिस्टम एक खुरचीली या अपूर्ण योजना के साथ शुरू हुआ हो, निरंतर विभाजन, विलय और संशोधन की प्रक्रिया ने इसे उबरने और एक मजबूत संरचना बनाने की अनुमति दी। यह सुझाव देता है कि जटिल कार्यों के लिए, अनुकूलन करने और स्वयं को सुधारने की क्षमता, पहली बार में सही अनुमान लगाने की क्षमता से अधिक मूल्यवान है। शोधकर्ताओं ने प्रदर्शित किया कि सॉफ्टवेयर आर्किटेक्चर को एक निरंतर विकास प्रक्रिया के रूप में मानकर, न कि एक एकल घटना के रूप में, एआई एजेंट ऐसे जटिल सिस्टम बना सकते हैं जो न केवल कार्यात्मक हैं बल्कि सुव्यवस्थित और विश्वसनीय भी हैं। यह दृष्टिकोण स्वचालित सॉफ्टवेयर निर्माण के बारे में हमारी सोच में एक बदलाव है, जो एक पूर्ण ब्लूप्रिंट के विचार से दूर, एक अधिक लचीले और प्रतिक्रियाशील निर्माण पद्धति की ओर बढ़ता है जो मानव डेवलपर्स के वास्तविक कार्य करने के तरीके को दर्शाता है।

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

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

Digest आज़माएँ →