← नवीनतम पेपर
💻 computer science

Toward Linking Declined Proposals and Source Code: An Exploratory Study on the Go Repository

यह शोध पत्र गो (Go) रिपॉज़िटरी में अस्वीकृत प्रस्तावों और सोर्स कोड के बीच ट्रैसेबिलिटी लिंक स्थापित करने के लिए एक एलएलएम-संचालित (LLM-driven) दृष्टिकोण प्रस्तुत करता है, जो यह प्रदर्शित करता है कि हालांकि पाइपलाइन सही कोड ग्रैनुलैरिटी (granularity) चुनने में उच्च सटीकता प्राप्त करती है, लेकिन ठोस कार्यान्वयन विवरणों के अभाव वाली अनावश्यक चर्चाओं के कारण चुनौतियां बनी हुई हैं।

मूल लेखक: Sota Nakashima, Masanari Kondo, Mahmoud Alfadel, Aly Ahmad, Toshihiro Nakae, Hidenori Matsuzaki, Yasutaka Kamei

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

मूल लेखक: Sota Nakashima, Masanari Kondo, Mahmoud Alfadel, Aly Ahmad, Toshihiro Nakae, Hidenori Matsuzaki, Yasutaka Kamei

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

कल्पना कीजिए कि आप एक विशाल, हलचल भरे पुस्तकालय के एक लाइब्रेरियन हैं जिसे "Go Repository" कहा जाता है। यह पुस्तकालय केवल किताबें (कोड) ही नहीं रखता, बल्कि इसमें उन लोगों के हजारों सुझाव पत्र (प्रस्ताव) भी रखे हैं जो पुस्तकालय में नए अनुभाग जोड़ना, नए अध्याय फिर से लिखना या नए विंग बनाना चाहते हैं।

ज्यादातर समय, जब कोई बदलाव का सुझाव देते हुए एक पत्र लिखता है, तो लाइब्रेरियन (मेंटेनर्स) कहते हैं, "शानदार विचार!" और वे वास्तव में उसे बना भी देते हैं। शोधकर्ताओं ने वर्षों तक यह अध्ययन करने में बिताया है कि उन "शानदार विचार!" वाले पत्रों को नए भवनों के वास्तविक ब्लूप्रिंट से कैसे जोड़ा जाए।

लेकिन उन पत्रों का क्या होता है जिन्हें खारिज कर दिया गया?

अतीत में, यदि एक लाइब्रेरियन कहता, "नहीं, हम यह नहीं बना सकते," तो उस पत्र को बस एक धूल भरी डिब्बी में रख दिया जाता था। जिस पेपर के बारे में आप पूछ रहे हैं वह एक क्रांतिकारी अध्ययन है जो कहता है: "ठहरिए! वे खारिज किए गए पत्र सोने के समान कीमती हैं।"

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

मिशन: "ना" वाले ढेर तक एक पुल बनाना

इस पेपर के लेखकों ने एक जादुई पुल (एक कंप्यूटर प्रोग्राम) बनाने की कोशिश की जो स्वचालित रूप से एक "खारिज किए गए पत्र" को पुस्तकालय के विशिष्ट भाग (सोर्स कोड) से जोड़ सके जिसके बारे में वह पत्र बात कर रहा था।

उन्हें एक कठिन पहेली का सामना करना पड़ा:

  1. स्केल की समस्या (The Scale Problem): एक पत्र पूरे "इतिहास अनुभाग" (डायरेक्टरी) के बारे में हो सकता है, एक विशिष्ट "किताब" (फाइल) के बारे में, या केवल एक एकल "पैराग्राफ" (फंक्शन) के बारे में। कंप्यूटर को जानना होगा कि उसे किस स्तर पर देखना है।
  2. भूत की समस्या (The Ghost Problem): चूंकि फीचर को खारिज कर दिया गया था, इसलिए नया कोड अभी मौजूद नहीं है। कंप्यूटर केवल नए कोड को नहीं ढूंढ सकता; उसे अनुमान लगाना होगा कि वह पुराना कोड कहाँ है जिसके बारे में पत्र बात कर रहा था।

समाधान: "सुपर-इंटेलिजेंट लाइब्रेरियन" (LLM)

इसे हल करने के लिए, शोधकर्ताओं ने एक लार्ज लैंग्वेज मॉडल (LLM) द्वारा संचालित एक पाइपलाइन बनाई। इस LLM को एक सुपर-इंटेलिजेंट, अति-सतर्क लाइब्रेरियन के रूप में समझें जिसने पुस्तकालय की हर किताब और लिखा गया हर पत्र पढ़ा है।

यहाँ उनका "जादुई पुल" चरण-दर-चरण कैसे काम करता है:

चरण 1: "ज़ूम लेंस" का निर्णय (Granularity)

सबसे पहले, सुपर-लाइब्रेरियन खारिज किए गए पत्र को पढ़ता है और पूछता है: "क्या यह व्यक्ति पूरे भवन, एक विशिष्ट कमरे, या केवल एक वाक्य के बारे में बात कर रहा है?"

  • डायरेक्टरी स्तर (Directory Level): "हमें एक नया विंग चाहिए!" (पूरा पैकेज)।
  • फाइल स्तर (File Level): "हमें इस विशिष्ट अध्याय को फिर से लिखने की आवश्यकता है।" (फाइल)।
  • फंक्शन स्तर (Function Level): "हमें इस पैराग्राफ में एक टाइपो ठीक करने की आवश्यकता है।" (फंक्शन)।
  • परिणाम: कंप्यूटर को सही स्तर पर "ज़ूम लेंस" सेट मिल जाता है।

