माझ्या AGENTS.md मध्ये प्रत्यक्षात काय आहे

माझी AGENTS.md फाईल सुरुवातीला एका विस्कळीत साठवणुकीसारखी (junk drawer) होती. मला वाटले की त्यात स्टाईल नोट्स आणि टेक स्टॅकचे तपशील असणे आवश्यक आहे. पण मी चुतो.

एआय (AI) एजंट तुमच्या फॉरमॅटिंग नियमांकडे दुर्लक्ष करेल. तो फक्त अशा नियमांचे पालन करेल जे त्याच्या वाईट प्रवृत्तींना रोखतात.

माझ्या स्वतःच्या कोडवर या फाईल्सची चाचणी करताना मी काय शिकलो, ते खालीलप्रमाणे आहे.

थांबण्याची परवानगी

पहिला नियम कोडबद्दल नाही. तो परवानगीबद्दल आहे.

एजंट्सना मदतगार दिसायचे असते. ते संभ्रम दूर करण्यासाठी शांतपणे स्वतःहून एखादे उत्तर निवडतात. यामुळे शेकडो ओळींचा चुकीचा कोड तयार होतो.

जेव्हा गोष्टी स्पष्ट नसतात, तेव्हा मी माझ्या एजंट्सना थांबायला आणि विचारण्यास सांगतो. मी त्यांना त्यांच्या गृहितकांचा (assumptions) उल्लेख करण्यास सांगतो. "मला खात्री नाही" असे म्हणणे ही अपयश नसून यश आहे, असे मी त्यांना सांगतो.

निषिद्ध सवयींचे नियम

सर्वात उपयुक्त नियम म्हणजे एखादी वाईट प्रवृत्ती ओळखणे आणि ती करण्यास मनाई करणे.

• अति-निर्मिती करू नका (Do not over-build). समस्या सोडवण्यासाठी किमान कोड लिहा. काल्पनिक (speculative) फ्रेमवर्क्स वापरू नका. • मर्यादेबाहेर जाऊ नका (Do not over-reach). जे आवश्यक आहे तेवढाच बदल करा. दहा ओळींचा बदल दोनशे ओळींच्या 'diff' मध्ये रूपांतरित होऊ नये. • पॅटर्नचे मिश्रण करू नका. जर तुम्हाला दोन वेगवेगळ्या कोडिंग स्टाईल्स दिसल्या, तर त्या एकत्र करू नका. एक निवडा आणि त्याचे कारण सांगा.

मार्गदर्शन आणि अंमलबजावणी यातील फरक

मॉडेल्स सूचनांपासून भरकटू शकतात. मार्कडाउन फाईलमधील नियम ही एक सूचना असते, करार नाही.

मी माझी फाईल दोन स्तरांमध्ये विभागली आहे:

  1. मार्गदर्शन (Guidance): स्टाईल आणि तत्त्वज्ञान. हे वर्णनात्मक स्वरूपात असते.
  2. अंमलबजावणी (Enforcement): कडक आवश्यकता. या गोष्टी फाईलमध्ये लिहू नका. त्या CI चेक किंवा स्क्रिप्टमध्ये ठेवा.

जर एखादा नियम प्रत्येक वेळी पाळलाच पाहिजे, तर तो पाळला न गेल्यास 'merge' करणे अशक्य करा. सूचना ही केवळ एक शिष्टाचार आहे. 'gate' ही एक हमी आहे.

दाव्यावर नाही, तर तपासणीवर विश्वास ठेवा

एजंट्स अनेकदा स्मरणावरून टेस्ट्स पास झाल्याचा दावा करतात. ते नेहमीच त्या पुन्हा रन करत नाहीत.

मी माझ्या एजंट्सना टेस्ट्सद्वारे यश परिभाषित करण्यास सांगतो. "हा बग फिक्स करा" असे म्हणण्याऐवजी, मी म्हणतो "अशी टेस्ट लिहा जी हा बग पुन्हा निर्माण करेल (reproduce), आणि मग ती पास करा."

नवीन तपासणी केल्याशिवाय कोणत्याही दाव्यावर विश्वास ठेवू नका.

जखमांचा लॉग (Log of Scars)

मी चुकांमधून शिकलेल्या धड्यांसाठी एक विभाग ठेवतो. मी त्यांना 'स्कार्स' (scars) म्हणतो.

एजंटला भूतकाळातील वेदनांची कोणतीही आठवण नसते. तो प्रत्येक वेळी त्याच 'लँडमाइन'वर (धोकादायक ठिकाणी) पाय ठेवेल.

विशिष्ट त्रुटी, विचित्र API वर्तन आणि शांतपणे होणारे अपयश (silent failures) लिहून ठेवा. या धोक्यांचे मॅपिंग केल्यामुळे तुमचा तासनतास वाचू शकतो.

या फाईलचा उद्देश निर्णयक्षमता (judgment) कोड स्वरूपात मांडणे हा आहे. फॉरमॅटिंगचे नियम आपोआप तयार होतात. निर्णयक्षमता ही अशी गोष्ट आहे जी तुम्हाला लिहून ठेवावी लागते.

Source: https://dev.to/miteshethos/whats-actually-in-my-agentsmd-434e

Optional learning community: https://t.me/GyaanSetuAi