GitHub Copilot and Developer Productivity: An Observational Dose-Response Analysis
43 हफ्तों में 16,223 माइक्रोसॉफ्ट इंजीनियरों का उपयोग करते हुए और व्यक्तिगत कौशल एवं प्रयास को नियंत्रित करने के लिए एक 'विदिन-इंजीनियर फिक्स्ड-इफेक्ट्स' डिज़ाइन का उपयोग करते हुए, यह अध्ययन पाता है कि गिटहब कोपायलट (GitHub Copilot) का उपयोग समान कोडिंग समय पर पुल रिक्वेस्ट (pull request) पूर्णता दरों में 40.5% की निरंतर वृद्धि से जुड़ा है, जो स्वाभाविक रूप से व्यस्त कार्य अवधियों के साथ सहसंबंध के बजाय एक वास्तविक दक्षता लाभ को दर्शाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप यह पता लगाने की कोशिश कर रहे हैं कि क्या हाई-टेक जूतों की एक नई जोड़ी वास्तव में लोगों को तेज़ दौड़ने में मदद करती है।
इसे टेस्ट करने का स्पष्ट तरीका दो समूहों की तुलना करना है: वे लोग जो जूते पहनते हैं और वे जो साधारण स्नीकर्स पहनते हैं। लेकिन यहाँ एक समस्या है: शायद वे लोग जो हाई-टेक जूते पहनने का चुनाव करते हैं, पहले से ही पेशेवर एथलीट हैं, जबकि स्नीकर पहनने वाले सामान्य जॉगर्स हैं। यदि जूते पहनने वाले लोग तेज़ दौड़ते हैं, तो क्या यह जूतों की वजह से है, या सिर्फ इसलिए कि वे स्वाभाविक रूप से बेहतर धावक हैं?
यह वही पहेली है जिसका सामना माइक्रोसॉफ्ट के शोधकर्ताओं ने GitHub Copilot के साथ किया, जो एक AI टूल है जो सॉफ्टवेयर इंजीनियरों को कोड लिखने में मदद करता है। वे जानना चाहते थे: क्या AI का उपयोग करना वास्तव में इंजीनियरों को अधिक उत्पादक बनाता है, या वे इंजीनियर जो इसका सबसे अधिक उपयोग करते हैं, वे स्वाभाविक रूप से अधिक उत्पादक लोग हैं?
इससे भी बुरा एक दूसरा स्तर का भ्रम है। शायद एक इंजीनियर एक विशिष्ट सप्ताह के दौरान AI का बहुत अधिक उपयोग करता है क्योंकि वह सप्ताह "क्रंच टाइम" (काम का भारी दबाव) था जहाँ वे एक बड़े प्रोजेक्ट पर दिन में 80 घंटे काम कर रहे थे। उस स्थिति में, वे अधिक काम (पुल रिक्वेस्ट) पूरा करेंगे क्योंकि उन्होंने अधिक समय तक काम किया, न कि इसलिए कि AI ने उन्हें तेज़ काम करने में मदद की।
समाधान: "स्व-तुलना" प्रयोग (The "Self-Comparison" Experiment)
चूंकि शोधकर्ता कुछ इंजीनियरों को जबरदस्ती टूल का उपयोग करने से रोक नहीं सकते थे (यह अनैतिक होता और उनके काम में बाधा डालता), इसलिए उन्होंने एक चतुर तकनीक का उपयोग किया जिसे "विदिन-इंजीनियर" (Within-Engineer) विश्लेषण कहा जाता है।
इसे इस तरह सोचें: इंजीनियर A (जो AI का उपयोग करता है) की तुलना इंजीनियर B (जो नहीं करता) से करने के बजाय, उन्होंने इंजीनियर A की तुलना स्वयं उससे की।
उन्होंने एक ही इंजीनियर को 43 हफ्तों तक देखा।
- सप्ताह 1: इंजीनियर ने AI का बहुत कम उपयोग किया।
- सप्ताह 2: इंजीनियर ने AI का भारी उपयोग किया।
एक इंजीनियर की तुलना स्वयं से करके, उन्होंने उन सभी चीजों को स्वतः ही समाप्त कर दिया जो इंजीनियर A को इंजीनियर B से अलग बनाती हैं (जैसे प्राकृतिक प्रतिभा, नौकरी की भूमिका, या टीम संस्कृति)। वे पूछ रहे थे: "जब यह विशिष्ट व्यक्ति AI का अधिक उपयोग करता है, तो क्या वे तब की तुलना में अधिक काम करते हैं जब वे इसका कम उपयोग करते हैं?"
"दक्षता" परीक्षण: क्या उन्होंने कड़ी मेहनत की या स्मार्ट वर्क किया?
अभी भी एक पेचीदा चर (variable) बाकी था: प्रयास (Effort)।
यदि एक इंजीनियर AI का बहुत अधिक उपयोग करता है, तो हो सकता है कि वह केवल 5 घंटे के बजाय कंप्यूटर पर 10 घंटे कोडिंग कर रहा हो। यदि वे अधिक काम पूरा करते हैं, तो यह सिर्फ इसलिए हो सकता है क्योंकि उन्होंने डेस्क पर अधिक समय बिताया।
इसे ठीक करने के लिए, शोधकर्ताओं ने एक सांख्यिकीय "फ़िल्टर" (एक मॉडल जिसे PPML कहा जाता है) का उपयोग किया जिसने कोडिंग में बिताए गए समय को स्थिर रखा।
- प्रश्न: "यदि इंजीनियर A ठीक 8 घंटे कोडिंग करता है, तो क्या वह AI का भारी उपयोग करने वाले हफ्तों की तुलना में, कम उपयोग करने वाले हफ्तों की तुलना में अधिक कोड पूरा करता है?"
परिणाम: हाँ। भले ही कोडिंग में बिताया गया समय बिल्कुल समान था, AI का भारी उपयोग करने वाले इंजीनियरों ने उन हफ्तों की तुलना में लगभग 40% अधिक कोड प्रोजेक्ट्स (पुल रिक्वेस्ट) पूरे किए जिनमें उन्होंने इसका उपयोग बिल्कुल नहीं किया था।
"फाल्सिफिकेशन" बैटरी: बहानों को खारिज करना
शोधकर्ता जानते थे कि संशयवादी इस परिणाम के लिए अन्य कारण भी बता सकते हैं। इसलिए, उन्होंने यह देखने के लिए सात अलग-अलग "झूठ पकड़ने वाले" (lie detector) परीक्षण चलाए कि क्या परिणाम केवल एक इत्तेफाक था।
"जेनेरिक AI" परीक्षण: शायद वे इंजीनियर जो AI का बहुत उपयोग करते हैं, वे स्वाभाविक रूप से "टेक-सेवी" हैं और अन्य AI टूल्स (जैसे Word या Excel में) का भी उपयोग करते हैं जिससे वे अधिक उत्पादक महसूस करते हैं?
- परीक्षण: उन्होंने जांचा कि क्या गैर-कोडिंग ऐप्स (जैसे PowerPoint) में AI का उपयोग अधिक कोड की भविष्यवाणी करता है?
- परिणाम: नहीं। Word में AI के उपयोग ने कोड लिखने में मदद नहीं की। यह विशेष रूप से कोडिंग AI ही था जो मायने रखता था।
"टीम हाइप" परीक्षण: शायद पूरी टीम एक "हाइप" वाले सप्ताह में थी, इसलिए सभी ने AI का उपयोग किया और सभी ने अधिक कोड लिखा?
- परीक्षण: उन्होंने जांचा कि क्या एक इंजीनियर का AI उपयोग उनके साथियों (teammates) के कोड आउटपुट की भविष्यवाणी करता है।
- परिणाम: नहीं। यदि यह केवल टीम हाइप होता, तो आपके AI उपयोग से आपके पड़ोसी का आउटपुट भी प्रभावित होना चाहिए था। ऐसा नहीं हुआ।
"टास्क स्विचिंग" (कार्य परिवर्तन) परीक्षण: शायद AI-भारी सप्ताहों में, इंजीनियरों ने दूसरों के कोड की समीक्षा करना बंद कर दिया और पूरी तरह से अपने स्वयं के कोड लिखने पर ध्यान केंद्रित किया?
- परीक्षण: उन्होंने जांचा कि क्या अधिक कोड लिखने का मतलब कम कोड की समीक्षा करना था?
- परिणाम: नहीं। इंजीनियरों ने AI का उपयोग करने पर अधिक कोड लिखा और अधिक कोड की समीक्षा भी की। उन्होंने केवल कार्य बदले नहीं; उन्होंने सब कुछ अधिक किया।
"स्लाइसिंग" (टुकड़ों में बांटना) परीक्षण: शायद इंजीनियर बड़े प्रोजेक्ट्स को दिखाने के लिए छोटे, आसान टुकड़ों में बांट रहे थे?
- परीक्षण: उन्होंने कोड प्रोजेक्ट्स के आकार को देखा।
- परिणाम: नहीं। सबसे बड़ा उछाल वास्तव में सबसे बड़े, सबसे जटिल प्रोजेक्ट्स (7+ फाइल्स) में देखा गया, न कि छोटे प्रोजेक्ट्स में।
"आसान काम" परीक्षण: शायद वे कठिन कोडिंग के बजाय आसान कागजी कार्रवाई (जैसे टेक्स्ट फाइल्स अपडेट करना) कर रहे थे?
- परीक्षण: उन्होंने "आसान" कॉन्फ़िग फाइल्स को "कठिन" कोड फाइल्स से अलग किया।
- परिणाम: नहीं। उत्पादकता में वृद्धि वास्तव में कठिन कोड फाइल्स के लिए अधिक मजबूत थी।
"टाइमिंग" (समय) परीक्षण: क्या सप्ताह 1 में AI का उपयोग केवल एक "उत्पादक मूड" का संकेत था जो सप्ताह 2 तक बना रहा?
- परीक्षण: उन्होंने जांचा कि क्या पिछले सप्ताह के AI उपयोग ने इस सप्ताह के आउटपुट की भविष्यवाणी की।
- परिणाम: नहीं। उछाल केवल उसी सप्ताह हुआ जिसमें AI का उपयोग किया गया था।
निष्कर्ष
अध्ययन यह निष्कर्ष निकालता है कि GitHub Copilot वास्तव में इंजीनियरों को कुशल बनाता है।
जब एक इंजीनियर टूल का अधिक गहनता से उपयोग करता है, तो वह समान समय में लगभग 40% अधिक काम करता है। यह केवल यह नहीं है कि उत्पादक लोग इस टूल का उपयोग करते हैं; टूल स्वयं एक 'फोर्स मल्टीप्लायर' (शक्ति वर्धक) के रूप में कार्य करता है, जिससे इंजीनियरों को अधिक काम करने में मदद मिलती है बिना लंबे घंटों तक काम किए।
हालाँकि, शोधकर्ता सावधानी बरतते हुए कहते हैं: यह अध्ययन दक्षता (efficiency) (प्रति घंटे अधिक काम करना) को मापता है। यह कुल समय की बचत को नहीं मापता है। यदि AI आपको एक कार्य 1 घंटे के बजाय 30 मिनट में पूरा करने में मदद करता है, तो आपकी "दक्षता" बढ़ जाती है, लेकिन आप शायद जल्दी काम खत्म करके रुक भी सकते हैं। अध्ययन यह सिद्ध करता है कि गति बढ़ती है, लेकिन यह हमें यह नहीं बताता कि इंजीनियर उस अतिरिक्त समय का उपयोग कैसे करते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।