← नवीनतम पेपर
💬 NLP

Beyond "What to Retrieve": Uncertainty in Retrieval-Augmented Code Generation

यह शोध पत्र OpenCoder को प्रस्तुत करता है, जो एक अनिश्चितता-जागरूक (uncertainty-aware) ढांचा है जो विषम पुनर्प्राप्ति साक्ष्य (heterogeneous retrieval evidence) को फ़िल्टर और रैंक करने के लिए स्रोत-विशिष्ट अनिश्चितता का अनुमान लगाता है और उसका लाभ उठाता है, जिससे रिपॉजिटरी-स्तरीय कोड जनरेशन की शुद्धता में सुधार होता है और यह प्रदर्शित होता है कि इसके लाभ विशिष्ट LLM बैकएंड और साक्ष्य अंतःक्रियाओं पर निर्भर हैं।

मूल लेखक: Chandan Kumar Sah, Xiaoli Lian, Li Zhang

प्रकाशित 2026-07-29
📖 7 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Chandan Kumar Sah, Xiaoli Lian, Li Zhang

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

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

हालांकि, इसमें एक पेंच है। सिर्फ इसलिए कि सर्च इंजन को बहुत सारी जानकारी मिल गई है, इसका मतलब यह नहीं है कि वह जानकारी उपयोगी है। कभी-कभी AI को कोड का एक ऐसा टुकड़ा मिलता है जो दिखने में समान है लेकिन वास्तव में प्रोजेक्ट को खराब कर देता है; अन्य समय में, उसे ऐसा टूल मिलता है जो उस विशिष्ट कार्य के लिए उपयुक्त नहीं है। जानकारी वहां मौजूद है, लेकिन वह शोर भरी, विरोधाभासी या बस गलत है। बड़ा सवाल जो शोधकर्ता पूछ रहे हैं, वह यह है: हम AI को केवल सही जानकारी ढूँढना ही नहीं, बल्कि यह भी कैसे सिखाएं कि उस पर कितना भरोसा करना है? यदि AI यह अंतर नहीं कर सकता कि एक सहायक सुराग और एक भ्रामक रेड हेरिंग (भटकाने वाली चीज़) के बीच क्या अंतर है, तो वह एक ऐसा महल बनाएगा जो दरवाजा खोलने के प्रयास में ही ढह जाएगा।

यहीं बेइहांग यूनिवर्सिटी (Beihang University) के शोधकर्ताओं का एक नया अध्ययन काम आता है। वे ओपनकोडर (OpenCoder) नामक एक सिस्टम पेश करते हैं, जो AI के लिए एक संदेही, अत्यंत व्यवस्थित प्रोजेक्ट मैनेजर की तरह कार्य करता है। सर्च इंजन द्वारा खोजी गई हर जानकारी पर आँख मूंदकर भरोसा करने के बजाय, ओपनकोडर हर एक सुराग को एक "डाउट स्कोर" (संदेह स्कोर) देता है। यह पूछता है, "हम कितने अनिश्चित हैं कि यह API सही है?" या "इस बात की कितनी संभावना है कि यह समान कोड हमारे प्रोजेक्ट के साथ टकराव पैदा करेगा?" अनिश्चितता को एक बग के बजाय एक उपयोगी संकेत मानकर, ओपनकोडर शोर को फ़िल्टर करता है, सुरागों को उनकी विश्वसनीयता के आधार पर रैंक करता है, और यह भी जानता है कि कब रुकना है और अपनी गलतियों को सुधारना है।

शोधकर्ताओं ने इस सिस्टम का परीक्षण 32 विभिन्न वास्तविक दुनिया के कार्यों के लिए कोड लिखने के लिए AI को कहकर किया। उन्होंने पाया कि जब उन्होंने GPT जैसे शक्तिशाली AI मॉडल का उपयोग किया, तो ओपनकोडर ने अंतिम कोड की सफलता दर को मानक खोज विधियों के 56.25% से बढ़ाकर 78.13% कर दिया। हालांकि, शोधकर्ताओं ने एक महत्वपूर्ण बारीकी की खोज की: यह सुधार उस कंट्रोल ग्रुप के प्रदर्शन के बराबर था जिसने मानक खोज का उपयोग किया लेकिन उसमें एक "वेरिफाई एंड रिपेयर" (सत्यापित करें और सुधारें) चरण जोड़ा गया था। यह बताता है कि जबकि ओपनकोडर के अनिश्चितता फ़िल्टरिंग ने मदद की, लेकिन सफलता में बड़ी उछाल मुख्य रूप से सिस्टम की त्रुटियों को सत्यापित करने और ठीक करने की क्षमता से प्रेरित थी, न कि केवल फ़िल्टरिंग से। असली 'सीक्रेट सॉस' अधिक जानकारी ढूँढना नहीं था; बल्कि सिस्टम की यह क्षमता थी कि वह कह सके, "यह विशिष्ट प्रमाण संदिग्ध लग रहा है, इसलिए इसे अनदेखा करें," और "वह दूसरा हिस्सा ठोस लग रहा है, इसलिए इसका उपयोग करें," और साथ ही साथ गलतियों को पकड़ने के लिए एक सुरक्षा जाल भी रखता है।

