स्वायत्त कोडिंग: बेहतर प्रॉम्प्टिंग से बेहतर नियंत्रण प्रणालियों की ओर
स्वायत्त कोडिंग बेहतर प्रॉम्प्टिंग से हटकर बेहतर नियंत्रण प्रणालियों की ओर बढ़ रही है। महत्वपूर्ण बदलाव यह है कि इंजीनियर एजेंटों को लक्ष्यों, मूल्यांकनकर्ताओं, लूप्स और आर्टिफैक्ट्स में लपेटना सीख रहे हैं ताकि मानव के टाइप करना बंद करने के बाद भी वे काम करते रहें।
यह इसलिए मायने रखता है क्योंकि अधिकांश गंभीर इंजीनियरिंग कार्य लंबे समय तक फैले होते हैं: अस्पष्ट आवश्यकताएं, छिपी बाधाएं, आंशिक विफलताएं, बदलता संदर्भ और बार-बार सत्यापन। नई सीमा एजेंट के चारों ओर सिस्टम को डिज़ाइन करना है ताकि वह मानव के लगातार मार्गदर्शन के बिना योजना बना सके, निष्पादित कर सके, अपने काम की जांच कर सके, गलतियों से उबर सके और प्रगति करता रहे।
यह लेख DAIR.AI Academy सत्र ऑन ऑटोनॉमस लॉन्ग-रनिंग कोडिंग एजेंट्स पर आधारित है, जहां मैंने Claude Code के /goal मोड, नए /loop कमांड, वेरिफायर्स, आर्टिफैक्ट्स और ऑर्केस्ट्रेशन पैटर्न को व्यवहार में समझाया। Codex और Claude Code के सहयोग से लिखा गया।
प्रॉम्प्टिंग से गोल डिज़ाइन तक

Claude Code के /goal जैसी सुविधाओं के पीछे मूल विचार सरल है। एक कोडिंग एजेंट निष्पादक बना रहता है, लेकिन मानव अब इसके साथ बारी-बारी से बातचीत नहीं करता। इसके बजाय, मानव वांछित अंतिम स्थिति, सफलता साबित करने के लिए आवश्यक सबूत, उन बाधाओं को निर्दिष्ट करता है जिनका उल्लंघन नहीं किया जाना चाहिए, और जहां संभव हो, टर्न और बजट की संख्या भी निर्दिष्ट करता है।
यह गोल एक लंबे प्रॉम्प्ट की तुलना में एक अनुबंध की तरह अधिक काम करता है। एक कमजोर गोल मॉडल को जल्दी रुकने, शॉर्टकट लेने, या सफलता को इस तरह से पुनर्परिभाषित करने का स्थान देता है जो ट्रांस्क्रिप्ट में प्रशंसनीय लगे लेकिन वास्तविक सिस्टम में विफल हो। एक मजबूत गोल एजेंट को एक ऐसा लक्ष्य देता है जिसके खिलाफ वह बार-बार खुद को माप सके।
इंजीनियरिंग का निर्णय अभी भी यहां मायने रखता है। सबसे अच्छे गोल डोमेन ज्ञान को एन्कोड करते हैं जिसका मॉडल अन्यथा अनुमान लगाता। एक शोध प्रयोग के लिए, इसका मतलब एक लक्ष्य बेंचमार्क स्कोर, एक होल्ड-आउट मूल्यांकन, एक आवश्यक लॉस कर्व, और एक नियम हो सकता है कि परिणाम को प्रारंभिक बेसलाइन को हराना चाहिए। UI कार्य के लिए, इसका मतलब एक स्क्रीनशॉट संदर्भ, ठोस लेआउट बाधाएं, और एक ब्राउज़र सत्यापन चरण हो सकता है। मॉडल निष्पादित कर सकता है, लेकिन मानव अभी भी परिभाषित करता है कि "हो गया" का वास्तव में क्या अर्थ है।
मूल्यांकनकर्ता एक प्रथम-श्रेणी घटक बन जाता है

