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

Byam: Fixing Breaking Dependency Updates with Large Language Models

यह शोध पत्र Byam प्रस्तुत करता है, जो डिपेंडेंसी अपडेट के कारण टूटे हुए क्लाइंट कोड को स्वचालित रूप से ठीक करने के लिए लार्ज लैंग्वेज मॉडल्स (LLMs) का लाभ उठाने वाला एक दृष्टिकोण है, जो यह प्रदर्शित करता है कि OpenAI के o3-mini जैसे मॉडल्स संदर्भ संबंधी जानकारी और उन्नत प्रॉम्प्टिंग रणनीतियों के साथ 27% संपूर्ण बिल्ड्स और 78% व्यक्तिगत कंपाइलेशन त्रुटियों को सफलतापूर्वक ठीक कर सकते हैं।

मूल लेखक: Frank Reyes, May Mahmoud, Federico Bono, Sarah Nadi, Benoit Baudry, Martin Monperrus

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

मूल लेखक: Frank Reyes, May Mahmoud, Federico Bono, Sarah Nadi, Benoit Baudry, Martin Monperrus

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

कल्पना कीजिए कि आप एक विशाल, जटिल लेगो (LEGO) किला बना रहे हैं। आपने इसे बनाने में महीनों बिताए हैं, जिसमें "BlockCo" नामक एक लोकप्रिय ब्रांड के विशिष्ट ईंटों (bricks) का उपयोग किया गया है।

अचानक, BlockCo अपने ईंटों का एक नया संस्करण जारी करता है। उन्होंने केवल नए रंग ही नहीं जोड़े, बल्कि उनके कनेक्टर्स का आकार भी बदल दिया। आपने जिन गोल पेग्स (pegs) का उपयोग किया था, वे अब चौकोर छेद में फिट नहीं होते क्योंकि अब वे चौकोर पेग्स बन गए हैं। आपका किला, जो कल तक एकदम सही था, अब गिरती हुई ईंटों का ढेर बन गया है।

सॉफ्टवेयर की दुनिया में, इसे ब्रेकिंग डिपेंडेंसी अपडेट (Breaking Dependency Update) कहा जाता है। डेवलपर्स "लाइब्रेरीज़" (जैसे BlockCo) पर निर्भर होते हैं ताकि वे अपने ऐप्स बना सकें। जब ये लाइब्रेरीज़ अपडेट होती हैं, तो वे कभी-कभी नियमों को इतनी तेज़ी से बदल देती हैं कि उनके ऊपर बना कोड क्रैश हो जाता है।

इसे मैन्युअल रूप से ठीक करना ऐसा है जैसे हजारों लेगो ईंटों को एक-एक करके हाथ से फिर से जोड़ने की कोशिश करना, जबकि आप बदलावों की 500 पन्नों की नियमावली (manual) पढ़ रहे हों। यह उबाऊ, थकाऊ और गलतियों से भरा काम है।

मिलिए "Byam" से: एक सुपर-इंटेलिजेंट लेगो रिपेयर रोबोट

यह पेपर Byam को पेश करता है, जो एक नया टूल है जो लार्ज लैंग्वेज मॉडल्स (LLMs)—सोचिए कि वे सुपर-स्मार्ट, बहुत पढ़े-लिखे रोबोट हैं—का उपयोग करके इन टूटे हुए लेगो किलों को स्वचालित रूप से ठीक करता है।

यहाँ बताया गया है कि Byam कैसे काम करता है, जिसे सरल चरणों में विभाजित किया गया है:

1. जासूसी का काम (चरण 1)

जब किला ढह जाता है, तो Byam केवल अनुमान नहीं लगाता। वह एक जासूस की तरह काम करता है:

  • यह क्रैश रिपोर्ट को पढ़ता है: यह त्रुटि संदेश (कंप्यूटर की "चीख") को देखता है।
  • यह अपराधी को ढूंढता है: यह कोड की उस सटीक लाइन का पता लगाता है जहाँ गोल पेग ने चौकोर छेद में फिट होने की कोशिश की थी।
  • यह नियमावली की जाँच करता है: यह पुरानी BlockCo नियमावली की तुलना नई नियमावली से करता है ताकि यह देखा जा सके कि वास्तव में क्या बदला है (जैसे, "पेग अब चौकोर है," या "यह ईंट पूरी तरह से हटा दी गई है")।

2. विचार-मंथन सत्र (चरण 2)

यहीं असली जादू होता है। Byam केवल रोबोट से यह नहीं कहता, "इसे ठीक करो।" यह एक मैकेनिक से पूछने जैसा है, "मेरी कार खराब है, इसे ठीक करो," बिना यह बताए कि क्या गलत है।

इसके बजाय, Byam रोबोट को एक सुपर-विस्तृत निर्देश पत्र (जिसे "प्रॉम्प्ट" कहा जाता है) देता है। इस पत्र में शामिल हैं:

  • त्रुटि (Error): "कार शुरू नहीं हो रही है।"
  • सटीक स्थान (Exact Spot): "सिलेंडर 3 का स्पार्क प्लग गायब है।"
  • मैनुअल में बदलाव (Manual Changes): "नया इंजन अलग प्रकार के स्पार्क प्लग का उपयोग करता है।"
  • एक चरण-दर-चरण योजना (Chain of Thought): "पहले, पुराने प्लग की पहचान करें। दूसरा, नए संगत (compatible) प्लग को खोजें। तीसरा, उन्हें बदलें। चौथा, जांचें कि क्या तार फिट बैठते हैं।"

