मेरे AGENTS.md में वास्तव में क्या है
मेरी AGENTS.md फ़ाइल की शुरुआत एक कबाड़खाने (junk drawer) की तरह हुई थी। मुझे लगा कि इसमें स्टाइल नोट्स और टेक स्टैक (tech stack) के विवरण की आवश्यकता है। मैं गलत था।
एक AI एजेंट आपके फॉर्मेटिंग नियमों को नज़रअंदाज़ कर देगा। वह आपके उन नियमों का पालन करेगा जो उसकी सबसे खराब प्रवृत्तियों (worst instincts) से लड़ते हैं।
अपने ही कोड के खिलाफ इन फ़ाइलों का परीक्षण करते समय मैंने जो सीखा, वह यहाँ है।
रुकने की अनुमति
पहला नियम कोड के बारे में नहीं है। यह अनुमति के बारे में है।
एजेंट मददगार दिखना चाहते हैं। वे चुपचाप एक उत्तर चुनकर अस्पष्टता (ambiguity) को दूर कर देते हैं। इससे गलत कोड की सैकड़ों लाइनें बन जाती हैं।
मैं अपने एजेंटों से कहता हूँ कि जब चीजें स्पष्ट न हों तो रुकें और पूछें। मैं उन्हें अपनी धारणाएं (assumptions) बताने के लिए कहता हूँ। मैं उन्हें बताता हूँ कि "मुझे यकीन नहीं है" कहना एक सफलता है, विफलता नहीं।
वर्जित आदतों के नियम
सबसे उपयोगी नियम एक बुरी प्रवृत्ति का नाम लेते हैं और उसे वर्जित करते हैं।
• ज़रूरत से ज़्यादा न बनाएँ (over-build)। समस्या को हल करने के लिए न्यूनतम कोड लिखें। कोई काल्पनिक (speculative) फ्रेमवर्क नहीं।
• ज़रूरत से ज़्यादा विस्तार न करें (over-reach)। केवल उसी को छुएँ जिसकी आवश्यकता हो। दस लाइन का बदलाव दो सौ लाइन के diff में नहीं बदलना चाहिए।
• पैटर्न का औसत न निकालें। यदि आप दो अलग-अलग कोडिंग शैलियाँ देखते हैं, तो उन्हें मिलाएँ नहीं। एक को चुनें और समझाएँ कि क्यों।
मार्गदर्शन और प्रवर्तन के बीच का अंतर
मॉडल निर्देशों से भटक जाते हैं। मार्कडाउन फ़ाइल में एक नियम केवल एक सुझाव है, अनुबंध (contract) नहीं।
मैंने अपनी फ़ाइल को दो स्तरों में विभाजित किया है:
- मार्गदर्शन (Guidance): स्टाइल और दर्शन। यह गद्य (prose) में होता है।
- प्रवर्तन (Enforcement): सख्त आवश्यकताएं। इन्हें फ़ाइल में न रखें। इन्हें एक CI check या स्क्रिप्ट में रखें।
यदि कोई नियम हर बार लागू होना चाहिए, तो विफल होने पर उसे मर्ज करना असंभव बना दें। एक निर्देश शिष्टाचार है। एक गेट (gate) गारंटी है।
दावे पर नहीं, जाँच पर भरोसा करें
एजेंट अक्सर याददाश्त के आधार पर दावा करते हैं कि टेस्ट पास हो गए हैं। वे हमेशा उन्हें दोबारा नहीं चलाते।
मैं अपने एजेंटों से कहता हूँ कि सफलता को टेस्ट के माध्यम से परिभाषित करें। "इस बग को ठीक करें" कहने के बजाय, मैं कहता हूँ "एक ऐसा टेस्ट लिखें जो इस बग को दोहराए (reproduce), फिर उसे पास करें।"
बिना ताज़ा जाँच के किसी दावे पर कभी भरोसा न करें।
निशानों का लॉग
मैं गलतियों से सीखे गए सबक के लिए एक सेक्शन रखता हूँ। मैं इन्हें 'निशान' (scars) कहता हूँ।
एक एजेंट को पिछले दर्द की कोई याद नहीं होती। वह हर बार उसी बारूदी सुरंग (landmine) पर पैर रख देगा।
विशिष्ट त्रुटियों, अजीब API व्यवहारों और साइलेंट फेलियर (silent failures) को लिख लें। इन बारूदी सुरंगों का नक्शा बनाना आपके घंटों का समय बचाता है।
इस फ़ाइल का लक्ष्य निर्णय क्षमता (judgment) को कोड करना है। फॉर्मेटिंग नियम अपने आप लिखे जाते हैं। निर्णय क्षमता वह है जिसे आपको लिखना चाहिए।
Source: https://dev.to/miteshethos/whats-actually-in-my-agentsmd-434e
Optional learning community: https://t.me/GyaanSetuAi
