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

Protocode: Prototype-Driven Interpretability for Code Generation in LLMs

यह शोध पत्र एक प्रोटोटाइप-संचालित दृष्टिकोण का प्रस्ताव करता है जो उच्च-गुणवत्ता वाले इन-कॉन्टेक्स्ट लर्निंग (In-Context Learning) प्रदर्शनों को स्वचालित रूप से नमूना लेने के लिए AST-आधारित विश्लेषण का उपयोग करता है, जिससे कोड जनरेशन कार्यों में लार्ज लैंग्वेज मॉडल्स (Large Language Models) की व्याख्यात्मकता और प्रदर्शन दोनों को एक साथ बढ़ाया जा सके।

मूल लेखक: Krishna Vamshi Bodla, Haizhao Yang

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

मूल लेखक: Krishna Vamshi Bodla, Haizhao Yang

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

कल्पना कीजिए कि आप एक बहुत ही बुद्धिमान, लेकिन थोड़े भ्रमित रोबोट को कंप्यूटर कोड लिखना सिखाने की कोशिश कर रहे हैं। आप उसे केवल एक पाठ्यपुस्तक नहीं दे सकते; इसके बजाय, आप उसे पहले कुछ अच्छे उदाहरण दिखाते हैं। इसे इन-कॉन्टेक्स्ट लर्निंग (In-Context Learning - ICL) कहा जाता है। रोबोट आपके उदाहरणों को देखता है और एक नई समस्या को हल करने के लिए उनकी शैली और तर्क (logic) की नकल करने की कोशिश करता है।

समस्या यह है: आपको रोबोट को कौन से उदाहरण दिखाने चाहिए?

यदि आप रोबोट को खराब उदाहरण दिखाते हैं, तो वह भ्रमित हो जाता है और त्रुटिपूर्ण (buggy) कोड लिखता है। यदि आप उसे बेहतरीन उदाहरण दिखाते हैं, तो वह शानदार प्रदर्शन करता है। लेकिन "परफेक्ट" उदाहरण ढूंढना कठिन है। अधिकांश लोग केवल उन उदाहरणों को चुनते हैं जो सतह पर समान दिखते हैं, लेकिन ऐसा हमेशा काम नहीं करता है।

यह पेपर इस समस्या को हल करने के लिए प्रोटोकोड (Protocode) नामक एक नया तरीका पेश करता है। इसे एक "स्मार्ट उदाहरण चयनकर्ता" (Smart Example Selector) के रूप में समझें जो सबसे अच्छे उदाहरण खोजने के लिए एक विशेष मानचित्र (map) का उपयोग करता है।

यह कैसे काम करता है, इसे सरल अवधारणाओं में विभाजित किया गया है:

1. "मैनिफोल्ड" मैप (डेटा के आकार को समझना)

कल्पना कीजिए कि सभी अलग-अलग प्रोग्रामिंग समस्याएं (जैसे "एक लिस्ट को सॉर्ट करना" या "वर्गमूल की गणना करना") एक विशाल, बहु-आयामी कमरे में तैरते हुए डॉट्स (बिंदुओं) की तरह हैं।

  • पुराना तरीका: लोग आमतौर पर उस बिंदु को चुनते हैं जो उस बिंदु के सबसे करीब है जिसे आप हल करने की कोशिश कर रहे हैं। लेकिन कभी-कभी, सबसे करीबी बिंदु एक "ट्रिक" वाला उदाहरण होता है जो दिखने में समान होता है लेकिन उसका तर्क पूरी तरह से अलग होता है।
  • प्रोटोकोड का तरीका: लेखकों ने महसूस किया कि ये डॉट्स केवल बिखरे हुए नहीं हैं; वे अदृश्य, घुमावदार आकृतियाँ (जैसे कि कागज का एक मुड़ा हुआ टुकड़ा) बनाते हैं जिन्हें मैनिफोल्ड (manifolds) कहा जाता है।
  • उपमा: कल्पना कीजिए कि डेटा एक पर्वत श्रृंखला है। पुराना तरीका केवल निकटतम शिखर को चुनता है। प्रोटोकोड स्वयं पर्वत श्रृंखला के आकार को देखता है। यह उन "प्रोटोटाइप्स" (prototypes) को खोजता है जो सबसे प्रतिनिधि, आदर्श उदाहरण हैं जो एक विशिष्ट घाटी या शिखर के ठीक केंद्र में स्थित होते हैं। यह इन आकृतियों को सटीक रूप से ट्रेस करने के लिए पीसवाइज-लीनियर मैनिफोल्ड लर्निंग (Piecewise-Linear Manifold Learning) नामक तकनीक का उपयोग करता है, जिससे यह सुनिश्चित होता है कि चुना गया उदाहरण वास्तव में उस प्रकार की समस्या का प्रतिनिधि है, न कि केवल एक यादृच्छिक पड़ोसी।

2. "प्रॉक्सी" एंकर (चुंबक)

