← नवीनतम पेपर
💻 computer science

Programming by Chat: A Large-Scale Behavioral Analysis of 11,579 Real-World AI-Assisted IDE Sessions

यह शोध पत्र 11,579 वास्तविक दुनिया के AI-सहायता प्राप्त IDE सत्रों का पहला बड़े पैमाने पर अनुभवजन्य अध्ययन प्रस्तुत करता है, जो यह प्रकट करता है कि कैसे संवादात्मक प्रोग्रामिंग डेवलपर वर्कफ़्लो को पुनरावृत्ति विनिर्देश (iterative specification), AI को संज्ञानात्मक प्रतिनिधिमंडल (cognitive delegation) और सक्रिय सहयोग प्रबंधन की ओर स्थानांतरित करती है।

मूल लेखक: Ningzhi Tang, Chaoran Chen, Zihan Fang, Gelei Xu, Maria Dhakal, Yiyu Shi, Collin McMillan, Yu Huang, Toby Jia-Jun Li

प्रकाशित 2026-04-02
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Ningzhi Tang, Chaoran Chen, Zihan Fang, Gelei Xu, Maria Dhakal, Yiyu Shi, Collin McMillan, Yu Huang, Toby Jia-Jun Li

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि सॉफ्टवेयर डेवलपमेंट पहले एक अकेले वर्कशॉप में काम करने वाले मास्टर बढ़ई की तरह था। वे लकड़ी के हर टुकड़े को खुद मापते, काटते, सैंड करते और जोड़ते थे, उन्हें पता होता था कि हर कील कहाँ लगेगी।

अब, कल्पना कीजिए कि उस बढ़ई ने एक सुपर-फास्ट, अविश्वसनीय रूप से प्रतिभाशाली, लेकिन थोड़ी शाब्दिक (literal-minded) समझ रखने वाले प्रशिक्षु (apprentice) को काम पर रखा है। यह प्रशिक्षु कुछ ही सेकंड में एक पूरी कुर्सी बना सकता है, लेकिन उसे बहुत विशिष्ट निर्देशों की आवश्यकता होती है। यदि बढ़ई कहता है, "एक कुर्सी बनाओ," तो प्रशिक्षु एक डगमगाता हुआ स्टूल बना सकता है। इसलिए, बढ़ई को कहना पड़ता है, "नहीं, पैरों को मोटा करो," और फिर, "दरअसल, इसे लाल नहीं, नीला रंग दो।"

यह शोध पत्र ठीक इसी बात का एक व्यापक अध्ययन है कि यह नई साझेदारी कैसे काम करती है। शोधकर्ताओं ने 11,579 वास्तविक दुनिया की बातचीत का विश्लेषण किया जो मानव डेवलपर्स और AI कोडिंग सहायकों (जैसे Cursor और GitHub Copilot) के बीच उनके वास्तविक कार्य वातावरण के भीतर हुई थी। उन्होंने केवल लैब में लोगों को नहीं देखा; उन्होंने उन कोडिंग सत्रों की "डायरी" का विश्लेषण किया जिन्हें डेवलपर्स ने सार्वजनिक प्रोजेक्ट्स में सहेज कर रखा था।

यहाँ उन्होंने क्या पाया, जिसे रोज़मर्रा की भाषा में अनुवादित किया गया है:

1. "वाइब कोडिंग" (Vibe Coding) का बदलाव: यह कोई ब्लूप्रिंट नहीं, बल्कि एक बातचीत है

पुराना तरीका: आप निर्माण शुरू करने से पहले एक सटीक, विस्तृत योजना (ब्लूप्रिंट) लिखते हैं।
नया तरीका: डेवलपर्स एक ऐसी विधि का उपयोग कर रहे हैं जिसे पेपर में "प्रोग्रेसिव स्पेसिफिकेशन" (Progressive Specification) कहा गया है।

