Learning to Commit: Generating Organic Pull Requests via Online Repository Memory
यह शोध पत्र "लर्निंग टू कमिट" (Learning to Commit) प्रस्तुत करता है, जो एक ऑनलाइन रिपॉजिटरी मेमोरी सिस्टम के माध्यम से ऐतिहासिक रिपॉजिटरी कमिट्स पर एजेंटों को प्रशिक्षित करके, एलएलएम (LLM) द्वारा जनरेट किए गए पुल रिक्वेस्ट की सार्थकता (organicity) को बढ़ाता है, जिससे वे प्रोजेक्ट-विशिष्ट परंपराओं और आर्किटेक्चरल पैटर्न को सीख पाते हैं ताकि वास्तविक दुनिया के मेंटेनर की अपेक्षाओं के अनुरूप कोड का उत्पादन किया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
द बिग प्रॉब्लम: "एलियन" कोडर
कल्पना कीजिए कि आपने एक प्रतिभाशाली नए सॉफ्टवेयर इंजीनियर को काम पर रखा है जिसने दुनिया की हर कोडिंग किताब पढ़ रखी है। वह लॉजिक में जीनियस है और लगभग किसी भी बग को तुरंत ठीक कर सकता है।
हालाँकि, जब वह अपना पहला काम सबमिट करता है, तो टीम लीड उसे रिजेक्ट कर देता है। क्यों?
- उसने उस पहिए को फिर से बना दिया जिसे टीम पहले ही बना चुकी थी।
- उसने वेरिएबल्स के नाम ऐसे रखे जिससे बाकी सभी भ्रमित हो गए।
- उसने उस छिपे हुए नियम को तोड़ दिया कि इमारत का ढांचा कैसे बनाया जाना चाहिए।
कोड पूरी तरह से काम करता है, लेकिन यह एलियन (पराया) लगता है। ऐसा लगता है जैसे इसे किसी ऐसे व्यक्ति ने लिखा है जो वास्तव में उस विशिष्ट ऑफिस में कभी रहा ही नहीं। वर्तमान AI कोडिंग एजेंट्स ऐसे ही हैं: वे स्मार्ट हैं, लेकिन वे उस विशिष्ट प्रोजेक्ट की "संस्कृति" या "इतिहास" को नहीं जानते जिस पर वे काम कर रहे हैं। वे केवल सामान्य ज्ञान के आधार पर अनुमान लगाते हैं।
द सोल्यूशन: "लर्निंग टू कमिट" (Learning to Commit)
इस पेपर के लेखकों ने एक नया फ्रेमवर्क बनाया है जिसे लर्निंग टू कमिट कहा जाता है। इसे एक नए प्रोजेक्ट के लिए कोड की एक भी लाइन लिखने से पहले AI के लिए एक सख्त, गहन ऑनबोर्डिंग प्रोग्राम के रूप में समझें।
AI को केवल वर्तमान कोड सौंपकर यह कहने के बजाय कि, "इस बग को ठीक करो," AI को पीछे जाकर प्रोजेक्ट के इतिहास से सीखने के लिए मजबूर किया जाता है।
यह कैसे काम करता है: "टाइम-ट्रैवल इंटर्न" एनालॉजी
कल्पना कीजिए कि AI एक प्रसिद्ध आर्किटेक्चर फर्म में एक नया इंटर्न है।
1. सेटअप (द टाइम स्प्लिट)
फर्म का एक सख्त नियम है: इंटर्न भविष्य की इमारतों के ब्लूप्रिंट नहीं देख सकता। वह केवल पिछले 50 वर्षों के पूरे हो चुके प्रोजेक्ट्स का अध्ययन कर सकता है।
2. स्टेप 1: "ब्लाइंड" प्रैक्टिस (कॉन्ट्रास्टिव रिफ्लेक्शन)
इंटर्न को 10 साल पहले की एक समस्या का विवरण दिया जाता है (जैसे, "लिफ्ट बहुत धीमी थी")।
- प्रयास (The Attempt): इंटर्न अपनी सामान्य दिमागी शक्ति का उपयोग करके इसे हल करने की कोशिश करता है। वह एक समाधान लिखता है।
- खुलासा (The Reveal): बॉस उस वास्तविक समाधान को प्रकट करता है जो सीनियर आर्किटेटेक्ट्स ने तब इस्तेमाल किया था।
- सीख (The Lesson): इंटर्न अपने समाधान की तुलना वास्तविक समाधान से करता है।
- ओह, मैंने एक भारी धातु का गियर इस्तेमाल किया, लेकिन उन्होंने एक हल्के स्प्रिंग का उपयोग किया।
- ओह, मैंने मोटर को बेसमेंट में रखा, लेकिन उन्होंने इसे हवा के कारण छत पर रखा क्योंकि वहां हवा का प्रभाव अलग है।
- ओह, मैंने फाइल का नाम
elevator_fix.pyरखा, लेकिन वे हमेशाlift_system_v2.pyका उपयोग करते हैं।
इंटर्न इन सीखों को अपने पर्सनल स्किल नोटबुक में लिख लेता है। वह केवल उत्तर को याद नहीं करता; वह इस विशिष्ट फर्म के स्टाइल, छिपे हुए नियमों और पसंदीदा टूल्स को याद करता है।
3. स्टेप 2: असली टेस्ट (स्किल-कंडीशन्ड रेजोल्यूशन)
अब, एक बिल्कुल नई समस्या आती है (एक भविष्य का कार्य जिसे इंटर्न ने पहले कभी नहीं देखा है)।
- इंटर्न अपनी स्किल नोटबुक खोलता है।
- उसे याद आता है: "इस फर्म में, हम कभी भी मोटर को बेसमेंट में नहीं रखते," और "हम हमेशा स्प्रिंग्स का उपयोग करते हैं।"
- वह नई समस्या को हल करता है, लेकिन इस बार उसका समाधान ऐसा दिखता है जैसे उसे उस सीनियर आर्किटेक्ट ने लिखा हो जो वहां 20 साल से काम कर रहा है। यह पूरी तरह से फिट बैठता है।
यह क्यों एक बड़ी बात है
पिछले AI टेस्ट एक छात्र को गणित का टेस्ट देने और यह जांचने जैसे थे कि क्या उसने सही नंबर निकाला। यह पेपर एक नया स्तर जोड़ता है: क्या उन्होंने इसे उसी तरह हल किया जैसे हमारी टीम करती है?
शोधकर्ताओं ने इसका परीक्षण एक वास्तविक, जटिल सॉफ्टवेयर प्रोजेक्ट पर किया। उन्होंने पाया कि जब AI ने इस "टाइम-ट्रैवल इंटर्न" पद्धति का उपयोग किया:
- उसने सही फाइलों को तेज़ी से ढूँढा: उसने गलत कमरों में समय बर्बाद नहीं किया।
- उसने कम "ब्लोट" (अनावश्यक कोड) लिखा: उसने 10 लाइनों के बजाय 50 लाइनें नहीं लिखीं, क्योंकि वह टीम के शॉर्टकट्स को जानता था।
- यह "ऑर्गेनिक" लगा: कोड ऐसा लगा जैसे वह प्रोजेक्ट से स्वाभाविक रूप से विकसित हुआ है, न कि बाहर से चिपकाया गया है।
टेकअवे (निष्कर्ष)
यह पेपर तर्क देता है कि वास्तविक दुनिया के सॉफ्टवेयर के लिए AI को वास्तव में उपयोगी बनाने के लिए, हमें केवल उसे कोडिंग में स्मार्ट बनाना ही काफी नहीं है। हमें उसे किसी प्रोजेक्ट की विशिष्ट संस्कृति को सीखने में बेहतर बनाना होगा।
AI को पिछले समस्याओं पर "विफल" होने और विशेषज्ञों के सुधारों से सीखने के लिए मजबूर करके, यह प्रोजेक्ट के अद्वितीय व्यक्तित्व की स्मृति बनाता है। यह एक सामान्य, रोबोटिक कोडर को एक अनुभवी टीम मेंबर में बदल देता है जो पूरी तरह से घुल-मिल जाता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।