लंबे समय तक चलने वाले एजेंटों को लक्ष्य के अलावा एक दूसरी भूमिका की आवश्यकता होती है। यह मूल्यांकनकर्ता एक और कोडिंग एजेंट, LLM-एज़-जज, एक स्क्रिप्ट, एक टेस्ट सूट, एक बेंचमार्क हार्नेस, या इन सभी का मिश्रण हो सकता है। मुख्य डिज़ाइन निर्णय मूल्यांकनकर्ता को कार्य से मिलाना है। जब सफलता स्पष्ट होती है, तो नियतात्मक जांच बेहतर होती हैं। टाइप चेक, यूनिट टेस्ट, लिंट नियम, इंटीग्रेशन टेस्ट और बेंचमार्क स्क्रिप्ट का उपयोग जब भी वे स्थिति को स्पष्ट रूप से व्यक्त कर सकें, किया जाना चाहिए।
जब सफलता अस्पष्ट होती है, तो एक एजेंट मूल्यांकनकर्ता उपयोगी हो जाता है। एक स्क्रिप्ट आपको बता सकती है कि टेस्ट पास होते हैं या नहीं, लेकिन यह आसानी से यह तय नहीं कर सकती कि उत्पन्न शोध रिपोर्ट सुसंगत है या नहीं, कि कोई कार्यान्वयन ईमानदारी से किसी पेपर का अनुसरण करता है या नहीं, या कि कोई UI डिज़ाइन के इरादे से मेल खाता है या नहीं। यहीं पर मूल्यांकनकर्ता भाषा, निर्णय और कभी-कभी विज़न से लाभान्वित होता है।
व्यावहारिक पैटर्न नियतात्मक जांच को निचले स्तर के रूप में और एजेंट मूल्यांकन को उच्च-स्तरीय समीक्षा के रूप में उपयोग करता है। यह संयोजन भ्रमित सफलता को कम करता है जबकि उन कार्यों पर स्वायत्तता की अनुमति देता है जो एक परीक्षण अभिकथन में साफ-सुथरे रूप से फिट नहीं होते।
वेरिफायर्स विश्वास की सीमा को परिभाषित करते हैं

गहरा मुद्दा यह है कि स्वायत्तता तभी काम करती है जब सिस्टम के पास एक विश्वसनीय वेरिफायर हो। एक कोडिंग एजेंट एक योजना बना सकता है, एक सुविधा लागू कर सकता है, और समझा सकता है कि वह क्यों मानता है कि काम पूरा हो गया है, लेकिन उस स्पष्टीकरण को सबूत के रूप में नहीं माना जाना चाहिए। सबूत एक बाहरी जांच से आता है जिसके चारों ओर एजेंट आसानी से बात नहीं कर सकता।
कोड के लिए, वेरिफायर एक टेस्ट सूट, टाइप चेकर, बेंचमार्क, ब्राउज़र रन, स्क्रीनशॉट तुलना, या पुनरुत्पादक स्क्रिप्ट हो सकता है। शोध कार्य के लिए, यह एक होल्ड-आउट मूल्यांकन, एक पुनरुत्पादित तालिका, एक लॉस कर्व, या एक बेंचमार्क स्कोर हो सकता है जो बेसलाइन में सुधार करता है। डिज़ाइन कार्य के लिए, यह एक संदर्भ स्क्रीनशॉट और एक दृश्य समीक्षा चरण हो सकता है। वेरिफायर वह है जो एक लंबे समय तक चलने वाले एजेंट को एक आत्मविश्वासी टेक्स्ट जनरेटर से एक ऐसी प्रणाली में बदल देता है जिस पर अधिक समय के साथ भरोसा किया जा सकता है।
अधिकांश शॉर्टकट इस सीमा पर दिखाई देते हैं। यदि वेरिफायर अस्पष्ट है, तो मॉडल अक्सर कार्य की सबसे आसान व्याख्या को संतुष्ट करेगा। यदि वेरिफायर बहुत संकीर्ण है, तो मॉडल इसके लिए ओवरफिट हो सकता है और व्यापक इरादे को खो सकता है। इसलिए एक अच्छे स्वायत्त वर्कफ़्लो को स्तरित सत्यापन की आवश्यकता होती है, जिसमें सस्ती नियतात्मक जांच बुनियादी विफलताओं को पकड़ती हैं और उच्च-स्तरीय समीक्षा निर्णय-भारी विफलताओं को पकड़ती है। कुछ फ्रंटियर मॉडल पहले से ही कुछ स्तर का सत्यापन प्राप्त कर सकते हैं, लेकिन मेरे शोध के आधार पर, अभी भी एक स्पष्ट OOD समस्या है, जहां यदि आप एजेंट को सौंपा गया सत्यापन कार्य प्रशिक्षण वितरण के बाहर आता है, तो मॉडल काफी संघर्ष करते हैं।
वेरिफायर्स अभी भी शोध का एक खुला क्षेत्र है, लेकिन मुझे उम्मीद है कि अधिक कंपनियां इस क्षेत्र में भारी निवेश करना शुरू कर देंगी। एंटरप्राइज़ में फाइन-ट्यून्ड वेरिफायर्स की अवधारणा भी उच्च मांग में है।
लूप्स स्वायत्तता को टिकाऊ बनाते हैं

