𝗧𝗵𝗲 𝗥𝗲𝗽𝗼 𝗜𝘀 𝗧𝗵𝗲 𝗖𝗼𝗻𝘁𝗲𝘅𝘁: 𝗪𝗮𝗿𝗼𝗺 𝗔𝗴𝗲𝗻𝘁𝗲𝗻 𝗞𝗲𝗶𝗻 𝗛𝗶𝘀𝘁𝗼𝗿𝗶𝗲 𝗡𝗼𝗱𝗶𝗴 𝗛𝗲𝗯𝗲𝗻
Coding agents lezen alles wat je ze geeft. Dat klinkt als een kracht. Meestal is het een probleem.
Vroeger gaf ik agents meer documentatie. Ik schreef specs, ADR's en planning-documenten. Ik dacht dat meer context beter was. Toen zag ik een agent een zelfverzekerde fout maken. Het was geen hallucinatie. Het volgde simpelweg een oud document dat een systeem beschreef dat we maanden geleden al niet meer gebruikten. Het gehoorzaamde de geschiedenis in plaats van de waarheid.
Geschiedenis is voor mensen. Het legt uit waarom een systeem bestaat. Het helpt je om afwegingen en oude beslissingen te begrijpen.
Agents zijn anders. Ze bewerken het huidige systeem. Voor die taak hebben ze geen historisch proza nodig. Ze hebben de huidige bron van waarheid nodig.
Ze hebben nodig: • Huidige schema's • Huidige modulegrenzen • Huidige API's • Huidige tests • Huidige configuraties
Als je wilt dat een agent een database begrijpt, laat hem dan niet elk migratielogboek opnieuw afspelen. Geef hem het huidige schema. Als je wilt dat hij architectuur begrijpt, laat hem dan geen oude ADR's lezen. Geef hem de huidige module-grafiek.
Het gevaar is contextvervuiling. Dit gebeurt wanneer een feit op twee plaatsen bestaat: in de code en in een Markdown-bestand. Code verandert snel. Proza verandert alleen als iemand het onthoudt. Wanneer ze uiteenlopen, vertrouwt de agent het verouderde document. Een agent kijkt niet kritisch of doet geen kruiscontrole zoals een mens. Het neemt het eerste wat het leest als een feit aan.
Stop met het schrijven van betere documentatie. Begin met het verminderen van het aantal plekken waar feiten kunnen verouderen.
Verplaats regels van tekst naar de systeemstructuur: • Gebruik mappenstructuren voor architectuur. • Gebruik naamgeving voor de intentie. • Gebruik package exports voor API's. • Gebruik lint-regels voor grenzen. • Gebruik schema's voor datacontracten. • Gebruik tests voor gedrag.
Een regel in een README is een suggestie. Een regel in een ESLint-configuratie is een muur. Een agent kan een muur niet negeren.
Ik heb mijn instructiebestanden verkleind. Ze herhalen de architectuur niet langer. In plaats daarvan wijzen ze naar de plek waar de architectuur zich bevindt.
Bewaar de geschiedenis voor mensen. Vorm het heden voor agents.
Bron: https://dev.to/gyu07/the-repo-is-the-context-why-agents-dont-need-history-4ien
Optionele leercommunity: https://t.me/GyaanSetuAi