इसे ब्लूप्रिंट का पालन करने के बजाय मिट्टी से मूर्ति गढ़ने जैसा समझें। डेवलपर को शुरुआत में यह नहीं पता होता कि अंतिम मूर्ति कैसी दिखेगी। वे कहते हैं, "घोड़े का एक मोटा आकार बनाओ।" AI एक घोड़ा बनाता है। डेवलपर कहता है, "गर्दन बहुत लंबी है।" AI उसे ठीक करता है। डेवलपर कहता है, "अब इसे दौड़ता हुआ दिखाओ।"

  • निष्कर्ष: अधिकांश डेवलपर्स AI को शुरुआत में कोई पूर्ण कार्य नहीं देते हैं। वे एक अस्पष्ट विचार के साथ शुरुआत करते हैं और उसे चरण-दर-चरण परिष्कृत करते हैं। वे AI को एक नाव की तरह "स्टीयर" कर रहे हैं, जैसे कि GPS डेस्टिनेशन सेट करके AI को पूरा रास्ता चलाने देने के बजाय, वे चलते समय छोटे-छोटे समायोजन कर रहे हैं।

2. "लक्षण रिपोर्टर" बनाम "जासूस"

पुराना तरीका: यदि कोई मशीन खराब हो जाती, तो मैकेनिक बोनट खोलता, इंजन को देखता और पता लगाता कि कौन सा हिस्सा खराब है।
नया तरीका: डेवलपर्स अब मैकेनिक के बजाय कार मालिकों की तरह व्यवहार कर रहे हैं।

जब कुछ गलत होता है, तो डेवलपर आमतौर पर यह नहीं कहता, "मेमोरी लीक utils.js फ़ाइल की लाइन 42 में है।" इसके बजाय, वे कहते हैं, "जब मैं लॉगिन बटन पर क्लिक करता हूँ तो ऐप क्रैश हो जाता है," या वे बस वह एरर मैसेज पेस्ट कर देते हैं जो कंप्यूटर ने दिखाया है।

  • निष्कर्ष: डेवलपर्स निदान (diagnosis) का कठिन काम AI को सौंप रहे हैं। वे "लक्षण रिपोर्टर" के रूप में कार्य करते हैं, AI को बताते हैं कि क्या गलत है, और AI को "जासूस" के रूप में काम करने देते हैं ताकि वह पता लगा सके कि क्यों गलत हुआ। वे कोड को खुद पढ़ने के बजाय, AI पर भरोसा करते हैं कि वह बग को ढूँढेगा।

3. "प्रोजेक्ट मैनेजर" की भूमिका

पुराना तरीका: आप बस कोड मांगते थे और वह मिल जाता था।
नया तरीका: डेवलपर्स AI के लिए प्रोजेक्ट मैनेजर बन रहे हैं।

चूंकि AI भ्रमित हो सकता है या पाँच मिनट पहले क्या हुआ था उसे भूल सकता है, इसलिए डेवलपर्स को इस रिश्ते को सक्रिय रूप से प्रबंधित करना पड़ता है।

  • "कॉन्टेक्स्ट इंजेक्शन" (Context Injection): कभी-कभी AI नियम भूल जाता है। डेवलपर को उसे याद दिलाना पड़ता है: "हे, याद रखना, हम Python 3.9 का उपयोग कर रहे हैं, 3.10 का नहीं।"
  • "एक्सटर्नल मेमोरी" (External Memory): डेवलपर्स AI से फाइलों (जैसे TODO.md या PROGRESS.md) में योजनाएं लिखने के लिए कहते हैं। यह व्हाइटबोर्ड पर स्टिकी नोट्स लिखने जैसा है ताकि जब AI "भूल" जाए (या जब बातचीत बहुत लंबी हो जाए), तो जो सहमति बनी थी उसका एक लिखित रिकॉर्ड मौजूद रहे।
  • "रीसेट बटन" (Reset Button): जब बातचीत बहुत उलझ जाती है, तो डेवलपर्स अक्सर एक नया चैट सेशन शुरू कर देते हैं। यह ऐसा है जैसे कहना, "ठीक है, चलो नए सिरे से शुरू करते हैं, लेकिन यहाँ वह सारांश है जो हमने कल किया था।"

