Վերադառնալ
SiTech
Կոդի որակը AI-ի օգնությամբ. Ֆաբիեն Սանգլարի agent.md կանոնները
SiTech AI Team3 წთ. საკითხავი

Կոդի որակը AI-ի օգնությամբ. Ֆաբիեն Սանգլարի agent.md կանոնները

Ծրագրավորող Ֆաբիեն Սանգլարը հրապարակել է իր agent.md ֆայլը, որն օգտագործում է LLM-ների հետ աշխատելիս՝ համառոտ մեկնաբանություններ, խիստ commit-կանոններ, թեստ նախքան ուղղումը և կարճ սեսիաներ։

Ծրագրավորող Ֆաբիեն Սանգլարը 2026 թվականի օգոստոսի 21-ին հրապարակել է «My agent.md to improve LLM-assisted code quality» գրառումը՝ կիսելով իր agent.md ֆայլը, որը կոդավորման գործիքները սեսիայի սկզբում ավտոմատ կերպով բեռնում են։

Անհաջող փորձից մինչև աշխատող ընթացք

Սանգլարը LLM-ները առաջին անգամ փորձել է 2025 թվականի կեսերին. Rust-ով գրված libadbmdns գրադարանի գեներացված կոդը նույնիսկ չէր կոմպիլվում։ 2026 թվականի հունվարին նա նորից փորձեց. մոդելը գրեց բարդ ինդեքսավորված երկուական կույտի դաս և նույնիսկ գտավ polling փաթեթում Windows-ի IOCP իրականացման պատճառով առաջացած ոչ ակնհայտ սխալ։

Սակայն կոդի որակը սարսափելի էր՝ սպագետի՝ առանց մեկնաբանությունների և կառուցվածքի։ 2026 թվականի մարտին նա անցավ ագենտային IDE-ների (Antigravity և VS Code-ի Claude Code հավելում), ինչը հնարավորություն տվեց կրկնվող ձևով վերանայել կոդը։ Որակը կտրուկ բարելավվեց՝ մոտենալով ձեռքով գրվածին, սակայն ամեն նոր սեսիայում նույն դիտողությունները կրկնելը հոգնեցուցիչ էր։

Ինչ է պարունակում ֆայլը

agent.md-ն դրվում է նախագծի արմատային պանակում؛ gemini.md-ը կամ claude.md-ը կարելի է սիմվոլիկ հղումով կապել նրան, որ կանոնները գործեն ամենուր։ Սանգլարի կանոններից են՝ մարդու համար նախատեսված տեքստում հնարավորինս քիչ բառ օգտագործել; գովեստից խուսափել և «տալ սառը ճշմարտությունը»; կախարդական թվերի փոխարեն նկարագրողական հաստատուններ կամ enum օգտագործել; նվազեցնել ներդիրը և վաղ return-ով խուսափել սլաք-հակադիպից; ֆունկցիայի անունը պահել 30 նիշից կարճ; պարամետրերում boolean-ի փոխարեն enum օգտագործել; գրել համառոտ մեկնաբանություն՝ բացատրելով «ինչը» և «ինչու»; հասանելիության փոփոխությունը համարել դիզայնի լուրջ փոփոխություն և թույլտվություն խնդրել նախքան դաշտը public դարձնելը; ծրագրավորել ըստ աբստրակցիայի մակարդակների՝ առանձին դրայվերային շերտով; չդիպչել անկապ բլոկներին և նվազագույնի հասցնել փոփոխված տողերի քանակը; հարգել շերտերի հիերարխիան՝ չծակելով այն։

Commit-հաղորդագրություններ և թեստեր

Ֆայլը պարունակում է նաև յոթ կանոն commit-հաղորդագրությունների համար. վերնագիրը մարմնից առանձնացնել դատարկ տողով; վերնագիրը սահմանափակել 50 նիշով (72-ը բացարձակ սահմանն է); առաջին տառը գրել մեծատառ; վերջում կետ չդնել; օգտագործել հրամայական եղանակ և ստուգել «If applied, this commit will...» նախադասությամբ; մարմինը տողադարձել 72 նիշում; մարմնում բացատրել «ինչը» և «ինչու», ոչ թե «ինչպես»։ Սխալների ուղղման ժամանակ կանոնը գործընթացային է. նախ գրիր թեստը, տես, որ այն ձախողվում է, ապա գրիր ուղղումը և տես, որ թեստը անցնում է։

Սահմանափակումներ. հալյուցինացիա և կոնտեքստի լղոզում

Սանգլարը ընդգծում է, որ սա կախարդական փայտիկ չէ։ Մոդելները հաճախ հալյուցինացիաներ են արտադրում, և նրանց չի կարելի վստահել, ուստի կոդը պետք է ստուգել ու կրկնել. ճիշտ է՝ այժմ նա կենտրոնանում է արխիտեկտուրայի և դիզայնի վրա, այլ ոչ թե կոդի ոճի։ Երկրորդ խնդիրը կոնտեքստի կամ ուշադրության լղոզումն է, որը նկարագրված է Lost in the Middle աշխատությունում. կոնտեքստի աճին զուգահեռ մոդելն ավելի քիչ ուշադրություն է դարձնում մեջտեղում գտնվող հրահանգներին և ավելի շատ՝ սկզբում ու վերջում եղածներին։

Ազդեցությունը նվազեցնելու երկու եղանակ է գտել. կոնտեքստը կարճ պահել՝ ամեն նոր ֆունկցիայի համար նոր սեսիա բացելով, և ուղղակիորեն գործիքից պահանջել վերաբեռնել agent.md-ը, երբ որակը ընկնում է. «Reload agent.md» արտահայտությունը բավարար է։ Նոր կանոն ավելացնելու համար խմբագրիչ բացել պետք չէ. նա ագենտին խնդրում է, որ ինքը թարմացնի agent.md-ը։

SSiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։