चरण 2: "खजाने की खोज" (Localization)

एक बार जब लेंस सेट हो जाता है, तो सुपर-लाइब्रेरियन शिकार पर निकल जाता है।

  • यदि पत्र एक डायरेक्टरी के बारे में है, तो लाइब्रेरियन सही विंग खोजने के लिए लाइब्रेरी मैप को स्कैन करता है।
  • यदि यह एक फाइल के बारे में है, तो वे उस विंग में जाते हैं और विशिष्ट पुस्तक ढूंढते हैं।
  • यदि यह एक फंक्शन के बारे में है, तो वे किताब खोलते हैं और सटीक पैराग्राफ ढूंढते हैं।
  • ट्रिक: पुराने तरीकों के विपरीत जो केवल समान शब्दों को देखते थे (जैसे एक बुनियादी सर्च इंजन), यह सुपर-लाइब्रेरियन संदर्भ (context) को समझता है। वे जानते हैं कि यदि कोई कहता है "लॉगिन बटन को ठीक करें," तो वे login.go फाइल के बारे में बात कर रहे हैं, भले ही "login" और "button" शब्द फाइल के नाम में न हों।

चरण 3: "अंतिम फैसला" (Link Decision)

अंत में, लाइब्रेरियन एक हाथ में पत्र और दूसरे हाथ में कोड लेकर पूछता है: "क्या ये दोनों एक साथ संबंधित हैं?" यदि हाँ, तो वे उन्हें एक डिजिटल पेपरक्लिप के साथ जोड़ देते हैं (एक ट्रेसेबिलिटी लिंक)।

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

शोधकर्ताओं ने आधिकारिक गो (Go) भाषा लाइब्रेरी पर इसका परीक्षण किया। यहाँ उनका "रिपोर्ट कार्ड" है:

  1. यह बड़े चित्र (Big Picture) में काफी अच्छा है: सिस्टम यह समझने में बहुत अच्छा था कि एक पत्र पूरे विंग के बारे में था या एक विशिष्ट कमरे के बारे में (83.6% सटीकता)।
  2. यह विवरणों में ठीक-ठाक है: जब बात सटीक पैराग्राफ (फंक्शन) खोजने की आई, तो यह थोड़ा डगमगाया (केवल 40% सटीकता)।
  3. "प्रिसिजन" स्कोर: जब सिस्टम ने एक लिंक बनाया, तो वह 64% बार सही था। यह एक ऐसे कार्य के लिए एक ठोस शुरुआत है जिसे ऑटोमेट करने का पहले कभी प्रयास नहीं किया गया था!

यह कभी-कभी क्यों विफल होता है? ("क्यों" का विश्लेषण)

शोधकर्ताओं ने विफलताओं की जांच की और पाया कि दो मुख्य कारणों से सुपर-लाइब्रेरियन भ्रमित हो गया:

  • "अस्पष्ट अनुरोध" की समस्या (The Vague Request Problem): कभी-कभी पत्र कहता था, "हमें सिस्टम को तेज़ बनाने की आवश्यकता है," लेकिन यह नहीं बताता था कि कैसे या कहाँ। यह ऐसा है जैसे किसी ठेकेदार को बिना टूटी हुई खिड़की की ओर इशारा किए कहना, "घर को ठीक करें।" कंप्यूटर को नहीं पता था कि कहाँ देखना है।
  • "शोर" की समस्या (The Noise Problem): कभी-कभी पत्र 50 पन्नों लंबा होता था, जिसमें बहस, मजाक और साइड बातचीत भरी होती थी। महत्वपूर्ण सुराग (जैसे, "auth फंक्शन को बदलें") कॉफी ब्रेक के बारे में एक लंबी बहस के बीच में दबा हुआ था। कंप्यूटर शोर से विचलित हो गया।

मुख्य निष्कर्ष

यह पेपर एक पुस्तकालय को व्यवस्थित करने के एक नए तरीके की खोज जैसा है। पहले, यदि आप किसी विचार को खारिज करते थे, तो आप कागज फेंक देते थे। अब, हमारे पास एक उपकरण है जो कहता है: "इसे फेंकिए मत! आइए इसे उस दीवार पर पिन करें जहाँ वह कोड है जिसके बारे में वह बात कर रहा था।"

यह भविष्य के डेवलपर्स को पिछले निर्णयों के "भूतों" को देखने में मदद करता है। वे कोड के एक टुकड़े के पास जा सकते हैं और एक नोट देख सकते हैं जो कहता है, "हे, हमने 2024 में यह फीचर वापस जोड़ने के बारे में सोचा था, लेकिन हमने तय किया कि यह सुरक्षा को तोड़ देगा। यहाँ कारण दिया गया है।"

यह "ना" वाले ढेर को एक मूल्यवान इतिहास पाठ में बदल देता है, जिससे यह सुनिश्चित होता है कि पुस्तकालय अपनी सफलताओं के साथ-साथ अपने पिछले अस्वीकारों से भी सीखता है।

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

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

Digest आज़माएँ →