एक लक्ष्य एजेंट को दिशा देता है, लेकिन एक लूप काम को जीवित रखता है। यह अंतर महत्वपूर्ण है क्योंकि मॉडल अक्सर वास्तविक कार्य समाप्त होने से पहले रुक जाते हैं। वे एक टर्न सीमा तक पहुंच सकते हैं, आत्मविश्वास खो सकते हैं, संदर्भ समाप्त कर सकते हैं, या तय कर सकते हैं कि आंशिक समाधान पर्याप्त है।
लूप बाहरी नियंत्रण प्रणाली है। यह जागता है, प्रगति का निरीक्षण करता है, जांच चलाता है, परिणाम की तुलना लक्ष्य से करता है, और जब लक्ष्य पूरा नहीं हुआ होता है तो एजेंट को अगले निर्देश के साथ वापस भेजता है। इसके सरलतम रूप में, यह एक कोडिंग एजेंट और एक नियतात्मक स्थिति के साथ Ralph लूप पैटर्न है। अधिक लचीले रूप में, लूप में एक मूल्यांकनकर्ता एजेंट शामिल होता है जो प्रगति के बारे में तर्क कर सकता है और तय कर सकता है कि आगे क्या होना चाहिए।
लंबे समय तक चलने वाली स्वायत्तता एक नियंत्रण परत की देखरेख में दोहराए गए प्रयास के रूप में काम करती है, न कि बुद्धिमत्ता के एक सतत कार्य के रूप में। एजेंट अभी भी विफल हो सकता है, लेकिन लूप सिस्टम को विफलता को नोटिस करने और चुपचाप जीत की घोषणा करने के बजाय जारी रखने का एक तरीका देता है।
योजना वह जगह है जहां विशेषज्ञता प्रवेश करती है

सत्र से सबसे मजबूत विषयों में से एक यह था कि योजना महत्वपूर्ण बनी हुई है। आप एक फ्रंटियर मॉडल से योजना बनाने के लिए कह सकते हैं, लेकिन फिर भी आपको इसका निरीक्षण करने, धारणाओं को चुनौती देने, और स्वायत्त लूप को कार्य सौंपने से पहले सफलता मानदंड को तेज बनाने की आवश्यकता है।
यह श्रम के एक उपयोगी विभाजन की ओर ले जाता है। एक मजबूत योजना मॉडल लक्ष्य को परिभाषित करने, लापता बाधाओं की पहचान करने और मूल्यांकन को संरचित करने में मदद कर सकता है। एक अलग निष्पादन मॉडल तब योजना स्पष्ट होने के बाद कार्यान्वयन चला सकता है। व्यवहार में, इसका मतलब है कि इंजीनियरों को "मॉडल" को एक एकल विकल्प के रूप में सोचना बंद कर देना चाहिए। मॉडल का चुनाव एक आर्किटेक्चर निर्णय बन जाता है।
कुछ मॉडल बेहतर योजनाकार हैं। कुछ बेहतर निष्पादक हैं। कुछ सस्ते मूल्यांकनकर्ता हैं। कुछ विज़न-आधारित समीक्षा में बेहतर हैं। एक अच्छा ऑर्केस्ट्रेटर आपको एक विक्रेता द्वारा सही कोडिंग एजेंट इंटरफ़ेस प्रदान करने की प्रतीक्षा करने के बजाय इन भूमिकाओं को बदलने देता है।
दृश्य आर्टिफैक्ट नियंत्रण सतह बन जाते हैं

