कोडिंग एजेंट इतने बेवकूफ़ क्यों होते हैं?
डेवलपर्स के बीच निराशा बढ़ रही है, जो पाते हैं कि आधुनिक LLMs पर बने “कोडिंग एजेंट” अभी भी वास्तविक दुनिया के सॉफ़्टवेयर काम में संघर्ष करते हैं—जैसे सबटास्क्स का समन्वय करना, उपयुक्त मॉडल चुनना, कोड गुणवत्ता बनाए रखना, और समय के साथ प्रोजेक्ट आर्किटेक्चर का पालन करना। टिप्पणीकार दो खेमों में बँटे हैं: एक पक्ष मानता है कि मौजूदा सीमाएँ अपरिपक्व हार्नेस और वर्कफ़्लो का परिणाम हैं—और तर्क देता है कि सावधानीपूर्वक कॉन्टेक्स्ट, कस्टम टूल्स, और एजेंट ऑर्केस्ट्रेशन के साथ परिणाम उत्कृष्ट हो सकते हैं—जबकि दूसरा पक्ष मानता है कि यह तकनीक स्वायत्त कोडिंग के दावों पर मूलतः खरी नहीं उतरती। यह चर्चा एक उभरते विभाजन को उजागर करती है: कुछ इंजीनियर bespoke agent frameworks और tooling में भारी निवेश कर रहे हैं, जबकि अन्य LLMs को सहायक के रूप में इस्तेमाल करते रहते हैं, उन्हें जटिल विकास चलाने नहीं देते।
समग्र भावना
- कई लोग मानते हैं कि मौजूदा कोडिंग एजेंट व्यवहार में “बेवकूफ़” लगते हैं, लेकिन इसमें मतभेद है:
- कुछ का कहना है कि हालिया शीर्ष-स्तरीय मॉडल और बेहतर सेटअप ने लेख की कई परेशानियाँ काफी हद तक ठीक कर दी हैं।
- अन्य लोग महीनों की निराशा की बात करते हैं, खासकर गैर-तुच्छ, लंबे समय तक चलने वाले प्रोजेक्ट्स में।
हार्नेस बनाम मॉडल
- कई लोगों का तर्क है कि ज़्यादातर समस्याएँ हार्नेस/ऑर्केस्ट्रेशन से जुड़ी हैं, मॉडल की सीमाओं से नहीं:
- खराब डिफ़ॉल्ट प्रॉम्प्ट; सबएजेंट्स, समानांतरता, या रोल-सेपरेशन पर ज़ोर नहीं।
- कुछ हार्नेस (जैसे नए वर्ज़न) कई async सबटास्क बना सकते हैं; कुछ अन्य क्रमिक या नाज़ुक ही रहते हैं।
- लोग कस्टम ऑर्केस्ट्रेटर्स का वर्णन करते हैं जो सस्ते/तेज़ मॉडल्स को काम सौंपते हैं और अलग-अलग भूमिकाएँ इस्तेमाल करते हैं।
सबएजेंट्स, समानांतरता, और मॉडल चयन
- मिश्रित अनुभव:
- कुछ लोग ऐसे स्वायत्त एजेंट्स के साथ उत्कृष्ट परिणाम बताते हैं जो टिकट लेते हैं और PRs खोलते हैं, या एक ही repo में कई एजेंट चलाते हैं।
- अन्य लोगों को सबएजेंट्स चीज़ों को धीमा करते और परिणामों को खराब करते लगते हैं।
- डायनामिक मॉडल चयन (स्मार्ट बनाम सस्ता) अभी भी ज़्यादातर मैन्युअल या प्रॉम्प्ट-आधारित है; पूरी तरह स्वचालित कठिनाई-आकलन को कठिन माना जाता है।
कोड गुणवत्ता और समीक्षा वर्कफ़्लो
- कई लोगों की शिकायत है कि AI-लिखा कोड “काम करता है लेकिन बदसूरत होता है”:
- अत्यधिक जटिल, कमजोर टाइपिंग, अस्पष्ट आर्किटेक्चर, खराब “टेस्ट”/“taste”।
- सुझाए गए उपाय:
- डॉक-ड्रिवन डेवलपमेंट; एजेंट के साथ पहले स्पेक्स/डॉक्स लिखें।
- दर्शन और स्टाइल को AGENTS.md और markdown “source-of-truth” डॉक्स में क़ानूनी/औपचारिक रूप दें।
- हुक्स/रिव्यू सबएजेंट्स का उपयोग करें जो परिभाषित स्टाइल और “definition of done” के विरुद्ध कोड की स्वतः आलोचना और पुनर्लेखन करें।
प्रॉम्प्टिंग, कॉन्टेक्स्ट, और एनवायरनमेंट इंजीनियरिंग
- कुछ लोग ज़ोर देते हैं कि सावधानीपूर्वक कॉन्टेक्स्ट/प्रॉम्प्ट/एनवायरनमेंट डिज़ाइन आवश्यक है:
- मॉडल जो कुछ भी देखता है—फ़ाइलें, डॉक्स, संरचना—उसे प्रॉम्प्ट का हिस्सा मानें।
- सामान्य प्लगइन्स पर निर्भर रहने के बजाय लोकल टूल्स और स्किल्स बनाएं।
- अन्य लोग इसका विरोध करते हैं, यह बताते हुए कि ज़्यादातर उपयोगकर्ताओं के पास महीनों बिताकर कस्टम फ्रेमवर्क बनाने का समय नहीं है।
सुरक्षा और सैंडबॉक्सिंग
- फ़ाइलसिस्टम/नेटवर्क एक्सेस वाले एजेंट्स को लेकर गंभीर चिंता:
- सैंडबॉक्स/कंटेनर की सिफ़ारिश की जाती है, लेकिन फिर भी एस्केप और सप्लाई-चेन जोखिम रहते हैं (जैसे
.gitमें स्क्रिप्ट्स)। - कुछ लोग एजेंट्स को read-only git access देते हैं और उन्हें नेटवर्क्स पर अलग-थलग रखते हैं।
- सैंडबॉक्स/कंटेनर की सिफ़ारिश की जाती है, लेकिन फिर भी एस्केप और सप्लाई-चेन जोखिम रहते हैं (जैसे
मेटा: अपेक्षाएँ और परिपक्वता
- कई लोग कहते हैं कि “स्पष्ट” फीचर्स की इच्छा-सूची हार्नेस में डिफ़ॉल्ट रूप से शामिल होनी चाहिए, लेकिन हम AI युग के शुरुआती चरण में हैं।
- “अगर आप इसे चाहते हैं, तो एजेंट के साथ बनाइए” और “ज़्यादातर लोग उचित रूप से बेहतर out-of-the-box व्यवहार की उम्मीद करते हैं” के बीच तनाव है।