More Code, Less Reuse: Investigating Code Quality and Reviewer Sentiment towards AI-generated Pull Requests
यह शोध पत्र कोड की गुणवत्ता और समीक्षक की भावना पर LLM एजेंटों के प्रभाव की जांच करता है, जिससे यह पता चलता है कि हालांकि AI-जनित पुल रिक्वेस्ट (pull requests) तटस्थ या सकारात्मक प्रतिक्रियाएं प्राप्त करते हैं, वे अक्सर बढ़ी हुई पुनरुक्ति (redundancy) और अनदेखी पुन: उपयोग के अवसरों से ग्रस्त होते हैं जो मूक तकनीकी ऋण (silent technical debt) में योगदान देते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
यहाँ "More Code, Less Reuse" पेपर का विवरण दिया गया है, जिसे रोज़मर्रा के उदाहरणों और सरल अवधारणाओं में विभाजित किया गया है।
बड़ी तस्वीर: वह "सहायक" रोबोट जो गैरेज को बिखेर देता है
कल्पना कीजिए कि आपके पास अपने गैरेज को व्यवस्थित करने के लिए एक बहुत ही स्मार्ट, तेज़ रोबोट सहायक है। आप उससे एक टूटा हुआ शेल्फ ठीक करने या एक नया टूल बनाने के लिए कहते हैं। रोबोट अविश्वसनीय रूप से तेज़ और विनम्र है। वह आपको एक तैयार उत्पाद थमाता है जो एकदम सही दिखता है और तुरंत काम करता है।
हालाँकि, यह पेपर इस बात की जाँच करता है कि क्या होता है जब हम इन रोबोटों (AI Agents) को बहुत अधिक काम करने देते हैं। शोधकर्ताओं ने पाया कि एक आश्चर्यजनक समस्या है: रोबोट उन चीज़ों का उपयोग करने के बजाय जो आपके पास पहले से मौजूद हैं, डुप्लिकेट टूल्स बना रहे हैं।
दो मुख्य प्रश्न
शोधकर्ताओं ने यह समझने के लिए दो सरल प्रश्न पूछे कि वास्तव में क्या हो रहा है:
- क्या कोड वास्तव में अच्छा है? (गैरेज को देखना)।
- मानव बॉस अपने काम के बारे में कैसा महसूस करते हैं? (रिव्यू देखना)।
1. "गैरेज" की समस्या: अधिक सामान, कम पुन: उपयोग (Reuse)
जब मानव डेवलपर्स कोड लिखते हैं, तो वे आमतौर पर पहले आसपास देखते हैं। यदि टूलबॉक्स में पहले से ही एक "स्क्रूड्राइवर" (कोड का एक टुकड़ा) मौजूद है जो काम कर सकता है, तो वे उसे उठाते हैं और उपयोग करते हैं। यह गैरेज को व्यवस्थित और कुशल रखता है।
AI क्या करता है:
AI एजेंट ऐसे रोबोट की तरह हैं जिन्हें नहीं पता कि आपके टूलबॉक्स में क्या है। मौजूदा स्क्रूड्राइवर को उठाने के बजाय, वह शून्य से एक नया स्क्रूड्राइवर बनाता है।
- परिणाम: गैरेज में एक स्क्रूड्राइवर के बजाय 10 एक जैसे स्क्रूड्राइवर जमा हो जाते हैं।
- तकनीकी शब्द: शोधकर्ता इसे Type-4 Code Clones कहते हैं। यह कॉपी-पेस्ट का काम नहीं है (जिसे पहचानना आसान है); यह एक "पुनः आविष्कार" (re-invention) है। AI वही लॉजिक लिखता है लेकिन अलग शब्दों या वेरिएबल नामों का उपयोग करता है।
- डेटा: अध्ययन में पाया गया कि AI द्वारा जनरेट किए गए कोड में मानव-लिखित कोड की तुलना में लगभग दोगुना रेडंडेंसी (अनावश्यक दोहराव) होता है।
2. "रिव्यू" की समस्या: विनम्र बॉस
आमतौर पर, जब कोई मानव कर्मचारी एक ऐसा प्रोजेक्ट लाता है जो अव्यवस्थित है या जिसमें बहुत अधिक डुप्लिकेट हैं, तो बॉस चिढ़ जाता है। वे कह सकते हैं, "अरे, हमारे पास इसके लिए पहले से ही एक टूल है! तुमने नया क्यों बनाया?" यह एक नकारात्मक प्रतिक्रिया है।
AI के साथ क्या होता है:
जब AI अपना "नया स्क्रूड्राइवर" लेकर आता है, तो मानव समीक्षक (reviewers) आश्चर्यजनक रूप से दयालु होते हैं।
- प्रतिक्रिया: AI कोड की समीक्षा करते समय समीक्षक "बहुत अच्छा काम किया!" कहने या तटस्थ रहने की अधिक संभावना रखते हैं। वे मानव कोड की तुलना में गुस्सा होने या घृणा करने की कम संभावना रखते हैं।
- उपमा: यह एक ऐसे रोबोट की तरह है जो इतना विनम्र और आत्मविश्वासी है कि आप यह जांचना भूल जाते हैं कि उसने वास्तव में स्मार्ट काम किया भी है या नहीं। क्योंकि रोबोट का काम सतह पर सही दिखता है और सभी टेस्ट पास कर लेता है, इसलिए मानव बॉस अपनी सतर्कता कम कर देता है।
खतरनाक विच्छेद: "साइलेंट टेक्निकल डेट" (Silent Technical Debt)
यह इस पेपर की सबसे महत्वपूर्ण खोज है। काम की गुणवत्ता और काम के बारे में महसूस करने के बीच एक विच्छेद (disconnect) है।
- वास्तविकता: AI एक अव्यवस्थित, फूला हुआ गैरेज बना रहा है जो डुप्लिकेट टूल्स से भरा है। यह लंबे समय के लिए बुरा है क्योंकि यदि आपको "स्क्रूड्राइवर लॉजिक" में कोई बग ठीक करना है, तो आपको एक के बजाय 10 अलग-अलग जगहों पर इसे ठीक करना होगा। यदि आप एक भी छोड़ देते हैं, तो बाद में पूरा सिस्टम टूट जाएगा।
- भ्रम: क्योंकि समीक्षक विनम्र हो रहे हैं और गुस्सा नहीं कर रहे हैं, इसलिए यह अव्यवस्था अनसुनी रह जाती है।
शोधकर्ता इसे "Silent Technical Debt" कहते हैं। यह एक नया टूल खरीदने के लिए ऋण लेने जैसा है जबकि आपके पास पहले से ही एक है। आज आपको दर्द महसूस नहीं होगा क्योंकि नया टूल काम कर रहा है, लेकिन अंततः, आप कर्ज (रखरखाव की लागत) में डूब जाएंगे क्योंकि आपको इन सभी डुप्लिकेट्स को बनाए रखना होगा।
ऐसा क्यों होता है?
पेपर सुझाव देता है कि AI मॉडल सहायक और सहमत होने (agreeable) के लिए प्रशिक्षित हैं। उन्हें आपको एक ऐसा उत्तर देने के लिए अनुकूलित किया गया है जो सही दिखता हो और आपको खुश करे, न कि वह उत्तर जो सबसे कुशल या "पुन: उपयोग-उन्मुख" (reuse-oriented) हो। वे स्मार्ट होने के बजाय विश्वसनीय दिखने को प्राथमिकता देते हैं।
निष्कर्ष (Takeaway)
पेपर निष्कर्ष निकालता है कि हालांकि AI कोड लिखने में बहुत तेज़ है, लेकिन वर्तमान में यह मौजूदा कोड को पुन: उपयोग (reuse) करने में खराब है।
- बनाने वालों के लिए (Builders): केवल यह न देखें कि कोड काम करता है या नहीं (पास रेट)। आपको यह भी जांचना होगा कि क्या AI उन चीजों को कॉपी कर रहा है जिन्हें उसे पुन: उपयोग करना चाहिए था।
- समीक्षकों के लिए (Reviewers): AI की विनम्रता से धोखा न खाएं। आपको अतिरिक्त सतर्क रहने की आवश्यकता है और छिपे हुए डुप्लिकेट्स को खोजने के लिए देखना चाहिए, भले ही कोड सतह पर एकदम सही क्यों न लगे।
संक्षेप में: AI बहुत सारे एक जैसे कमरे वाला घर बना रहा है क्योंकि वह ब्लूप्रिंट चेक करना भूल गया, और मानव निरीक्षक इसे बताने के लिए बहुत विनम्र हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।