4. कोडिंग सत्र के छह "पर्सोना" (Personas)

शोधकर्ताओं ने पाया कि ये बातचीत सभी एक जैसी नहीं होतीं। ये छह विशिष्ट "आर्केटाइप्स" या मोड में आती हैं, जो बिल्कुल अलग-अलग फिल्म शैलियों की तरह हैं:

  1. "फिक्स-इट" क्रू (विफलता-संचालित डिबगिंग): सबसे आम प्रकार। कुछ टूट गया है, और डेवलपर और AI "यह टूटा हुआ है," "यह रहा समाधान," "अभी भी टूटा हुआ है," "इसे आजमाएं" के लूप में हैं।
  2. "रिफाइनर्स" (केंद्रित पुनरावृत्ति परिशोधन): कोड काम करता है, लेकिन वह बदसूरत या धीमा है। वे बस इसे बार-बार छोटे-छोटे बदलावों के साथ पॉलिश कर रहे हैं।
  3. "प्लानर्स" (योजना और समझ): डेवलपर अभी कोड नहीं लिख रहा है; वह AI से पूछ रहा है, "यह सिस्टम कैसे काम करता है?" या "इसे बनाने का सबसे अच्छा तरीका क्या है?"
  4. "डेलीगेटर्स" (निरंतरता-संचालित): डेवलपर एक बड़ा निर्देश देता है, और फिर बस "जारी रखें" (Continue), "जारी रखें," "जारी रखें" कहता है, जिससे AI अपने आप काम करता रहता है।
  5. "टूल यूजर्स" (टूलचेन ऑपरेशंस): डेवलपर AI को कोडिंग के अलावा अन्य कार्यों के लिए कह रहा है, जैसे "ये लाइब्रेरी इंस्टॉल करें," "सर्वर शुरू करें," या "एक डॉक्यूमेंटेशन फ़ाइल बनाएं।"
  6. "डीप डायवर्स" (विस्तारित सह-विकास): ये लंबे समय तक चलने वाले सत्र हैं। ये बहुत लंबे होते हैं और इनमें सब कुछ शामिल होता है: योजना बनाना, कोडिंग, डिबगिंग और रिफाइनिंग। यहीं पर असली भारी काम होता है।

यह क्यों मायने रखता है?

यह अध्ययन हमें बताता है कि प्रोग्रामिंग "कोड लिखने" से बदलकर "बातचीत प्रबंधित करने" में बदल रही है।

  • डेवलपर्स के लिए: आपको अब हर सिंटैक्स नियम को रटने की आवश्यकता नहीं है, लेकिन आपको अपनी मंशा (intent) समझाने, यह पहचानने में कि AI कब पटरी से उतर रहा है, और अपने प्रोजेक्ट की "मेमोरी" को प्रबंधित करने में बहुत कुशल होने की आवश्यकता है।
  • AI बिल्डर्स के लिए: वर्तमान AI मॉडल कोड लिखने में बेहतरीन हैं, लेकिन वे लंबी अवधि की स्मृति (long-term memory) और अस्पष्ट निर्देशों को समझने में संघर्ष करते हैं। भविष्य के टूल्स को संदर्भ (context) को बेहतर ढंग से "याद रखने" और डेवलपर्स को इन लंबी, जटिल बातचीत को प्रबंधित करने में मदद करने में सक्षम होना चाहिए।

संक्षेप में, यह पेपर दिखाता है कि हम AI का उपयोग केवल कोड के लिए एक फैंसी स्पेल-चेकर के रूप में नहीं कर रहे हैं। हम एक नए प्रकार के सहयोगात्मक नृत्य (collaborative dance) का निर्माण कर रहे हैं, जहाँ इंसान विजन (vision) का नेतृत्व करता है और AI भारी काम संभालता है, लेकिन ताल बनाए रखने के लिए दोनों को लगातार बात करनी पड़ती है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →