AGENTS.md
Posted by No-Interaction-2724@reddit | programmingHungary | View on Reddit | 39 comments
Van ez a relatíve új trend hogy hozzunk létre markdown fájlokat ami aztán irányba igazítja az AI-t. Kíváncsi vagyok hogy ti hogyan használjátok, különös tekintettel arra hogy semmilyen konkrét formátum vagy szabvány nincs rá, hanem ömlesztett szövegként van definiálva pár headinggel.
Legtöbbször JetBrains-es IDE-t használok (és benne a sajátmárkás junie agentet, ami aztán hívogat többféle LLM-et ahogyan épp konfolva van).
A projekt gyökerében létre lett hozva neki egy junie/guidelines.md amiben 1 sornyi instrukció van hogy légyszi olvasd be az AGENTS.md fájlt egy adott namespaceben ha azzal dolgozol.
A projekt DDD alapján van felépítve.
A konkrét AGENTS fájlokban ezeket raktam: miért felel a domain, hogyan kell a teszteket és a CLI commandokat lefuttatni, milyen coding standardeket és coding stylet használjon, illetve hogy tesztelésnél pls ne próbáljon external szerverre csatlakozni
Nem vagyok benne biztos hogy mindig figyelembe veszi a markdown fájlokat amikor kéne, illetve abban sem, hogy nem szivatom meg magam hogy túl sok instrukcióval elterelem a figyelmét a prompttól. Az viszont zavar hogy az egésznek van egy nemdeterminisztikus feelingje, amit leírok azt vagy betartja vagy nem.
marton002@reddit
CLAUDE.md fájlba csak ennyit írtam: "Just use AGENTS.md as your memory file, it is at the root of the Project"
/context parancs csak CLAUDE.md fájlt mutatta Memory files alatt és figyelmen kívül hagyott mindent az AGENTS.md.
Egyenlőre ezeket a fájlokat modellenként érdemes duplikálni, memory-ra pl /compose sem hat ki hogy context window kissebb legyen.
OregonHu_@reddit
Miért nem vele készítetted el az md-t?
No-Interaction-2724@reddit (OP)
OregonHu_@reddit
jó vicc
TekintetesUr@reddit
Mert ha el is készítteted, ugyanúgy neked kell kiganézni. Sokkal jobb lesz, ha konkrét problémák alapján haladva töltöd fel infóval, és nem egy .md fájlba szórod be az összes dolgot, hanem lebontva, per folder, ahogy az adott scope épp megkívánja.
OregonHu_@reddit
Azért mert AI csinálja nem következmény a slop. Promptmesteren múlik.
TekintetesUr@reddit
A fő repónkban van jónéhány tucat AGENTS.md fájl. Bármelyik fájl bármelyik soráról meg tudjuk mondani, hogy mikor, miért, melyik ticket megoldásakor került oda. Nem azt mondtam, hogy AI = slop, hanem hogy ezek az instrukciók multiplikatívak költség- és output-minőség szempontból is.
Nálunk a fájlok átszervezésével dollárezreket spórolunk. YMMV, mi rengeteget költünk AI-ra, megéri ilyenekért is lehajolni.
cursortoxyz@reddit
Szabad tudni, hogy melyik ceg? Nagyon jo, hogy erre is figyeltek es nem csak YOLO modban nyomjatok.
TekintetesUr@reddit
Nem szívesen, szoktam itt írni mindenfélét, amit nem feltétlenül akarok cégnévvel összekapcsolni. Big tech.
Viszont a "figyelünk erre" az túlzás, inkább én figyelek erre, mert ha lezabáltatják a fejlesztők a cost centerünk büdzséjét a Claude-dal, akkor utána nem lesz képzésekre, meg fizuemelésekre.
ytg895@reddit
Agent fájlba azt írom, hogy hol találja a dokumentációt, meg hogy hogyan kommunikáljon a userrel. Minden másra azt vettem észre, hogy a legjobb módszer az, hogy ha jó mintázatok vannak a kódban, amit tud követni. Mert ha rosszak vannak, akkor telibeszarja, hogy az md fájl mit mondott, nem azt fogja követni.
Terrible-Mango-5928@reddit
https://arxiv.org/pdf/2602.11988
Tldr: vagy az ágenseddel irasd meg, vagy inkább egyáltalán ne használj agents.md-t projekt leírásra. Preferenciákra, és olyan dolgokra jó, amit csak tőled tudhatna megkérdezni, de a projektből nem látna.
IQnQ@reddit
itt nem az a konklúzió, hogy vagy kézzel írd, vagy ne is használdd? Lehet én értelmeztem félre.
DenseUborka@reddit
Az összefoglalásban röviden igen, de a cikkben le van írva, hogy a dokumentálatlan projektek esetében segít, ha ágenssel íratod meg, mert előre megcsinálja ugyanazt az explorationt, amit egyébként is végezne.
ytg895@reddit
Akkor már inkább dokumentációt íratok vele, aztán az az embereknek is hasznos lehet
TekintetesUr@reddit
Azt konkrétan hol írja, hogy jó ötlet az "ágenssel" megíratni?
"Our trace analyses show that instructions in context files are generally followed and lead to more testing and a broader exploration, however they do not function as effec- tive repository overviews. Overall, our results suggest that context files have only marginal effect on agent behavior, and are likely only desirable when manually written"
Ez pont az ellenkezője.
DenseUborka@reddit
Olvastam már korában a cikket, pont hogy arra jutottak, hogy csak kézzel van értelme írni (ahogy te is mondod, olyan dolgokkal, amik nem derülnek ki a projektből), KIVÉVE ha egyáltalán nincs dokumentáció a projektben, akkor az LLM-generált dokumentáció jobb a manuálisnál.
Intelligent-Cod-1280@reddit
Lol, te ezeket elolvasod es irod??? Agentel iratok mindent amit agent kell csinaljon, mi ertelme ezeket kezzel baszkodni?
No-Interaction-2724@reddit (OP)
Köszönöm a konstruktív hozzászólást
AdNarrow9748@reddit
Én a hivatalos claude file struktúrát használom, mintának a claude code superpowers pluginját vettem. Szerijtem ezekben az agent markdown file-okban a workflow-t érdemes leírni lépésről lépésre
No-Interaction-2724@reddit (OP)
https://github.com/obra/superpowers/blob/main/CLAUDE.md
erre gondolsz? token temetőnek néz ki
AdNarrow9748@reddit
Erre gondoltam, és igen viszi a tokeneket rendesen, viszont működik, és mintának tényleg nem rossz
gszilagyi@reddit
az is, de elég jó megoldásokat rak össze
GeneralAd1047@reddit
En inkabb a projekt descriptiont, convention-oket es strukturat szoktam bele irni, hogy ezzel optimalizaljam a token hasznalatot, utana pedig folyamatosan irok bele uj dolgokat amikor valamit ugy csinal az AI, ahogy nem szeretnem vagy anti pattern. Nem fogja az egesz projektet atnezni es megerteni minden egyes uj conversation elott, ezert celszeru ilyeneket (is) beleirni
No-Interaction-2724@reddit (OP)
Utóbbira annyit írtam hogy használj hasonló konvenciókat mint amit találsz a projektben, eddig teljesen jól csinálta anélkül hogy konkretizáltam volna.
A teljes projekt struktúra viszont igényel egy hosszabb magyarázatot, azért igyekszem szétdobálni bizonyos instrukciókat 1-1 domainbe, mert általában a projekt többi részéhez nem kell hozzányúlnia ha jól végzi a dolgát
GeneralAd1047@reddit
Ezzel cssak az a baj, hogy valoszinuleg fog egy research subagentet inditani, ami probal konvenciokat felfedezni a projektben ezzel eleg sok tokent elegetve.
TekintetesUr@reddit
Pontosan, megcsinálni megcsinálja, csak minden sessionben a nulláról találja ki, hogy pontosan mik is azok a konvenciók.
kenwoolf@reddit
Ebben én adok neki egy leírást mi a project. Mik a szabványnak. Milyen toolokat használhat és kell használnia. Illetve általános szabályok, mit csinálhat és mit nem.
Claude-al van leginkább taowsztalaom. Jól szokta követni, de vannak hibák. De ahogy érzed, ezek egyáltalán nem determinisztikusak. Ezért nem is futtatom autopilot módban. Minden kiadott parancsot vagy file módosítást szeretek ellenőrizni. Inkább ilyen pair programming felé dologra használom. Így azonnal bele tudok nyúlni ha rossz irányba megy.
cursortoxyz@reddit
Beleirom, hogy miket futasson fejlesztes soran teszteleshez, mire figyeljen, hol vannak fileok, par gyakori hibat amit amiket el szokott kovetni es hogy hogyan kerulheti el oket. Nem mondom, hogy jol mukodik, a legtobb dolgot sajnos csak a pre-commit hook es a CI/CD fogja meg. Sokszor meg a pre-commit hook sem mukodik ha eppen no-verify kedveben van az agent vagy eppen behazudja, hogy amugy nem o csinalta a valtozast, ugyhogy nem fogja megjavitani a teszteket.
No-Interaction-2724@reddit (OP)
apropó, nekem szemmel láthatóan lefuttatja a tesztet és utána behazudja hogy zöld és jól végezte a dolgát. úgyhogy tök mindegy mit csinál, utána mindig le kell futtatnom manuálisan, nem tudok benne megbízni
cursortoxyz@reddit
Pont ezert gondolkodom rajta, hogy valami olyan minimalista harnessre valtok (pl. Pi) ahol nagyobb kontroll van afelett, hogy pontosan mi mikor hajtodik vegre es mi kerul a kontextusba. Szerencsere van coding planem, de amikor valami megelozheto hulyeseg miatt az agent orakig dolgozik mikozben nyom ket refactort akkor az elegge bosszanto.
catcint0s@reddit
Pont mostanában próbálgattam ezt: https://github.com/pydantic/braindump, egész jó szabályokat hozott ki.
inagy@reddit
Szerintem kezeld azt a fájlt úgy mint egy onboarding egy friss fejlesztőnek aki most érkezett a projektre. Nagyvonalakban mi a projekt célja, hol vannak leírva a kódolási konvenciók, a magas szintű architektúra, a projekt főbb komponensei merre találhatóak, hogyan kell build-elni és teszteket futtatni.
Ami már konkrét folyamat specifikus (pl. új feature bevezetése, refaktor, takarítás, doksik frissítése) azokra csinálj projekt specifikus skill-eket, amelyeket adott conversation-ben hívsz meg amikor ez a feladat. Én még ezeket a skill-eket is bontom több szakaszra (brainstorming, concretize, implement, review, document) és mindegyiknek köztes md fájlok a kimenetei amelyekből tovább lehet haladni, ez azért is jó hogy amikor elkezd compact-álni adott AI akkor ne kezdjen el fejetlen csirke módjában amnéziában szenvedni.
Alapvetően takarékoskodj a token-ekkel.
benjaminhu@reddit
Minden nagy LLM-ben van egy elég nagy prompt amin keresztülmegy amit beküldünk.
AGENTS/CLAUDE/stb. mindegyikre azt javasolják, hogy "röviden,tömören" kell tartani.
Ez jó lehet kiindulásnak: https://github.com/forrestchang/andrej-karpathy-skills - Andrej Karpathy "megfigyelései" alapján lett összerakva.
Vedd ki ami számodra fontos és szempont.
20-50 sor / utasítás közé lődd be amit szeretnél.
Nekem van egy pilot projekt amivel játszom ott kód formázás, stb. nincs belefoglalva, csak ennyi: "Minden módosítás után futtasd a `./bin/qualitycheck.sh`-t, javítsd a hibákat amíg sikeres nem lesz, és ne írj semmit amíg fut." - ebben benne van a kódformázás (automatikus), kód dependency ellenőrzés, copy paste, magic numbers, mindenféle QA tool, ami a végén azt mondja OK / vagy a megfelelő hiba.
dOdrel@reddit
használok ilyeneket ja, dögivel. claude codeban vannak “skillek” amik igazából md fájlokat töltenek be. én pl írtam egyet requirement gathering-re, speciből adatmodellek készítésére, tesztek írására. meg persze van a project-level összefoglaló, abban az van hogy mit hol talál az AI, sokat segít hogy ne égessem a tokeneket minden session-ben amíg feláll a kontextus.
szwiti@reddit
skills.sh is the king
N4g4s4kid@reddit
nem az van egyébként, hogy uppercaselni kellene az md file-t hogy tényleg beolvassa? GUIDELINES.md.
No-Interaction-2724@reddit (OP)
a guidelinet beolvassa, és ha nem is olvasná be explicit meg lehet adni az agent ablakban hogy hol van. a neccess része az hogy pl. X/Y/Z namespaceben kell egy change, akkor X namespaceben lévő AGENTS.md-t megtalálja hierarchikusan
Basic-Love8947@reddit
zieglerziga@reddit
őszintén ez olyan lesz szerintem mint az mcp. Most ideiglenes kicsit segít de végül el lesz hagyva. MCP helyett is sokkal könnyebb CLI-val vagy rest apival toolokat kezelni. Instrukciókra is lesz egy szabványosabb megoldás.