हालांकि, यह कहानी केवल एक सरल "AI जीत गया" वाली नहीं है। शोधकर्ता इस बात पर जोर देते हुए सावधान थे कि यह सफलता इस बात पर बहुत अधिक निर्भर करती है कि कौन सा "AI दिमाग" सोच रहा है। जब उन्होंने GPT को बदलकर जेमिनी (Gemini) नामक एक अन्य मॉडल का उपयोग किया, तो परिणाम बहुत कम स्पष्ट थे। सुधार सांख्यिकीय रूप से महत्वपूर्ण नहीं थे, जिससे पता चलता है कि ओपनकोडर का "अनिश्चितता रडार" अलग-अलग AI व्यक्तित्वों के आधार पर अलग तरह से काम करता है। इसके अलावा, जब प्रोजेक्ट में बहुत अधिक जानकारी गायब थी, तो यह सिस्टम विफल हो गया। ऐसे अधूरे साक्ष्य के मामलों में, सत्यापन और सुधार वाला एक मानक सिस्टम वास्तव में ओपनकोडर से बेहतर प्रदर्शन करता है। यह इंगित करता है कि जब सर्च इंजन शुरुआत में ही आवश्यक उपकरण नहीं खोज पाता, तो ओपनकोडर का फ़िल्टरिंग तंत्र उपलब्ध साक्ष्यों के थोड़े से अंशों को भी दबा सकता है, जिससे निर्णय लेने में सुधार के बजाय गिरावट आती है।

अध्ययन ने यह भी पता लगाया कि विभिन्न प्रकार की जानकारी एक साथ कैसे काम करती है। आप सोच सकते हैं कि "समान कोड," "प्रोजेक्ट कॉन्टेक्स्ट," और "API नॉलेज" होना हमेशा बेहतर होता है। लेकिन शोधकर्ताओं ने पाया कि इसका कोई सार्वभौमिक नियम नहीं है। कभी-कभी, "समान कोड" जोड़ने से AI भ्रमित हो जाता है, जब तक कि इसे सही "प्रlecht कॉन्टेक्स्ट" के साथ न जोड़ा जाए। यह एक मानचित्र, एक दिशा-सूचक यंत्र (कंपास) और एक जीपीएस (GPS) होने जैसा है: यदि आपके पास केवल जीपीएस है, तो आप खो सकते हैं; यदि आपके पास मानचित्र और कंपास है लेकिन जीपीएस नहीं है, तो भी आप ठीक हो सकते हैं; लेकिन यदि आपके पास तीनों हैं और वे आपस में विरोधाभासी हैं, तो आप चक्कर काटते रह सकते हैं। प्रत्येक सुराग का मूल्य पूरी तरह से इस बात पर निर्भर करता है कि अन्य कौन से सुराग मौजूद हैं।

इसे काम करने के लिए, ओपनकोडर पाँच-चरणीय नृत्य (five-step dance) का पालन करता है। पहले, यह प्रोजेक्ट के सभी नियमों और टूल्स की एक लाइब्रेरी बनाता है। दूसरा, यह उपयोगकर्ता के अनुरोध को छोटे चरणों में तोड़ता है। तीसरा, यह सुरागों की तलाश में निकलता है, लेकिन इस बार यह उन्हें इस आधार पर स्कोर करता है कि वे कितने "अनिश्चित" महसूस होते हैं। चौथा, यह कोड जेनरेट करता है, लेकिन यह "अनिश्चितता स्कोर" पर कड़ी नज़र रखता है ताकि संदिग्ध सुरागों के उपयोग से बचा जा सके। अंत में, और शायद सबसे महत्वपूर्ण, यह अपने स्वयं के गुणवत्ता नियंत्रण निरीक्षक के रूप में कार्य करता है। यह कोड को परीक्षणों की एक श्रृंखला के माध्यम से चलाता है। यदि कोड विफल होता है, तो यह हार नहीं मानता; यह त्रुटि की पहचान करता है और उस वैलिडेशन फीडबैक के आधार पर कोड को सुधारने का प्रयास करता है।

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

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

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

Digest आज़माएँ →