When is Generated Code Difficult to Comprehend? Assessing AI Agent Python Code Proficiency in the Wild
यह अध्ययन AI-जनित पुल रिक्वेस्ट (pull requests) से 5,027 पायथन फाइलों का विश्लेषण करता है और पाता है कि जबकि AI एजेंट मुख्य रूप से मानव आउटपुट के समान बुनियादी स्तर का कोड उत्पन्न करते हैं, विशिष्ट जटिल कार्यों के लिए प्रभावी समीक्षा और रखरखाव हेतु अभी भी उन्नत डेवलपर दक्षता की आवश्यकता होती है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपने अपने एक विशाल, जटिल लेगो (Lego) महल (आपका सॉफ्टवेयर प्रोजेक्ट) को बनाने में मदद करने के लिए अविश्वसनीय रूप से तेज़, अथक रोबोट सहायकों की एक टीम को काम पर रखा है। ये रोबोट ईंटें उठाने और उन्हें आपस में जोड़ने में बहुत अच्छे हैं। लेकिन अब, आपको (इंसान को) यह देखना होगा कि उन्होंने क्या बनाया है, यह सुनिश्चित करना होगा कि वह सुरक्षित है, और यह भी पता लगाना होगा कि अगर कोई मीनार डगमगाने लगे तो उसे कैसे ठीक किया जाए।
बड़ा सवाल जो यह पेपर पूछता है वह यह है: क्या रोबोट्स द्वारा बनाया गया लेगो महल समझने में आसान है, या उन्होंने कुछ अजीब, टेढ़ी-मेढ़ी संरचनाएं बनाई हैं जिन्हें केवल एक मास्टर आर्किटेक्ट ही समझ सकता है?
यहाँ उनके निष्कर्षों का विवरण दिया गया, जिसे रोजमर्रा की भाषा में अनुवादित किया गया है:
1. कोड की "भाषा"
कोड कितना "स्मार्ट" या "जटिल" है, इसे मापने के लिए, शोधकर्ताओं ने केवल अनुमान नहीं लगाया। उन्होंने pycefr नामक एक टूल का उपयोग किया, जो एक अनुवादक की तरह है जो "कोड" और "भाषा सीखने" (Language Learning) की भाषा बोलता है।
- उपमा: पायथन (कोडिंग भाषा) सीखना मानव भाषा (जैसे अंग्रेजी या स्पेनिश) सीखने जैसा है।
- A1/A2 (बेसिक): जैसे "नमस्ते," "मेरे पास एक बिल्ली है," या "आसमान नीला है" कहना। सरल, रोज़मर्रा के वाक्य।
- B1/B2 (इंटरमीडिएट): जैसे एक कहानी सुनाना जिसमें कथानक हो, भूतकाल का उपयोग हो, या एक विनम्र ईमेल लिखना।
- C1/C2 (महारत): जैसे शेक्सपियर की एक सॉनेट या एक जटिल कानूनी अनुबंध लिखना। यह सुंदर है लेकिन यदि आप विशेषज्ञ नहीं हैं तो इसे समझना बहुत कठिन है।
2. रोबोट्स ने वास्तव में क्या बनाया? (परिणाम)
शोधकर्ताओं ने तीन प्रसिद्ध AI रोबोट्स (Copilot, Cursor, और Devin) द्वारा किए गए हजारों कोड परिवर्तनों को देखा और वास्तविक मनुष्यों द्वारा किए गए परिवर्तनों के साथ उनकी तुलना की।
रोबोट "सुरक्षित" निर्माता हैं:
अध्ययन में पाया गया कि रोबोट्स द्वारा लिखा गया 90% से अधिक कोड बेसिक (A1/A2) था।- उपमा: रोबोट ज्यादातर सरल लेगो निर्देशों का पालन करते हैं जैसे "यहाँ एक लाल ईंट रखें" या "दो नीली ईंटों को एक के ऊपर एक रखें।" वे तब तक कोई घूमती हुई, तैरती हुई, जादुई मीनार बनाने की कोशिश नहीं करते जब तक कि उन्हें इसकी सख्त जरूरत न हो।
- यह क्यों अच्छा है: इसका मतलब है कि यदि आपके पास बुनियादी कोडिंग कौशल है, तो आप शायद पढ़ और समझ पाएंगे कि रोबोट ने क्या किया है। आपको उनके काम की समीक्षा करने के लिए जीनियस होने की आवश्यकता नहीं है।
रोबोट बनाम इंसान:
आश्चर्यजनक रूप से, इंसान भी ज्यादातर "बेसिक" निर्माता हैं।- उपमा: यहाँ तक कि पेशेवर मानव निर्माता भी ज्यादातर साधारण ईंटों का उपयोग करते हैं। मनुष्यों द्वारा लिखे गए केवल 1% कोड ही "मास्टरी" स्तर (C2) का है और रोबोट भी बिल्कुल वहीं हैं, वे भी लगभग उतना ही जटिल कोड लिख रहे हैं।
- ट्विस्ट: रोबोट्स ने कुछ मामलों में इंसानों की तुलना में थोड़ा अधिक "इंटरमीडिएट" (B1/B2) कोड लिखा, लेकिन वे अभी भी ज्यादातर बुनियादी बातों तक ही सीमित हैं।
3. रोबोट्स कब "फैंसी" होते हैं?
यदि रोबोट्स ज्यादातर सरल चीजें बनाते हैं, तो वे कब एक जटिल, टेढ़ी-मेढ़ी मीनार बनाने का निर्णय लेते हैं?
शोधकर्ताओं ने पाया कि रोबोट्स केवल विशिष्ट कार्यों के लिए "मास्टरी मोड" (C1/C2) में स्विच करते हैं:
नए फीचर्स जोड़ना: जब एक नया कमरा बनाने के लिए कहा जाए।
बग्स को ठीक करना: जब टूटी हुई दीवार की मरम्मत करने के लिए कहा जाए।
प्रोजेक्ट बनाना: जब नींव या निर्माण के लिए आवश्यक टूल्स सेट करने के लिए कहा जाए।
उपमा: यदि आप रोबोट से कहते हैं, "बस यहाँ एक ईंट रखो," तो वह एक साधारण ईंट देता है। लेकिन अगर आप कहते, "एक गुप्त दरवाज़ा बनाओ जो केवल पूर्ण चंद्रमा के समय खुले," तो रोबक अपने सबसे उन्नत, जटिल निर्देशों का उपयोग करेगा।
4. बड़ा निष्कर्ष
क्या AI कोड समझना कठिन है?
- सामान्यतः, नहीं। अधिकांश समय, कोड इतना सरल होता है कि बुनियादी कौशल वाला डेवलपर इसे पढ़ सकता है। रोबोट दिखावा करने की कोशिश नहीं कर रहे हैं; वे बस काम को कुशलतापूर्वक पूरा करने की कोशिश कर रहे हैं।
- लेकिन, "विशेष" कार्यों पर नज़र रखें। जब रोबोट को कुछ ट्रिकी (जैसे एक जटिल फीचर या गहरा फिक्स) करने के लिए कहा जाता है, तो वह "एडवांस्ड" कोड का उपयोग कर सकता है जो एक पहेली जैसा दिखता है।
इंसानों के लिए सबक:
आपको AI एजेंटों के साथ काम करने के लिए पायथन विजार्ड होने की आवश्यकता नहीं है। हालाँकि, जब आप एक पुल रिक्वेस्ट (कोड मर्ज करने का अनुरोध) देखते हैं जिसमें कोई नया फीचर या जटिल फिक्स शामिल है, तो आपको यह सुनिश्चित करने के लिए दोहरा बार चेक करना चाहिए कि "मास्टर आर्किटेक्ट" (एक सीनियर डेवलपर) ने इसकी समीक्षा की है, ताकि यह सुनिश्चित हो सके कि रोबोट ने ऐसी संरचना नहीं बनाई है जिसे एक बिगिनर बनाए रख सके।
संक्षेप में: रोबोट ज्यादातर सरल, आसानी से पढ़ी जाने वाली कहानियाँ लिख रहे हैं। लेकिन कभी-कभी, वे एक जटिल कविता लिखते हैं, और आपको यह सुनिश्चित करने के लिए एक कवि की आवश्यकता होती है कि उसका अर्थ सही है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।