STACK is een woord dat leveranciers op een slide printen, en dat operators nodig hebben als architectuur.
Wat is STACK? Vijf lagen voor repositories waar mensen en agents samenwerken: Structure, Toolchain, Agent configuration, Connection, Knowledge and quality. Het agent-besturingssysteem moet op dezelfde manier worden geversioneerd als de applicatie.
Het is geen “AI stack”-diagram dat je koopt. Het is geen willekeurige stapel tools. Als prompts, MCP-servers en vaardigheden buiten de repo leven, of verspreid staan over vijf plekken daarbinnen, heb je agentic repo-schuld. De ziekte is een gebrek aan eigenaarschap, geen zwak taalmodel.
Een demo kan op één laptop schoon ogen. Zes maanden later kan een tweede engineer niet zeggen welke regel de agent toestond de verkeerde module te bewerken. De begrippencapsule is de korte vorm. Deze pagina is de kaart die je aan de repo hangt voordat je nóg een host toevoegt.
De vijf namen
Elke laag heeft een eigenaar. Als een wijziging niet als laag te benoemen is, hoort die niet in de pull-requestbeschrijving. “De agent een beetje aangepast” is geen commitmessage.
Structure. Indeling, toegangspunten, werkruimtes en grenzen waar een agent in minuut één doorheen navigeert. De kaart is een directory, geen Slack-geheugen. Moet een nieuwe werker vragen waar de regels wonen, dan ontbreekt Structure. Eén boom. Nergens anders.
Toolchain. De shells, commando’s en CLI-contracten die een agent mag draaien, opgeschreven in plaats van onthouden. Hosts en runners staan vast. “Wat er toevallig op de laptop staat” is hoe een demo werkt en een tweede machine faalt. Krijgen twee mensen twee verschillende commandolijsten, dan heb je geen toolchain. Je hebt folklore.
Agent configuration. Geversioneerde vaste context. AGENTS.md, regels, skills, subagent-charters. Niet een prompt in een chatvenster. Niet een gist in iemands drive. Bestaan de staande instructies in drie bestanden die elkaar tegenspreken, dan kiest de agent het luidste. Zet een naam op de CODEOWNERS-regel.
Connection. MCP met contracten en minimale rechten. Zichtbaarheid, mutatie, log. Een server zonder die drie is een gat in de repo. Als een tool kan versturen, uitgeven of wissen, staat bij de eerste tien aanroepen een menselijke naam. Daarna is de log de review. Geen log, geen tool.
Knowledge and quality. Geheugen, evals en CI, zodat een modelupgrade de lat niet stilletjes verlaagt. Wat de agent als waar mag behandelen, en de tests die een slechte wijziging laten zakken. Wisselde je afgelopen dinsdag het model en merkte CI niets, dan heb je geen kwaliteitslaag. Je hebt hoop.
De override-doctrine is een bestand, geen Slack-herinnering. Zij noemt de beslissingen die een agent nooit mag nemen. Zij staat naast Agent configuration en Connection. Het is geen zesde laag. Het is de weigerlijn die die twee lagen afdwingen.
Een wandeling door een repo die al stinkt
Neem een productrepo die “agents heeft.” Je opent hem op maandag.
Structure is vier plekken: een .cursor/rules-bestand, een CLAUDE.md in de root, een prompt op een Notion-pagina, en een skill die de founder vorige maand in een host plakte. De agent leest er twee van. Niemand kan zeggen welke twee.
Toolchain is “gebruik de CLI op mijn machine.” Het CI-image heeft een andere Node. De agent draait een formatter die de laptop niet heeft. Reviewcommentaar ruziet over whitespace die de agent nooit zag.
Agent configuration is een chat van maart. Het charter van de docs-werker leeft in die draad. De docs-werker draait nog. Het charter niet.
Connection is twee MCP-servers. Eén kan de repo lezen. Eén kan een pull request openen en op GitHub reageren. Geen van beide heeft een geschreven mutatielijst. De log is het vendor-dashboard, dat verloopt.
Knowledge and quality is een zin in de README: “wees voorzichtig met main.” Er is geen eval. Er is geen test die faalt als de agent een billingmodule bewerkt. De modelupgrade van vorige week maakte het proza mooier en de diffs groter. Niemand mat het.
Dat is agentic repo-schuld. Een slimmer model lost haar niet af. Eigenaarschap wel.
Wat hoort waar
MCP hoort in Connection, met een contract, of het hoort er niet. MCP-betekenis is de definitie van het protocol: host, client, server; tools, resources, prompts. Deze pagina plaatst het alleen. Een schone server zonder plafond is nog steeds een gat met mooiere leidingen.
Een charter hoort in Agent configuration als staande context, en in CHORUS als coördinatieartefact. STACK versioneert het bestand. CHORUS benoemt de velden. Trek ze niet ineen. De repo kan een prachtige AGENTS.md hebben en alsnog werk verliezen bij elke overdracht.
Evals horen in Knowledge and quality. Een gevoelscheck in een pull request is Review in CHORUS, geen eval. Als het enige kwaliteitssignaal een mens is die “ziet er goed uit” zegt, heb je een toeschouwer, geen poort.
Geen slide van een leverancier
Dat de zoekterm botst in de begrippenlijst is met opzet. STACK is geen productpakket. Het is niet LangChain plus een vectordatabase plus een host. Het is niet “onze AI-stack” op een Series A-deck. Toolnamen verouderen snel. De vijf lagen niet.
Een solo-founder plus agents is al een repo met meerdere acteurs. STACK is daarop bemeten, niet op een enterprise-platformteam. Vibe coding wint de demo. STACK is voor de zes maanden erna, als de agent de verkeerde module bewerkt en niemand kan zeggen welke regel dat toeliet.
Twee pagina’s
STACK: versioneer het agent-OS is het architectuurartikel: hoe je prompts, skills en servercontracten als code behandelt, met reviewers en een rollback. Deze pagina is de definitie.
De agentische codebase is live. De introductie is het lanceerartikel. Je hebt de hardcover niet nodig om de regels op één plek te zetten.
Als je deze week maar één ding doet: kies één map als agent-OS, verplaats de rondslingerende prompts daarheen, en zet een naam op de CODEOWNERS-regel. Folklore stopt bij de eerste eigenaar. Benoem daarna de vijf lagen op een kaart van één pagina. Kan een wijziging niet naar een laag wijzen, dan gaat hij niet mee.
Citeer deze pagina:Wat is STACK? Vijf lagen, geen diagram van een leverancier.Len P. van der Hof. https://lenvanderhof.com/nl/blog/wat-is-stack/ ·