મારા AGENTS.md માં ખરેખર શું છે
મારી AGENTS.md ફાઇલ એક કચરાપેટી જેવી શરૂ થઈ હતી. મને લાગ્યું કે તેમાં સ્ટાઇલ નોટ્સ અને ટેક સ્ટેક વિગતોની જરૂર છે. હું ખોટો હતો.
એક AI એજન્ટ તમારા ફોર્મેટિંગ નિયમોને અવગણશે. તે તમારા એવા નિયમોનું પાલન કરશે જે તેની ખરાબ વૃત્તિઓ સામે લડે છે.
મારા પોતાના કોડ સામે આ ફાઇલોનું પરીક્ષણ કરીને મેં જે શીખ્યું છે તે અહીં છે.
અટકવાની પરવાનગી
પહેલો નિયમ કોડ વિશે નથી. તે પરવાનગી વિશે છે.
એજન્ટો મદદરૂપ દેખાવા માંગે છે. તેઓ મૌન રીતે કોઈ પણ જવાબ પસંદ કરીને અસ્પષ્ટતા દૂર કરવાનો પ્રયાસ કરે છે. આના કારણે સેંકડો લાઇનોનો ખોટો કોડ લખાઈ જાય છે.
જ્યારે વસ્તુઓ અસ્પષ્ટ હોય ત્યારે હું મારા એજન્ટોને અટકવા અને પૂછવા માટે કહું છું. હું તેમને તેમની ધારણાઓ જણાવવા કહું છું. હું તેમને કહું છું કે "મને ખાતરી નથી" કહેવું એ સફળતા છે, નિષ્ફળતા નથી.
નિષેધિત આદતોના નિયમો
સૌથી ઉપયોગી નિયમો કોઈ ખરાબ વૃત્તિનું નામ આપે છે અને તેને મનાઈ કરે છે.
• વધુ પડતું નિર્માણ ન કરો. સમસ્યા ઉકેલવા માટે લઘુત્તમ કોડ લખો. કોઈ અનુમાનિત ફ્રેમવર્કનો ઉપયોગ ન કરો. • મર્યાદા ઓળંગશો નહીં. ફક્ત જરૂરી હોય તેટલું જ સ્પર્શ કરો. દસ લાઇનની ફેરફાર બસો લાઇનોનો diff ન બનવો જોઈએ. • પેટર્નને સરેરાશ ન કરો. જો તમે બે અલગ-અલગ કોડિંગ સ્ટાઇલ જુઓ છો, તો તેમને મિક્સ ન કરો. એક પસંદ કરો અને શા માટે તે પસંદ કરી તેનું કારણ આપો.
માર્ગદર્શન અને અમલીકરણ વચ્ચેનો તફાવત
મોડલ્સ સૂચનાઓથી વિચલિત થઈ જાય છે. માર્કડાઉન ફાઇલમાંનો નિયમ એ માત્ર એક સૂચન છે, કરાર નથી.
મેં મારી ફાઇલને બે સ્તરોમાં વહેંચી છે:
- માર્ગદર્શન: સ્ટાઇલ અને ફિલોસોફી. આ ગદ્યમાં હોય છે.
- અમલીકરણ: કડક જરૂરિયાતો. આને ફાઇલમાં ન મૂકો. તેને CI ચેક અથવા સ્ક્રિપ્ટમાં મૂકો.
જો કોઈ નિયમ દર વખતે લાગુ થવો જ જોઈએ, તો જો તે નિષ્ફળ જાય તો તેને મર્જ (merge) કરવું અશક્ય બનાવી દો. સૂચના એ માત્ર વિવેક છે. ગેટ (gate) એ ખાતરી છે.
ચેક પર વિશ્વાસ કરો, દાવા પર નહીં
એજન્ટો ઘણીવાર યાદશક્તિના આધારે ટેસ્ટ પાસ થયા હોવાનો દાવો કરે છે. તેઓ હંમેશા તેને ફરીથી રન કરતા નથી.
હું મારા એજન્ટોને ટેસ્ટ દ્વારા સફળતા વ્યાખ્યાયિત કરવા કહું છું. "આ બગ ફિક્સ કરો" કહેવાને બદલે, હું કહું છું કે "એક એવો ટેસ્ટ લખો જે આ બગને ફરીથી પેદા કરે (reproduce), અને પછી તેને પાસ કરો."
તાજા ચેક વગર ક્યારેય કોઈ દાવા પર વિશ્વાસ ન કરો.
નિશાનોનો લોગ
હું ભૂલોમાંથી શીખેલા પાઠ માટે એક વિભાગ રાખું છું. હું આને 'નિશાનો' (scars) કહું છું.
એજન્ટ પાસે ભૂતકાળના દુઃખની કોઈ યાદ નથી. તે દર વખતે એ જ લેન્ડમાઈન પર પગ મૂકશે.
ચોક્કસ ભૂલો, વિચિત્ર API વર્તણૂક અને સાયલન્ટ ફેલ્યોર (silent failures) વિશે લખો. આ લેન્ડમાઈનનું મેપિંગ કરવાથી તમારો કલાકોનો સમય બચશે.
આ ફાઇલનો હેતુ નિર્ણયશક્તિને (judgment) કોડમાં રૂપાંતરિત કરવાનો છે. ફોર્મેટિંગ નિયમો તો આપમેળે લખાઈ જાય છે. નિર્ણયશક્તિ એ છે જે તમારે લખવી જોઈએ.
Source: https://dev.to/miteshethos/whats-actually-in-my-agentsmd-434e
Optional learning community: https://t.me/GyaanSetuAi