एक बार जब मानचित्र बना लिया जाता है, तो सिस्टम को प्रत्येक श्रेणी (जैसे "पायथन लूप्स" या "जावा क्लासेस") के लिए सबसे अच्छा उदाहरण चुनने की आवश्यकता होती है।

  • उपमा: कल्पना कीजिए कि आपके पास हर प्रकार के कोड के लिए एक चुंबक (Proxy) है। आप अपने सभी प्रशिक्षण उदाहरणों को कमरे में गिरा देते हैं। चुंबक उन उदाहरणों को अपनी ओर खींचता है जो उससे संबंधित हैं।
  • जादू: सिस्टम केवल सबसे करीबी को नहीं चुनता; यह चुंबकों को चलाने (move करने) के बारे में सीखता है ताकि वे सबसे अच्छे उदाहरणों को खींच सकें और खराब उदाहरणों को दूर धकेल सकें। यह प्रॉक्सी-एंकर लॉस (Proxy-Anchor Loss) नामक एक गणितीय ट्रिक का उपयोग करके किया जाता है। यह सुनिश्चित करता है कि चुना गया उदाहरण अपने समूह के लिए एक "चैंपियन" है, जिससे वह रोबोट के लिए सबसे विश्वसनीय शिक्षक बन जाता है।

3. "एक्स-रे" विजन (AST विश्लेषण)

एक बार जब रोबोट इन स्मार्ट उदाहरणों का उपयोग करके कोड लिख लेता है, तो हमें कैसे पता चलेगा कि उसने जो लिखा है वह उसने क्यों लिखा?

  • समस्या: आमतौर पर, AI कोड एक "ब्लैक बॉक्स" की तरह होता है। हम इनपुट और आउटपुट देखते हैं, लेकिन हमें यह नहीं पता कि उदाहरण के किस हिस्से ने रोबले को एक विशिष्ट लाइन लिखने के लिए प्रभावित किया।
  • समाधान: लेखक एक उपकरण का उपयोग करते हैं जिसे एब्स्ट्रैक्ट सिंटैक्स ट्री (Abstract Syntax Tree - AST) कहा जाता है। कोड को एक वाक्य के रूप में नहीं, बल्कि एक वंशावली (family tree) के रूप में सोचें।
    • "पत्तियां" (leaves) व्यक्तिगत शब्दों (टोकन) हैं।
    • "शाखाएं" (branches) संरचनाएं हैं (जैसे if स्टेटमेंट्स, लूप्स, या फंक्शन्स)।
  • उपमा: लेखक कोड पर एक्स-रे डालते हैं। वे रोबोट के आउटपुट से प्रभाव को वापस विशिष्ट उदाहरण तक ट्रैक करते हैं।
    • परिणाम: वे कह सकते हैं, "रोबोट ने इस विशिष्ट for-loop संरचना का उपयोग किया क्योंकि वह उदाहरण A से अत्यधिक प्रभावित था, लेकिन उसने इस error-handling ब्लॉक का उपयोग किया क्योंकि वह उदाहरण B से प्रभावित था।"
    • यह कोड को व्याख्या योग्य (interpretable) बनाता है। आप देख सकते हैं कि कोड का कौन सा हिस्सा "सुरक्षित" है और कौन सा हिस्सा जोखिम भरा हो सकता है क्योंकि उसे एक कमजोर उदाहरण से कॉपी किया गया था।

उन्होंने क्या पाया?

शोधकर्ताओं ने विभिन्न प्रकार के AI मॉडलों (जैसे Qwen, Llama, और StarCoder) पर एक मानक कोड टेस्ट का उपयोग करके परीक्षण किया, जिसे MBPP कहा जाता है।

  • बेहतर परिणाम: जब उन्होंने अपने "स्मार्ट उदाहरण चयनकर्ता" (प्रोटोकोड) का उपयोग किया, तो रोबोटों ने बेहतर कोड लिखा। उन्होंने यादृच्छिक उदाहरणों या केवल "निकटतम" वाले उदाहरणों का उपयोग करने की तुलना में अधिक टेस्ट पास किए (विशेष रूप से pass@10 मीट्रिक, जो यह जांचता है कि सही कोड शीर्ष 10 अनुमानों में आता है या नहीं)।
  • बुरे उदाहरणों का खतरा: उन्होंने पाया कि यदि आपने गलत उदाहरण चुने थे (खराब तरीके से चुने गए ICL प्रदर्शन), तो रोबोट का प्रदर्शन वास्तव में बिना किसी उदाहरण के दिए गए प्रदर्शन से भी खराब हो गया। यह साबित करता है कि मात्रा से अधिक गुणवत्ता मायने रखती है।
  • कोड की समझ: "एक्स-रे" विश्लेषण ने दिखाया कि रोबोट कोड के संरचित भागों (जैसे डेटा स्ट्रक्चर और फंक्शन्स) में सबसे अधिक आश्वस्त था, लेकिन जटिल एरर हैंडलिंग में संघर्ष करता रहा, चाहे जो भी उदाहरण उपयोग किए गए हों।

मुख्य निष्कर्ष (The Bottom Line)

यह पेपर AI को बेहतर होमवर्क उदाहरण देकर एक बेहतर छात्र बनने के बारे में है।

  1. केवल समान उदाहरण न चुनें; उन्हें चुनें जो वास्तव में समस्या के "आकार" का प्रतिनिधित्व करते हैं।
  2. प्रत्येक श्रेणी के लिए "चैंपियन" उदाहरण खोजने के लिए गणित का उपयोग करें।
  3. काम के अंदर झांकें यह देखने के लिए कि किन उदाहरणों ने AI के निर्णयों को प्रभावित किया, जिससे कोड सुरक्षित और समझने में आसान हो सके।

ऐसा करके, डेवलपर्स AI पर अधिक भरोसा कर सकते हैं, यह जानते हुए कि इसने कोड का एक विशिष्ट हिस्सा क्यों बनाया और यह सुनिश्चित करते हुए कि इसने किसी खराब उदाहरण से कोई बुरी आदत नहीं सीखी है।

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

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

Digest आज़माएँ →