How AI Coding Agents Modify Code: A Large-Scale Study of GitHub Pull Requests
24,000 से अधिक मर्ज किए गए गिटहब (GitHub) पुल रिक्वेस्ट के इस बड़े पैमाने के अध्ययन से पता चलता है कि एआई (AI) कोडिंग एजेंट, कमिट फ्रीक्वेंसी और फ़ाइल संशोधन पैटर्न में मानव योगदानकर्ताओं से काफी भिन्न होते हैं, जबकि वे अपने पुल रिक्वेस्ट विवरण और वास्तविक कोड परिवर्तनों के बीच थोड़ा उच्च स्तर की निरंतरता प्रदर्शित करते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
सॉफ्टवेयर डेवलपमेंट की कल्पना एक विशाल, हलचल भरे निर्माण स्थल (construction site) के रूप में करें जहाँ हजारों लोग (मानव डेवलपर्स) और रोबोट फोरमैन (AI कोडिंग एजेंट्स) की एक नई लहर हर दिन इमारतों (सॉफ्टवेयर कोड) को बनाने और ठीक करने का काम कर रहे हैं।
यह शोध पत्र इन दोनों समूहों के कार्य लॉग (work logs) की एक फोरेंसिक जांच की तरह है। शोधकर्ता यह जानना चाहते थे: जब एक रोबोट फोरमैन निर्माण स्थल पर एक मरम्मत योजना (एक "Pull Request") प्रस्तुत करता है, तो वह मानव फोरमैन की योजना से कैसे भिन्न होती है?
यहाँ उनके निष्कर्षों का विवरण दिया गया, जिसे रोजमर्रा की भाषा में अनुवादित किया गया है:
1. सेटअप: डेटा का महा-संग्रह (The Great Data Dump)
शोधकर्ताओं ने GitHub (कोड की एक विशाल लाइब्रेरी) से एक विशाल डेटासेट लिया जिसमें AI बॉट्स द्वारा प्रस्तुत 24,000 से अधिक मरम्मत योजनाएं और मनुष्यों द्वारा प्रस्तुत 5,000 योजनाएं शामिल थीं। उन्होंने मुख्य रूप से दो चीजों को देखा:
- कार्य: उन्होंने वास्तव में कितना बदलाव किया? (क्या उन्होंने केवल एक ढीला पेंच ठीक किया या पूरी दीवार ही बदल दी?)
- नोट: क्या लिखित स्पष्टीकरण किए गए कार्य से मेल खाता था? (क्या नोट में लिखा था "लीकेज ठीक कर दी गई" जबकि उन्होंने वास्तव में छत बदल दी थी?)
2. निष्कर्ष #1: "स्विस आर्मी नाइफ" बनाम "सलेजहैमर" (The Sledgehammer)
प्रश्न: रोबोट और इंसान समस्याओं से निपटने के तरीके में कैसे भिन्न हैं?
उपमा (Analogy):
- इंसान सलेजहैमर (भारी हथौड़े) की तरह होते हैं। जब कोई इंसान कुछ ठीक करने का निर्णय लेता है, तो वे अक्सर एक बड़ा प्रहार करते हैं। वे घर के कई अलग-अलग कमरों को छू सकते हैं, बदलावों की एक लंबी सूची लिख सकते हैं, और अपने काम को कई छोटे चरणों (commits) में विभाजित कर सकते हैं। उनका काम व्यापक और परिवर्तनशील होता है।
- AI एजेंट्स प्रिसिजन स्विस आर्मी नाइफ (सटीक चाकू) की तरह होते हैं। वे बहुत केंद्रित होते हैं। वे आमतौर पर छोटे, स्थानीयकृत सुधार करते हैं। पूरी रसोई को फिर से बनाने के बजाय, वे बस नल को कस देते हैं।
चौंकाने वाला विवरण:
सभी रोबोट एक जैसे नहीं हैं!
- कुछ रोबोट (जैसे Devin या Copilot) अत्यंत सटीक होते हैं, जो बहुत छोटे और सर्जिकल बदलाव करते हैं।
- अन्य (जैसे Claude Code या OpenAI Codex) थोड़े इंसानों जैसे होते हैं; वे कभी-कभी बड़े प्रहार करते हैं और कई फाइलों को प्रभावित करते हैं।
मुख्य निष्कर्ष:
सबसे बड़ा अंतर यह नहीं है कि वे कितना कोड बदलते हैं, बल्कि यह है कि वे इसे कैसे व्यवस्थित करते हैं। इंसान अपने बदलावों को कई फाइलों और कई चरणों में फैलाते हैं। AI चीजों को संक्षिप्त और केंद्रित रखता है। यदि आप देखते हैं कि एक मरम्मत योजना 50 अलग-अलग फाइलों को छूती है, तो वह संभवतः मानव है। यदि यह एक छोटा, केंद्रित सुधार है, तो वह संभवतः एक रोबोट है।
3. निष्कर्ष #2: "पोस्ट-इट नोट" टेस्ट
प्रश्न: क्या रोबोट अपने काम को समझाने के लिए अच्छे नोट्स लिखते हैं?
उपमा:
कल्पना कीजिए कि आप एक मैकेनिक को एक कार सौंपते हैं जिसकी लाइट खराब है।
- खराब नोट: "चीजें ठीक कर दीं।" (अस्पष्ट)
- अच्छा नोट: "ड्राइवर की तरफ वाली हेडलाइट का बल्ब बदल दिया गया है।" (स्पष्ट)
शोधकर्ताओं ने नोट्स की जांच करने के लिए दो प्रकार के "टेस्ट" का उपयोग किया:
- शब्द मिलान टेस्ट (Lexical): क्या नोट के शब्द कोड में दिखाई देते हैं? (उदाहरण के लिए, क्या नोट में "बल्ब" लिखा है और कोड में भी "बल्ब" का उल्लेख है?)
- परिणाम: न तो इंसान और न ही रोबोट इसमें बहुत अच्छे थे। शब्द शायद ही कभी पूरी तरह मेल खाते थे क्योंकि कोड तकनीकी होता है और नोट्स सामान्य भाषा में होते हैं।
- "वाइब चेक" टेस्ट (Semantic): क्या नोट का अर्थ कोड के अर्थ से मेल खाता है, भले ही शब्द अलग हों?
- परिणाम: दोनों समूह यहाँ उत्कृष्ट थे। चाहे वह इंसान हो या रोबोट, नोट्स ने सुधार के इरादे (intent) को सटीक रूप से पकड़ा।
ट्विस्ट:
रोबोट वास्तव में अपने नोट्स को अपने कोड से मिलाने में इंसानों से थोड़ा बेहतर प्रदर्शन कर रहे थे। उनके "पोस्ट-इट नोट्स" लगातार सटीक थे। वे भ्रमित नहीं हुए या इंसानों की तरह अस्पष्ट विवरण नहीं लिखे।
4. यह क्यों मायने रखता है?
यह अध्ययन हमें इन नए रोबोट सहकर्मियों के साथ काम करने के तरीके को समझने में मदद करता है:
- कोड समीक्षकों (Code Reviewers) के लिए: यदि आप देखते हैं कि एक मरम्मत योजना बहुत छोटी है और केवल एक ही फाइल को छूती है, तो यह सोचकर न घबराएं कि यह कोई गलती है। यह संभवतः एक रोबोट द्वारा किया गया एक सटीक काम है। हालांकि, यदि कोई रोबोट एक साथ 50 फाइलों को बदलने की कोशिश करता है, तो आपको इसकी दोबारा जांच करनी चाहिए, क्योंकि यह उनकी सामान्य शैली नहीं है।
- विश्वास के लिए: हम भरोसा कर सकते हैं कि जब एक रोबोट कहता है, "मैंने लॉगिन बग ठीक कर दिया है," तो उसने वास्तव में लॉगिन बग ही ठीक किया है। उनके विवरण विश्वसनीय हैं।
- भविष्य के लिए: जैसे-जैसे हम "सॉफ्टवेयर इंजीनियरिंग 3.0" की ओर बढ़ रहे हैं, हमें परियोजनाओं को प्रबंधित करने के तरीके को बदलने की आवश्यकता है। हम रोबोटों के साथ बिल्कुल इंसानों जैसा व्यवहार नहीं कर सकते। हमें उनसे अधिक मॉड्यूलर, केंद्रित और संचार में सुसंगत होने की अपेक्षा करनी चाहिए।
सारांश
संक्षेप में: AI कोडिंग एजेंट्स केवल "तेज इंसान" नहीं हैं। वे योगदान देने वाली एक अलग प्रजाति हैं। वे छोटे, अधिक केंद्रित कार्यों में काम करते हैं और उन्होंने जो किया उसे समझाने में आश्चर्यजनक रूप से कुशल हैं। वे पूरे घर को फिर से बनाने की कोशिश नहीं कर रहे हैं; वे बस पेंच कस रहे हैं, और वे इसे बहुत सुसंगत तरीके से कर रहे हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।