एआई कोडिंग एजेंट बहुत तेज़ी से ऐसा कोड बना देते हैं जो देखने में सही लगता है। वे उतनी ही तेज़ी से ऐसे दोष, गलत संरचनाएँ और तथाकथित सुधार भी बना देते हैं जो आसपास की तीन फ़ाइलों को तोड़ देते हैं। प्रदर्शन और उत्पादन के बीच का अंतर मॉडल की बुद्धिमत्ता नहीं है। अंतर प्रक्रिया का है।
मैं कर्सर शैली के एजेंटों और कोपायलट शैली की पूर्णताओं को एक बहुत तेज़ कनिष्ठ अभियंता की तरह देखता हूँ: उपयोगी, अथक, और पूरी तरह तैयार कि कुछ ऐसा गढ़ दें जो सही दिखे। आपका काम कम टाइप करना नहीं है। आपका काम संदर्भ नियंत्रित करना, प्रमाण माँगना, और निश्चय के साथ अस्वीकार करना है।
यह लेख एक व्यावहारिक मार्गदर्शिका है। औज़ारों की तुलना नहीं। केवल वे आदतें जो गति बनाए रखें और भंडार को कचरे से न भरें।
१. संदर्भ ही असली संपर्क सतह है
एजेंट आपके कोड आधार को समझते नहीं हैं। वे आपके सामने रखी सामग्री पर पैटर्न मिलाते हैं। खराब संदर्भ आत्मविश्वास भरा गलत कोड देता है। अच्छा संदर्भ नीरस, मर्ज योग्य अंतर देता है।
एजेंट को सबसे छोटा ईमानदार पैकेज दें:
१. एक वाक्य में लक्ष्य। भुगतान वेबहुक हैंडलर में स्ट्राइप के पाँच सौ वर्ग उत्तरों के लिए आइडेम्पोटेंट पुनःप्रयास जोड़ें। केवल त्रुटि प्रबंधन सुधारें नहीं लिखें। २. वे फ़ाइलें जो व्यवहार की मालिक हैं। हैंडलर, सेवा, मौजूदा पुनःप्रयास उपयोगिता, और परीक्षण फ़ाइल। पूरा मॉड्यूल वृक्ष नहीं। ३. स्थानीय परंपराएँ। पैकेज नाम कैसे रखते हैं, लॉग कैसे लिखते हैं, त्रुटियाँ कैसे गढ़ते हैं, कौन सा जाल ग्राहक उपयोग होता है। ४. सीमाएँ। नई निर्भरताएँ नहीं। मौजूदा पुनःप्रयास नीति का पालन। सार्वजनिक अनुप्रयोग प्रोग्रामिंग अंतरफलक न बदलें। ५. पूर्ण होने की परिभाषा। इकाई परीक्षण डुप्लिकेट घटना पहचान और जाल समय समाप्ति को ढकें। मौजूदा वेबहुक परीक्षण हरे रहें।
यदि निर्देश अस्पष्ट है, एजेंट वास्तुकला गढ़ लेगा। कचरे की शुरुआत अक्सर वहीं होती है।
भंडार स्तरीय निर्देश मदद करते हैं, चाहे कर्सर नियम हों, परियोजना निर्देश फ़ाइल हो, या योगदान संबंधी छोटा अंश जो एजेंट हमेशा देखे। नियम छोटे और क्रियाशील रखें:
- नई उपयोगिताओं से पहले मौजूदा सहायक चुनें
- असंबंधित फ़ाइलें न लिखें
- वर्तमान त्रुटि और लॉग शैली अपनाएँ
- असफल परीक्षण हटाकर चुप न कराएँ
लंबे घोषणापत्र नज़रअंदाज़ हो जाते हैं। छोटे कठोर नियम टिकते हैं।
२. संदर्भ विंडो को दुर्लभ संसाधन मानें
संदर्भ विंडो तब तक विशाल लगती है जब तक आप आधा मोनोरिपो उसमें नहीं ठूंस देते। शोर भरते ही मॉडल महत्वपूर्ण पंक्तियाँ गिरा देता है: आपका अपरिवर्तनीय नियम, आपका किनारा मामला, वह फलन जो पहले से समाधान रखता था।
व्यावहारिक विंडो स्वच्छता:
- हर नए कार्य के लिए नई बातचीत खोलें। कल के पुनर्संरचना इतिहास से आज का दोष सुधार टेढ़ा हो जाएगा।
- बड़े चिपकाव से बेहतर फ़ाइल संदर्भ। असली फ़ाइल दिखाएँ ताकि वर्तमान सामग्री मिले, पुराना अंश नहीं।
- निर्णय सारांशित करें, पूरी बातचीत नहीं। बातचीत लंबी हो तो अब तक का छोटा नोट लिखें और सक्रिय फ़ाइलों के साथ साफ़ सत्र खोलें।
- गलत रास्ते काटें। तीन दौर गलत दिशा में गए हों तो सुधारों का ढेर न लगाएँ। साफ़ बाधा के साथ फिर शुरू करें।
- पूरी लॉग न डालें। असफल दावा, महत्वपूर्ण स्टैक फ़्रेम, और एक प्रतिनिधि अनुरोध पेलोड काफी हैं।
उपयोगी मानसिक मॉडल: हर शामिल टोकन उस टोकन से टकराता है जो दोष समझाता है। उनकी रक्षा करें।
३. एजेंट को कोड लिखने से पहले अनुबंध लिखें
एजेंटों के साथ सबसे बड़ा लाभ अभी भी पुराना है: पहले व्यवहार तय करें।
एजेंट के साथ पहले परीक्षण ऐसा दिखता है:
१. आप असफल परीक्षण (या प्रकार अथवा अंतरफलक) लिखते या रेखांकित करते हैं जो वांछित व्यवहार पकड़ता है। २. एजेंट से कहते हैं कि सबसे छोटे बदलाव से परीक्षण पास कराए। ३. परीक्षण समूह स्वयं चलाएँ। एजेंट का सब हरा तब तक न मानें जब तक आप देख न लें। ४. अंतर में अनावश्यक विस्तार खोजें, फिर प्रतिबद्ध करें।
यह इसलिए काम करता है कि परीक्षण और प्रकार खोज क्षेत्र सिकोड़ते हैं। एजेंट बीच में उत्पाद आवश्यकताएँ नहीं गढ़ता। वह बंद समस्या हल करता है।
अच्छे एजेंट कार्य:
- वह फलन लागू करना जिसके पहले से सारणीबद्ध परीक्षण हों
- परीक्षण हरे रखते हुए कॉल स्थल को नए अंतरफलक पर ले जाना
- मौजूदा फिक्स्चर से ढके शून्य जाँच मार्ग जोड़ना
- वही ढाँचा बनाना जिसके तीन उदाहरण परियोजना में पहले से हों
खराब कार्य (जब तक सीमा न बाँधें):
- प्रमाणीकरण बना दो
- इस मॉड्यूल को साफ़ करो
- इसे अधिक मापनीय बनाओ
- अस्थिर परीक्षण किसी तरह ठीक करो
यदि आप अपेक्षित निवेश, उत्पादन और विफलता मार्ग नहीं कह सकते, एजेंट भी नहीं कह सकता। फिर भी कोड निकलेगा। वही समस्या है।
४. समीक्षा चक्र अपनाएँ, केवल एहसास नहीं
एआई आउटपुट को अजनबी के पुल अनुरोध की तरह पढ़ना ही असली काम है। गति छोटे चक्रों से आती है, समीक्षा छोड़ने से नहीं।
वास्तविक भंडारों में टिकने वाला समीक्षा चक्र:
१. पहले अंतर का दायरा। कार्य से बाहर फ़ाइलें छूईं? तुरंत वापस लें। असंबंधित सफ़ाई में सूक्ष्म प्रतिगमन छिपते हैं। २. शैली नहीं, आशय पढ़ें। स्वरूप औज़ार ठीक कर देंगे। गलत नियंत्रण प्रवाह नहीं। ३. सफल मार्ग हाथ से ट्रेस करें। एक अनुरोध प्रवेश से वापसी तक। डेटा आकार कॉल करने वालों की अपेक्षा से मेल खाता है? ४. विफलता मार्ग ज़बरदस्ती चलाएँ। समय समाप्ति, खाली सूची, आंशिक लेखन, डुप्लिकेट घटना, अनधिकृत कॉलर। एजेंट इन्हें कम लिखते हैं। ५. सबसे छोटा ईमानदार परीक्षण समूह चलाएँ, फिर सीमा पार बदलाव हो तो व्यापक समूह। ६. तभी दूसरी पास माँगें: यह असफल हुआ। केवल यही ठीक करो। पुनर्संरचना मत करो।
पहला प्रयास लगभग काम कर गया इसलिए बहुफ़ाइल पुनर्लेखन स्वीकार न करें। शल्य चिकित्सा जैसे छोटे पैच चुनें।
गंध संकेत जो बचाते हैं:
- एक ही कॉल स्थल वाली नई अमूर्तता
- दो फ़ोल्डर दूर पहले से मौजूद उपयोगिता की नकल
- व्यापक प्रयास पकड़ जो शून्य या खाली सफलता लौटाए
- अस्थायी झंडे बिना हटाने की योजना
- कोड की कहानी सुनाते टिप्पणी, बिना गैर स्पष्ट बाधा समझाए
- पुल अनुरोध विवरण में व्याख्या के बिना विन्यास बदलाव
इनमें से दो दिखें तो एजेंट मनमानी कर रहा है। गति घटाएँ।
५. एआई कोड कब पूरी तरह अस्वीकार करें
अस्वीकार करना एक कौशल है। बुरी संरचना आधी स्वीकार कर केवल चमकाना अक्सर नए सिरे से लिखने से महँगा पड़ता है।
अस्वीकार कर फिर शुरू करें जब:
- एजेंट सादे शब्दों में न बता सके कि बदलाव सही क्यों है
- सुधार ऐसी लाइब्रेरी या अंतरफलक पर टिका हो जो परियोजना (या वास्तव) में मौजूद नहीं
- टिकट वाली समस्या के बजाय कोई और समस्या हल हो
- टूटे व्यवहार से मिलाने के लिए परीक्षण बदले गए हों, कोड ठीक न हुआ हो
- सुरक्षा संवेदनशील मार्ग (प्रमाणीकरण, कूटलेखन, भुगतान, किरायेदारी) बिना सावधानीपूर्ण मानवीय डिज़ाइन बदले गए हों
- अंतर इतना बड़ा हो कि पूरा व्यवहार बदलाव दिमाग में न समाए
स्वयं लिखें जब:
- डोमेन तर्क सूक्ष्म हो और डिज़ाइन पहले से स्पष्ट हो
- बदलाव दस पंक्ति का हो और एजेंट ढाँचा प्रस्तावित करता रहे
- आप क्षेत्र सीख रहे हों और गति से ज़्यादा मानसिक मॉडल चाहिए
एजेंट रखें जब:
- पैटर्न दोहराया जाता हो (साधारण अंतबिंदु, मानचित्रण, परीक्षण सारणी)
- यांत्रिक स्थानांतरण जहाँ संकलक या परीक्षण समूह सुरक्षा जाल हों
- ज्ञात अंतर से दस्तावेज़, प्रतिबद्ध संदेश, या समीक्षा सूची का मसौदा
- छोटे, सुपरिभाषित प्रयोग में दो क्रियान्वयन विकल्पों की तुलना
एजेंट ज्ञात आकृतियों को तेज़ करते हैं। डिज़ाइन स्वामित्व का विकल्प नहीं।
६. दैनिक प्रवाह जो कचरा न भेजे
गैर तुच्छ काम पर मेरा असली चक्र यह है:
१. छोटे नोट में बदलाव स्पष्ट करें। लक्ष्य, गैर लक्ष्य, फ़ाइलें, जोखिम। २. अनुबंध बाँधें। पहले असफल परीक्षण, प्रकार, या अंतरफलक रेखाचित्र। ३. केवल संबंधित फ़ाइलों और नोट के साथ साफ़ एजेंट सत्र खोलें। ४. सबसे छोटा पैच माँगें, नया डिज़ाइन नहीं। ५. परीक्षण और लिंटर स्वयं चलाएँ। ६. शत्रुतापूर्ण कोड समीक्षा की तरह पढ़ें। दायरा, किनारे के मामले, सुरक्षा, प्रदर्शन। ७. स्वीकार करें, लक्षित सुधार माँगें, या फेंक दें। बुरे धागे के डूबे लागत से बंधे न रहें। ८. मानव लिखे संदेश से प्रतिबद्ध करें जिसमें क्या और क्यों हो। यदि वह संदेश साफ़ न लिख सकें, बदलाव अभी समझ में नहीं आया।
बहुत छोटी पूर्णताओं (नाम बदलना, स्पष्ट शून्य रक्षा, परीक्षण नाम) के लिए कोपायलट जैसी इनलाइन सुझाव ठीक हैं। मॉड्यूल सीमा पार हो तो ऊपर वाला पूरा एजेंट चक्र अपनाएँ।
७. टीम आदतें व्यक्तिगत तरकीबों से ज़्यादा मायने रखती हैं
व्यक्तिगत कौशल मदद करता है। साझा मूलभूत नियम कोड आधार स्वस्थ रखते हैं जब पाँच लोग एजेंट अलग ढंग से उपयोग करें।
मानकीकरण योग्य:
- एआई सहायता वाले पुल अनुरोधों में वही अनिवार्य परीक्षण जो मानवीय अनुरोधों में माँगते हैं
- सुविधा शाखाओं में रास्ते भर पुनर्संरचना वर्जित, मानव हो या एआई
- रहस्य और उत्पादन पहुँच कभी संकेत में न चिपकाएँ
- भंडार में जाँची गई छोटी परियोजना नियम फ़ाइल
- समीक्षक जाँच सूची बिंदु: क्या एआई सहायता थी, और विफलता मार्ग चलाए गए?
नीति का उपन्यास नहीं चाहिए। सहमति चाहिए कि गति बिना समीक्षा के अंतर को माफ़ नहीं करती।
निष्कर्ष
एआई कोडिंग एजेंट उम्मीदवार कोड बनाने की गति का ऊपरी स्तर बढ़ाते हैं। वे यह नहीं बढ़ाते कि आपका तंत्र कितना बिना समीक्षित कोड सोख सकता है।
संदर्भ का स्वामित्व लें। पहले अनुबंध लिखें। ऐसे समीक्षा करें मानो लेखक चतुर हो और अविश्वसनीय हो। बिना अपराधबोध अस्वीकार करें। एजेंट को यांत्रिक, सुपरिभाषित काम पर रखें और डिज़ाइन निर्णय मानवीय रखें।
यह करने पर एजेंट चुपचाप उत्पादन ऋण का स्रोत नहीं रह जाते। वे वही बनते हैं जो प्रदर्शन वादा करते थे: एक तेज़ औज़ार, ज़िम्मेदार संचालक के साथ।
