What to Cut? Predicting Unnecessary Methods in Agentic Code Generation
यह शोध पत्र एक ऐसे भविष्य कहनेवाला मॉडल का प्रस्ताव करता है जो कोड समीक्षकों को पुल रिक्वेस्ट समीक्षाओं के दौरान उन AI-जनरेटेड फंक्शन्स को कुशलतापूर्वक पहचानने और प्राथमिकता देने में मदद करता है जिनके हटाए जाने की संभावना होती है, जो विभिन्न कारणों से हटाए गए कोड की विशिष्ट विशेषताओं का लाभ उठाकर 87.1% AUC प्राप्त करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपने एक घर बनाने में मदद करने के लिए एक सुपर-फास्ट, उत्साही रोबोट सहायक को काम पर रखा है। आप उसे कहते हैं, "मेरे लिए एक किचन बनाओ," और वह तेजी से निकल जाता है।
जब वह वापस आता है, तो उसने केवल एक किचन नहीं बनाया है। उसने एक किचन, एक पेंट्री, एक छोटा सा गार्डन शेड, एक गुप्त भूमिगत बंकर और लिविंग रूम में एक फुल-साइज़ स्विमिंग पूल भी बना दिया है। उसने यह सब सेकंडों में कर दिखाया!
समस्या: "अति-उत्साही" सहायक
एजेंटिक कोडिंग (GitHub Copilot या Cursor जैसे AI टूल्स) के साथ बिल्कुल ऐसा ही होता है। ये AI एजेंट्स आपके निर्देशों के आधार पर कोड लिखने में अद्भुत हैं। लेकिन, हमारे रोबोट बिल्डर की तरह, वे बहुत ज्यादा काम करने लगते हैं। वे बहुत सारा कोड जेनरेट करते हैं, जिसमें वे हिस्से भी शामिल होते हैं जिनकी जरूरत नहीं है, जो अनावश्यक हैं, या जो अंतिम डिज़ाइन में फिट नहीं बैठते।
अब, कल्पना कीजिए कि आप होम इंस्पेक्टर (मानव समीक्षक) हैं। आपका काम घर में रहने जाने से पहले उसका निरीक्षण करना है।
- AI से पहले: आपको कुछ कमरों की जांच करनी होती थी।
- AI के साथ: आपके पास अतिरिक्त कमरों, नकली खिड़कियों और लिविंग रूम में एक पूल वाला एक विशाल महल है। आपको सब कुछ देखना होगा, तय करना होगा कि क्या बेकार है, और फिर बिल्डर को कहना होगा, "इसे तोड़ दो।"
यह शोध पत्र तर्क देता है कि यह निरीक्षण प्रक्रिया एक दुस्वप्न बनती जा रही है। समीक्षक उस "अतिरिक्त" कोड में डूब रहे हैं जिसे AI ने लिखा है लेकिन जिसे इंसान अंततः हटा देंगे।
समाधान: "कचरे का डिब्बा भविष्यवक्ता" (The Trash Can Predictor)
शोधकर्ताओं ने एक सरल प्रश्न पूछा: "क्या हम निरीक्षण शुरू करने से पहले ही यह अनुमान लगा सकते हैं कि AI के काम के कौन से हिस्से कचरे के डिब्बे में जाएंगे?"
उन्होंने इसे एक जासूसी खेल की तरह माना। उन्होंने हजारों कोड सबमिशन (पुल रिक्वेस्ट) को देखा जहाँ AI ने कोड लिखने में मदद की थी। उन्होंने ट्रैक किया कि कौन से विशिष्ट फंक्शन (कोड के छोटे टुकड़े) बाद में हटा दिए गए और कौन से जीवित रहे।
उन्होंने क्या पाया? (सुराग)
उन्होंने खोजा कि कचरे में जाने वाले कोड का एक विशिष्ट "फिंगरप्रिंट" होता है। यह केवल कोड के "बुरे" या "भद्दे" होने के बारे में नहीं है। यह विशिष्ट पैटर्न के बारे में है:
- लंबे नाम: यदि किसी फंक्शन का नाम बहुत लंबा और शब्दबहुल है, तो उसे हटाए जाने की अधिक संभावना है। (इसे ऐसे समझें जैसे किसी कमरे का नाम "पेंट्री" रखने के बजाय "वह बहुत महत्वपूर्ण कमरा जहाँ हम चम्मच रखते हैं" रख देना। AI बहुत अधिक वर्णनात्मक हो जाता है।)
- बहुत अधिक अक्षर: यदि कोड ब्लॉक बहुत लंबा है, तो उसे काटे जाने की अधिक संभावना है।
- बहुत अधिक शब्द: यदि कोड शब्दों या कमेंट्स से भरा है, तो यह एक रेड फ्लैग (चेतावनी) है।
अनिवार्य रूप से, AI अत्यधिक विस्तृत (verbose) और ओवर-इंजीनियर्ड होता है। यह ऐसा कोड लिखता है जो कागज पर तो एकदम सही दिखता है लेकिन वास्तव में उस विशिष्ट कार्य के लिए अनावश्यक होता है।
जादुई उपकरण: क्रिस्टल बॉल
शोधकर्ताओं ने एक प्रेडिक्शन मॉडल (एक स्मार्ट कैलकुलेटर) बनाया जो AI द्वारा कोड जेनरेट किए जाने के तुरंत बाद उस पर नज़र रखता है। ऊपर दिए गए सुरागों (लंबाई, नाम की जटिलता आदि) के आधार पर, यह एक स्कोर देता है: "इस बात की 87% संभावना है कि इस कोड के टुकड़े को हटा दिया जाएगा।"
यह सिर्फ AI से पूछने से बेहतर क्यों है?
शोधकर्ताओं ने इसका परीक्षण एक बहुत ही स्मार्ट AI (GPT-4o) के विरुद्ध किया।
- स्मार्ट AI ने कोड को देखा और कहा, "यह बहुत बढ़िया लग रहा है! यह सभी नियमों का पालन करता है, इसमें अच्छे कमेंट्स हैं और यह अच्छी तरह व्यवस्थित है। इसे रखें!" (यह गुणवत्ता के दिखावे से धोखा खा गया)।
- प्रेडिक्शन मॉडल ने संरचना को देखा और कहा, "यह बहुत लंबा है और इसका नाम अजीब है। इसकी संभावना है कि इसे काट दिया जाएगा।"
मॉडल 87% बार सही था, जबकि स्मार्ट AI अक्सर कोड की "अच्छी लुक्स" से धोखा खा जाता था।
बड़ी सीख
यह AI को कोड लिखने से रोकने के बारे में नहीं है। यह इंसानों को समय बर्बाद करने से रोकने के बारे में है।
यदि आप एक कोड समीक्षक हैं, तो 100 लाइनों का कोड पढ़ने के बजाय यह पता लगाने के लिए कि कौन सी 10 लाइनें बेकार हैं, यह टूल एक हाइलाइटर की तरह काम करता है। यह कहता है, "हे, इन 90 लाइनों को अनदेखा करें। उन्हें वैसे भी हटाया जाने वाला है। बस उन 10 लाइनों पर ध्यान केंद्रित करें जो वास्तव में मायने रखती हैं।"
संक्षेप में:
AI एक बेहतरीन बिल्डर है, लेकिन वह अव्यवस्थित है। वह बहुत अधिक निर्माण करता है। यह शोध पत्र एक "कचरे का डिब्बा भविष्यवक्ता" प्रदान करता है जो मानव समीक्षकों को कचरे को छोड़कर असली सोने (महत्वपूर्ण कोड) पर ध्यान केंद्रित करने में मदद करता है, जिससे उन्हें AI के अति-उत्साह से होने वाली परेशानी से बचाया जा सके।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।