code_transformed: The Influence of Large Language Models on Code
यह शोध पत्र 20,000 से अधिक GitHub रिपॉजिटरीज़ का विश्लेषण करने वाले एक अग्रणी बड़े पैमाने के अनुभवजन्य अध्ययन को प्रस्तुत करता है जो यह प्रदर्शित करता है कि लार्ज लैंग्वेज मॉडल्स (Large Language Models) वास्तविक दुनिया की प्रोग्रामिंग शैलियों को मापने योग्य रूप से बदल रहे हैं, जिसका प्रमाण snake_case नामकरण परंपराओं के प्रति बढ़ते अनुपालन और कोड जटिलता एवं रखरखाव क्षमता में बदलाव जैसे रुझानों से मिलता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि कंप्यूटर प्रोग्रामिंग की दुनिया एक विशाल, हलचल भरी लाइब्रेरी है जहाँ लाखों लोग हर दिन किताबें (कोड) लिख रहे हैं। दशकों तक, इन किताबों की अपनी अनूठी लिखावट शैलियाँ थीं: कुछ लेखकों ने अपने पात्रों के लिए छोटे, रहस्यमयी उपनामों का उपयोग किया, जबकि अन्य ने लंबे, वर्णनात्मक पैराग्राफ लिखे।
यह शोध पत्र एक जासूसी कहानी की तरह है जो यह सवाल पूछता है: "क्या एक सुपर-स्मार्ट एआई लाइब्रेरियन (लार्ज लैंग्वेज मॉडल्स, या LLMs) के आगमन ने इंसानों के इन किताबों को लिखने के तरीके को बदलना शुरू कर दिया है?"
शोधकर्ताओं ने केवल लोगों से यह नहीं पूछा कि क्या वे AI का उपयोग करते हैं; वे लाइब्रेरी में गए, 20,000 से अधिक वास्तविक दुनिया के कोड रिपॉजिटरी (उन "किताबों") को देखा, और उनकी तुलना AI लोकप्रिय होने से पहले के मानव-लिखित कोड और आज के AI द्वारा जनरेट किए गए कोड से की।
यहाँ जो उन्होंने पाया है, उसे सरल अवधारणाओं में विभाजित किया गया है:
1. "लिखावट" में बदलाव (नामकरण पैटर्न)
वेरिएबल नामों (जैसे ml या max_length) को ऐसे समझें जैसे लेखक अपने पात्रों को नाम देते हैं।
- पुराना तरीका: इंसान अक्सर
ml(जो "max length" का संक्षिप्त रूप है) याmltजैसे छोटे, त्वरित नामों का उपयोग करते थे। यह कुशल था लेकिन कभी-कभी पढ़ने में कठिन होता था। - AI का तरीका: AI मॉडल बहुत वर्णनात्मक होने के शौकीन होते हैं। वे
max_lengthऔरcurrent_lengthजैसे नाम पसंद करते हैं। वे "snake_case" (कैमलकेस के बजाय अंडरस्कोर का उपयोग करना, जैसेsnake_case) नामक एक विशिष्ट शैली को भी पसंद करते हैं। - खोज: शोधकर्ताओं ने पाया कि हाल के वर्षों में, मानव-लिखित कोड AI की लिखावट जैसा दिखने लगा है। लंबे, वर्णनात्मक नामों और अंडरस्कोर का उपयोग काफी बढ़ गया है। ऐसा लगता है जैसे इंसान अनजाने में उस AI लाइब्रेरियन की तरह लिखना शुरू कर रहे हैं जिससे वे उधार ले रहे हैं।
2. कहानी की "जटिलता" (कोड की गुणवत्ता)
शोधकर्ताओं ने यह भी देखा कि कहानियाँ कितनी "ट्विस्ट वाली" (घुमावदार) थीं। कोडिंग में, एक "ट्विस्ट" एक निर्णय बिंदु है (जैसे एक if स्टेटमेंट: "यदि बारिश होती है, तो छाता लें")।
- निष्कर्ष: जब AI कोड को फिर से लिखता है, तो कहानियाँ अक्सर थोड़ी कम घुमावदार (कम जटिलता) और बनाए रखने में आसान हो जाती हैं।
- एक पेंच: यह कोई जादुई समाधान नहीं था। कुछ भाषाओं (जैसे Python) में, AI ने कहानियों को वास्तव में मानव की तुलना में अधिक जटिल बना दिया। लेकिन अन्य भाषाओं (जैसे C/C++) में, AI ने उन्हें अधिक साफ-सुथरा बनाया।
- रुझान: दिलचस्प बात यह है कि वास्तविक दुनिया की लाइब्रेरी (GitHub) में कोड भी 2023 के बाद से साफ-सुथरा और बनाए रखने में आसान दिखने लगा है, जो AI की शैली की नकल करता है।
3. "कॉपी-पेस्ट" प्रभाव (समानता)
टीम ने दो परिदृश्यों का परीक्षण किया:
- प्रत्यक्ष जनरेशन (Direct Generation): AI से पूछना, "X के बारे में शुरू से एक कहानी लिखो।"
- संदर्भ-निर्देशित (Reference-Guided): AI को एक इंसान की कहानी दिखाना और कहना, "इसे पढ़ो, फिर इसे बेहतर बनाने के लिए इसे फिर से लिखो।"
परिणाम: जब AI को मानव कहानी को फिर से लिखने के लिए दिया गया, तो उसने मानव की "आवाज़" और शैली को बहुत बारीकी से बनाए रखा। लेकिन जब उसे शुरू से लिखने के लिए कहा गया, तो AI की कहानी सामान्यतः इंसानों के लिखने के तरीके से बहुत अलग थी। यह सुझाव देता है कि AI मानव कार्य को पॉलिश करने में उत्कृष्ट है, लेकिन इसकी अपनी प्राकृतिक "नेटिव" शैली हमसे काफी अलग है।
4. "सोचने की प्रक्रिया" (तर्क)
अंत में, शोधकर्ताओं ने यह देखने के लिए AI के "दिमाग" में झाँका कि वह समस्याओं को कैसे हल करता है। उन्होंने जाँच की कि क्या AI वास्तव में पहेली को हल करने के लिए सही तार्किक चरणों (एल्गोरिदम) का उपयोग करता है।
- निष्कर्ष: AI अक्सर गलत तार्किक चरणों का अनुमान लगा लेता है। यह "ब्रूट फोर्स" विधि (हर संभव दरवाजे को आज़माना) का उपयोग करने की कोशिश करता है जब कि एक "स्मार्ट की" (एक विशिष्ट एल्गोरिदम) की आवश्यकता होती है।
- भाषा का अंतर: AI ने C/C++ में लिखते समय एक लॉजिक पज़ल सॉल्वर की तरह और Python में लिखते समय एक व्यावहारिक कोडर की तरह सोचा।
- कठिनाई का कारक: AI केवल तभी "जागता" और अपने सर्वश्रेष्ठ तर्क कौशल का उपयोग करता था जब समस्याएँ बहुत कठिन होती थीं। आसान समस्याओं के लिए, यह अक्सर केवल अनुमान लगाता था।
बड़ी तस्वीर
शोध पत्र निष्कर्ष निकालता है कि हम कोडिंग में एक सांस्कृतिक बदलाव देख रहे हैं। यह केवल यह नहीं है कि AI कोड लिख रहा है; बल्कि यह है कि AI सूक्ष्म रूप से इस बात को नया आकार दे रहा है कि इंसान कोड कैसे लिखते हैं। जिस तरह एक नया फैशन ट्रेंड यह बदल सकता है कि हर कोई कैसे कपड़े पहनता है, उसी तरह AI की उपस्थिति मानव डेवलपर्स को अधिक वर्णनात्मक, मानकीकृत और "AI-अनुकूल" शैली की ओर धकेल रही है।
शोधकर्ता चेतावनी देते हैं कि हालांकि इससे कोड को पढ़ना आसान हो सकता है, लेकिन इसका मतलब यह भी है कि प्रोग्रामिंग में अनूठी "मानवीय छाप" अब मशीन की शैली के साथ घुलने-मिलने लगी है, और हमें इस परिवर्तन के प्रति जागरूक रहने की आवश्यकता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।