Commenting with Copilot: A Taxonomy and Multi-Year Analysis of Student Code-Generation Specifications
यह शोध पत्र स्नातक प्रोग्रामिंग सबमिशन के चार वर्षीय विश्लेषण को प्रस्तुत करता है ताकि AI कोड-जेनरेशन विनिर्देशों (specifications) के रूप में उपयोग किए जाने वाले छात्र टिप्पणियों के लिए एक त्रि-आयामी वर्गीकरण (taxonomy) पेश किया जा सके, जो यह प्रकट करता है कि छात्र मुख्य रूप से "क्या" (What) टिप्पणियाँ लिखते हैं, प्रक्रियात्मक कार्यों के लिए "कैसे" (How) टिप्पणियों की ओर स्थानांतरित होते हैं, और विनिर्देशों को बार-बार फिर से लिखने के बजाय जनरेट किए गए कोड को सत्यापित करने को प्राथमिकता देते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक शेफ हैं, लेकिन सब्जियां काटने या बर्तन चलाने के बजाय, आप एक सुपर-फास्ट, अत्यधिक रचनात्मक रोबोटिक 'सू-शेफ' (sous-chef) के "कमांडर" हैं। आपका काम खुद खाना बनाना नहीं है; आपका काम रोबोट को खाना बनाने के लिए सरल अंग्रेजी में रेसिपी निर्देश लिखना है। एक कंप्यूटर क्लास में चार साल तक 1,161 विश्वविद्यालय के छात्रों ने बिल्कुल यही किया। उन्होंने लाइन-दर-लाइन कोड नहीं लिखा; उन्होंने GitHub Copilot नामक एक AI टूल को प्रोग्राम बनाने के लिए कहने हेतु नोट्स (छोटे नोट) लिखे।
यहाँ वह है जो शोधकर्ताओं ने इन छात्र-कमांडरों के अपने रोबोटिक सहायकों से बात करने के तरीके के बारे में खोजा।
मुख्य खोज: "क्या" बनाम "कैसे"
सबसे बड़ा आश्चर्य? अधिकांश छात्र प्रोग्रामर की तरह बात नहीं कर रहे थे। वे एक लक्ष्य का वर्णन करने वाले लोगों की तरह बात कर रहे थे।
- "क्या" वाला समूह (77%): अधिकांश छात्र जो नोट्स लिखते थे, वे इस बारे में थे कि वे क्या परिणाम चाहते हैं। उदाहरण के लिए, "इस लिस्ट के माध्यम से लूप चलाएं और नंबरों की जांच करें" कहने के बजाय, उन्होंने लिखा, "यदि नंबर नकारात्मक है, तो false रिटर्न करें।" उन्होंने मंजिल का वर्णन किया, ड्राइविंग निर्देशों का नहीं।
- "कैसे" में बदलाव: हालाँकि, जब कार्य कठिन हो जाता—जैसे कि किसी कदम को कई बार दोहराने की आवश्यकता हो या जटिल क्रियाओं का एक क्रम करना हो—तो छात्र अपना तरीका बदल देते थे। वे "कैसे" वाले कमेंट्स लिखने लगते थे, यानी चरण-दर-चरण आदेश देते थे। यह वैसा ही है जैसे जब आप किसी मित्र से कहते हैं, "मेरे लिए एक सैंडविच बनाओ" (क्या), लेकिन यदि आपको एक विशिष्ट, जटिल क्लब सैंडविच चाहिए, तो अचानक आपको कहना पड़ता है, "पहले ब्रेड को टोस्ट करें, फिर टर्की की परत लगाएं, फिर अचार डालें..." (कैसे)।
"रेसिपी में बदलाव न करें" का नियम
आप सोच सकते हैं कि यदि रोबोट कोई गलती करता है, तो क्या छात्र बार-बार अपने निर्देशों को फिर से लिखने के लिए व्याकुल हो जाएगा? यह पेपर इसके विपरीत तर्क देता है।
डेटा दिखाता है कि छात्र शायद ही कभी अपने कमेंट्स को दोबारा लिखते थे। वास्तव में, एक बार कमेंट लिखने के बाद, वे उसे ज्यादातर वैसे ही छोड़ देते थे।
- वास्तविकता: प्रत्येक 100 कमेंट्स में से, लगभग 48 को पूरी तरह से बिना छेड़े छोड़ दिया गया था, और अन्य 41 बिल्कुल नए थे। केवल एक बहुत छोटा हिस्सा (लगभग 4%) था जिसे भारी रूप से फिर से लिखा गया या पूरी तरह से हटा दिया गया।
- असली काम: तो, यदि वे नोट्स को फिर से नहीं लिख रहे थे, तो वे क्या कर रहे थे? वे सख्त गुणवत्ता निरीक्षकों (quality inspectors) की तरह काम कर रहे थे। छात्रों ने अपनी ऊर्जा रोबोट के काम की जांच करने, टेस्ट चलाने और रोबोट द्वारा बनाए गए कोड को ठीक करने में खर्च की, न कि लगातार अपने निर्देशों को बदलने में। पेपर सुझाव देता है कि कठिन काम प्रॉम्प्ट लिखना नहीं था, बल्कि आउटपुट को सत्यापित (verify) करना था।
छात्रों ने क्या कहा (प्रतिबिंब/Reflections)
कार्यों के बाद, छात्रों ने अपने अनुभव लिखे, और शोधकर्ताओं ने 13 मुख्य विषय पाए। यहाँ बड़े विषय दिए गए हैं:
- गति ही सर्वोपरि है: छात्रों ने टूल को इसलिए पसंद किया क्योंकि यह तेज़ था। यह एक "स्कैफोल्ड" (scaffold) की तरह महसूस हुआ जिसने उन्हें उबाऊ विवरणों में फंसे बिना जल्दी से शुरुआत करने में मदद की।
- "परिचितता" का जाल: रोबोट सरल, दोहराव वाले कार्यों (जैसे बॉयलरप्लेट कोड) के लिए बहुत अच्छा था, लेकिन जब कार्य अजीब, बहुत विशिष्ट या किसी अनूठे समाधान की आवश्यकता वाला होता, तो वह संघर्ष करता था।
- विश्वास का मुद्दा: भले ही रोबोट तेज़ था, छात्र जानते थे कि वे आँख बंद करके इस पर भरोसा नहीं कर सकते। उन्हें एक भारी "सत्यापन बोझ" (verification burden) महसूस हुआ। उन्हें सब कुछ दोबारा जांचना पड़ता था क्योंकि रोबोट कभी-कभी ऐसे उत्तर देता था जो सही दिखते थे लेकिन वास्तव में गलत थे।
- सीखना बनाम बैसाखी: कुछ छात्रों को डर था कि यदि वे बहुत अधिक रोबोट पर निर्भर रहे, तो वे खुद खाना बनाना नहीं सीख पाएंगे। उन्हें लगा कि टूल का उपयोग एक "बैसाखी" के रूप में करने से बाद में समस्याओं को हल करने की उनकी अपनी क्षमता को नुकसान पहुँच सकता है।
यह पेपर क्या खारिज करता है
यह जानना महत्वपूर्ण है कि इस अध्ययन ने क्या नहीं पाया।
- यह कोई "जादुई बटन" नहीं है: पेपर स्पष्ट रूप से इस विचार को खारिज करता है कि छात्रों ने बस AI से पूरा समाधान मांगा और चले गए। वह काम नहीं आया। सफल होने वाले छात्र वे थे जिन्होंने AI को एक साथी के रूप में माना जिसे उन्हें निर्देशित और जांचना था।
- यह "परफेक्ट" कोड के बारे में नहीं है: अध्ययन ने यह नहीं पाया कि AI हमेशा परफेक्ट कोड बनाता है। वास्तव में, छात्रों ने नोट किया कि AI अक्सर अवांछित कोड जोड़ देता था या सूक्ष्म तकनीकी विवरणों को छोड़ देता था।
- यह एक "हल की गई" समस्या नहीं है: पेपर यह दावा नहीं करता कि छात्रों को AI प्रॉम्प्ट करना सिखाना आसान है या अब हर कोई विशेषज्ञ है। यह सुझाव देता है कि यह एक नया कौशल सेट है जिसके लिए अभ्यास की आवश्यकता है, विशेष रूप से यह जानने के लिए कि कब विशिष्ट होना है और कब काम की जांच करनी है।
हम कितने आश्वस्त हैं?
शोधकर्ता इन आंकड़ों के बारे में बहुत आश्वस्त हैं क्योंकि उन्होंने एक विशाल डेटासेट देखा: चार वर्षों की कक्षाओं से 10,257 सबमिशन प्रयास। उन्होंने 1,36,000 से अधिक कमेंट्स को गिनने के लिए स्वचालित उपकरणों का उपयोग किया और उच्च सटीकता के साथ छात्र प्रतिबिंबों का विश्लेषण किया।
- उन्होंने पाया कि 99.3% छात्र अंततः अपने कोड को टेस्ट पास करने में सफल रहे।
- उन्होंने गणितीय सटीकता के साथ कमेंट्स के "बदलाव" (tweaking) को मापा, जिससे पता चला कि भारी रीराइट्स दुर्लभ थे।
- हालाँकि, पेपर कुछ सीमाओं को स्वीकार करता है: यह केवल एक विश्वविद्यालय का कोर्स था जिसमें Java का उपयोग किया गया था। हमें नहीं पता कि क्या ये समान पैटर्न किसी अन्य भाषा या किसी अन्य प्रकार की क्लास में भी होंगे। साथ भी, अध्ययन ने केवल उन कमेंट्स को देखा जो छात्रों ने सबमिट किए थे, न कि उन्हें जो उन्होंने काम के बीच में टाइप किए और हटा दिए होंगे।
निष्कर्ष (The Takeвay)
पेपर सुझाव देता है कि AI के युग में, सबसे महत्वपूर्ण कौशल केवल कोड टाइप करना नहीं है; बल्कि यह निर्दिष्ट करना (specifying) है कि आप क्या चाहते हैं और यह सत्यापित करना (verifying) है कि आपको क्या मिला है। छात्रों ने सीखा कि एक स्पष्ट "क्या" लिखना पहला कदम है, लेकिन असली जादू तब होता है जब आप एक बॉस की तरह काम करते हैं, रोबोट के काम की जांच करते हैं और केवल तभी "कैसे" के निर्देश देने के लिए हस्तक्षेप करते हैं जब रोबोट भटक जाता है। यह AI को आपके लिए सोचने देने के बारे में नहीं है; यह यह सीखने के बारे में है कि उससे कैसे बात की जाए ताकि वह आपके साथ सोच सके।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।