पेपर ने पांच अलग-अलग "रोबोटों" (AI मॉडल्स) और इन निर्देश पत्रों को लिखने के आठ अलग-अलग तरीकों का परीक्षण किया। उन्होंने पाया कि सबसे अच्छे परिणाम तब मिले जब सबसे स्मार्ट रोबोट (o3-mini) का उपयोग किया गया और उसे चरण-दर-चरण योजना सहित सबसे विस्तृत निर्देश दिए गए।

3. टेस्ट ड्राइव (चरण 3)

एक बार जब रोबोट सुधार का सुझाव देता है, तो Byam पुराने कोड को नए कोड से बदल देता है और फिर से किला बनाने की कोशिश करता है।

  • सफलता: किला मजबूती से खड़ा है!
  • आंशिक सफलता: किला ज्यादातर खड़ा है, लेकिन कुछ ईंटें अभी भी ढीली हैं। (यह वास्तव में बहुत मददगार है! इसका मतलब है कि डेवलपर को केवल थोड़ा सा काम ही ठीक करना होगा)।
  • नई समस्याएँ: कभी-कभी, रोबट एक चीज़ को ठीक करने की कोशिश करता है लेकिन गलती से किसी दूसरी चीज़ को खराब कर देता है। पेपर में पाया गया कि सबसे अच्छे रोबोट शायद ही ऐसा करते हैं, लेकिन यह एक जोखिम है जिस पर नज़र रखनी चाहिए।

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

शोधकर्ताओं ने इसका परीक्षण 103 वास्तविक दुनिया के सॉफ्टवेयर प्रोजेक्ट्स पर किया जो टूट चुके थे। यहाँ परिणाम दिए गए हैं:

  • जादुई संख्या: सबसे अच्छा सेटअप टूटे हुए प्रोजेक्ट्स में से 27% को पूरी तरह से ठीक कर देता है। इसका मतलब है कि कंप्यूटर ने समस्या को हल कर दिया, और सॉफ्टवेयर बिना किसी मानवीय हस्तक्षेप के पूरी तरह से चल रहा है।
  • "लगभग" सफलता: भले ही वह पूरे प्रोजेक्ट को ठीक न कर सका, फिर भी उसने व्यक्तिगत त्रुटियों में से 78% को ठीक कर दिया। कल्पना कीजिए कि एक टूटी हुई कार के 10 हिस्से खराब हैं; रोबोट ने उनमें से 8 को ठीक कर दिया। मानव मैकेनिक को केवल अंतिम 2 को ठीक करना होगा। यह बहुत सारा समय बचाता है!
  • गुप्त नुस्खा (Secret Sauce): रोबोट सबसे अच्छा काम करता था जब उसे सटीक रूप से बताया गया कि कौन सी लाइन टूटी हुई है और लाइब्रेरी में हुए बदलावों की एक सूची (API Diff) दी गई थी। यह भी बेहतर काम करता था जब इसे जवाब देने से पहले "चरण-दर-चरण सोचने" के लिए कहा जाता था।

यह क्यों मायने रखता है?

सॉफ्टवेयर अपडेट को एक ऐसे शहर की तरह समझें जो लगातार अपनी सड़कों का नवीनीकरण कर रहा है। कभी-कभी, एक सड़क बंद होती है, और यातायात संकेत बदल जाते हैं। यदि आप अपना GPS अपडेट नहीं करते हैं, तो आप दुर्घटनाग्रस्त हो जाते हैं।

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

Byam एक स्वायत्त (autonomous) GPS अपडेट सिस्टम की तरह है। यह शहर पर नज़र रखता है, सड़क के बदलावों को देखता है, और स्वचालित रूप से आपके रास्ते को बदल देता है ताकि आप दुर्घटनाग्रस्त न हों।

मुख्य बात (The Bottom Line)

यह पेपर साबित करता है कि AI टूटे हुए कोड को ठीक करने के लिए "जूनियर डेवलपर" बनने के काबिल हो रहा है। यह अभी भी मानव डेवलपर्स की जगह नहीं लेगा (क्योंकि यह अभी भी गलतियाँ करता है और कभी-कभी इसे काम पूरा करने के लिए इंसान की ज़रूरत होती है), लेकिन यह भारी काम कर सकता है।

टूटे हुए अपडेट को ठीक करने में दिन बिताने के बजाय, डेवलपर्स Byam को 78% काम करने दे सकते हैं, जिससे वे सॉफ्टवेयर बनाने के रचनात्मक और जटिल हिस्सों पर ध्यान केंद्रित कर सकें। यह मिश्रित लेगो को मैन्युअल रूप से छाँटने और एक रोबोट द्वारा आपके लिए 80% को छाँटने के बीच का अंतर है।

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

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

Digest आज़माएँ →