टर्मिनल ट्रांसक्रिप्ट तब स्केल नहीं करते जब कई एजेंट चल रहे हों। एक बार जब आपके पास समानांतर में कई सत्र काम कर रहे हों, तो कच्चा टेक्स्ट प्रगति को समझने के लिए एक खराब इंटरफ़ेस बन जाता है।
लाइव आर्टिफैक्ट मायने रखते हैं क्योंकि लॉस कर्व्स, बेंचमार्क स्कोर, कार्य स्थितियों, स्क्रीनशॉट, लागत अनुमानों और हाल के निर्णयों वाला एक डैशबोर्ड मानव को स्वायत्तता की निगरानी करने का एक बेहतर तरीका देता है। आर्टिफैक्ट यह तय करने के लिए नियंत्रण सतह बन जाता है कि कब हस्तक्षेप करना है, न कि बाद में उत्पन्न एक रिपोर्ट।
सबसे उपयोगी पैटर्न स्टोरेज को प्रेजेंटेशन से अलग करना है। Markdown या एक वॉल्ट टिकाऊ सबूत, लॉग, नोट्स, योजनाएं और परिणाम संग्रहीत कर सकता है। HTML आर्टिफैक्ट उस स्थिति को दृश्य और इंटरैक्टिव कुछ में प्रस्तुत कर सकते हैं। एजेंट Markdown खोज सकता है, जबकि मानव आर्टिफैक्ट की निगरानी कर सकता है।
UI और उत्पाद कार्य के लिए, दृश्य संकेत विशेष रूप से शक्तिशाली होते हैं। एक स्क्रीनशॉट संदर्भ गद्य की तुलना में डिज़ाइन के इरादे को अधिक सटीक रूप से संप्रेषित कर सकता है, और एक विज़न-सक्षम मूल्यांकनकर्ता उस संदर्भ के खिलाफ कार्यान्वयन की तुलना कर सकता है। यह सामान्य विफलता मोड को कम करता है जहां एजेंट तकनीकी रूप से अनुरोधित घटक को लागू करता है लेकिन स्पेसिंग, पदानुक्रम, संरेखण या उत्पाद अनुभव को याद करता है।
सत्र माइनिंग उपयोग को स्मृति में बदल देता है

एक और महत्वपूर्ण अंतर्दृष्टि यह है कि पिछले एजेंट सत्र वर्कफ़्लो डेटा का एक समृद्ध स्रोत हैं। यदि कोई एजेंट बार-बार उसी तरह विफल होता है, उसी जांच को चलाना भूल जाता है, गलत पथ का उपयोग करता है, या उसी टूटे हुए कमांड को फिर से आज़माता है, तो उस पैटर्न को लॉग में दफन नहीं रहना चाहिए।
सत्र माइनिंग उन ट्रांसक्रिप्ट को संचालन नियमों में बदल देती है। एक एजेंट पिछले तीस दिनों के काम को स्कैन कर सकता है, बार-बार होने वाले विफलता मोड ढूंढ सकता है, और परियोजना निर्देशों, वॉल्ट लर्निंग्स, या एजेंट नियमों में अपडेट प्रस्तावित कर सकता है। इस तरह एक टीम मैन्युअल रूप से हर गलती को याद किए बिना धीरे-धीरे अपने हार्नेस में सुधार कर सकती है।
लक्ष्य बिना मॉडल को खरोंच से प्रशिक्षित किए स्थानीय वातावरण को स्मार्ट बनाना है। एक एजेंट निर्देश फ़ाइल में एक छोटा नियम भविष्य के सत्रों में बार-बार होने वाली विफलताओं को रोक सकता है, खासकर जब नियम परियोजना के लिए विशिष्ट हो।
एक व्यावहारिक संचालन मॉडल

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

इनमें से कोई भी कठिन समस्याओं को दूर नहीं करता। एजेंट अभी भी शॉर्टकट लेते हैं। वे अभी भी जल्दी रुकते हैं। वे अभी भी पूर्णता को अधिक आंकते हैं। वे अभी भी आत्मविश्वासी लेकिन कमजोर योजनाएं उत्पन्न करते हैं, खासकर हाल के पेपरों, अपरिचित बेंचमार्क, या अपने प्रशिक्षण वितरण के बाहर के सिस्टम पर।
उन पर अधिक भरोसा करना इसे हल नहीं करेगा। बेहतर नियंत्रण प्रणालियां हल करेंगी। लक्ष्य, लूप, मूल्यांकनकर्ता, नियतात्मक जांच, दृश्य आर्टिफैक्ट और सत्र स्मृति सभी स्वायत्तता को देखने योग्य और सुधारने योग्य बनाने के तरीके हैं।
दिशा स्पष्ट है। कोडिंग एजेंटों का भविष्य अधिक सक्षम मॉडलों के आसपास बेहतर ऑर्केस्ट्रेशन पर निर्भर करता है, जहां इंजीनियर उन परिस्थितियों को डिज़ाइन करते हैं जिनके तहत एजेंट घंटों या दिनों तक सुरक्षित रूप से चल सकते हैं और फिर भी सत्यापित किया जा सकने वाला काम उत्पन्न कर सकते हैं।





