Een deterministische state machine voor AI-agents is een vast stappenplan rond een AI-agent. Gewone software houdt bij in welke stap de agent zit en wat hij daar mag doen, en past die regels elke keer op dezelfde manier toe: dat is wat deterministisch betekent. Bij een retourbalie kan de agent bijvoorbeeld pas terugbetalen als de controle van de bestelling klaar is, hoe zeker hij ook van zijn zaak is.
Hoe werkt het?
Een eindigetoestandsautomaat (finite-state machine) is altijd in precies één van een beperkt aantal toestanden (states) en gaat via overgangen van de ene naar de andere. Bij een AI-agent is elke state een fase van het werk, zoals plannen, implementeren of testen, met een eigen lijst toegestane tools (state machine guardrails). Een overgang kan een guard hebben, een controle in code zoals "de tests zijn geslaagd", of wachten op goedkeuring van een mens (human-in-the-loop). Het model werkt binnen de huidige state en vraagt om door te mogen; een kleine engine zonder taalmodel beslist.
Statewright, dat Ben Cochran op 12 mei 2026 presenteerde in een Show HN, is één implementatie. Volgens de README van mei 2026 is de kern een deterministische engine in Rust zonder LLM in de lus, die via MCP en hooks is gekoppeld aan coding agents zoals Claude Code. In de bugfix-workflow mag de agent tijdens het plannen alleen lezen en zoeken, tijdens het implementeren wijzigingen van hooguit 20 regels in hooguit drie bestanden maken, en tijdens het testen alleen testcommando's zoals pytest draaien. Een toolaanroep buiten de huidige fase wordt afgewezen met een bericht dat zegt wat er wel beschikbaar is. Een mislukte test stuurt de agent terug naar het implementeren. De redenering van Cochran: een model dat vijf tools ziet in plaats van tientallen, werkt in een kleinere, gerichtere context.
Waarom zet je de regels niet in de prompt?
Instructies in een systeemprompt zijn tekst die het model kan negeren. De README van Statewright spreekt van hard enforcement als een toolaanroep wordt onderschept voordat hij wordt uitgevoerd, en van advisory enforcement als de regels alleen in de context van het model staan. In mei 2026 was de koppeling met Claude Code hard en die met Cursor adviserend.
Building effective agents van Anthropic (december 2024) onderscheidt workflows, die modellen en tools via vooraf vastgelegde codepaden aansturen, van agents, die zelf hun werkwijze en toolgebruik bepalen. Een state machine voor een agent combineert de twee: de code legt de fasen en hun volgorde vast, en binnen een fase kiest het model zijn eigen stappen.
Wat is het verschil met een pijplijn?
Een pijplijn die als DAG (directed acyclic graph, een gerichte graaf zonder lussen) is gebouwd, gaat alleen vooruit. Een state machine kan terug, bijvoorbeeld van testen naar implementeren. LangGraph ondersteunt dat patroon: knooppunten en verbindingen rond een gedeelde state, vaste of voorwaardelijke verbindingen, lussen, en handgeschreven stappen naast stappen die het model aanstuurt. Het CAX-Agent-paper (Lin e.a., mei 2026) past dezelfde verdeling toe op technische simulaties: de orchestrator bewaakt hoeveel nieuwe pogingen er mogen en wanneer het stopt, en het model repareert binnen die grenzen mislukte scripts.
Waar gaat het mis?
- Iemand moet de workflow schrijven, al kan een agent een eerste versie maken.
- Een workflow die te streng is, laat de agent vastlopen. Statewright heeft een commando om hem uit te schakelen.
- De machine bewaakt de volgorde en de rechten. Of het werk binnen een stap klopt, hangt af van guards zoals een testresultaat.
- Het bewijs is mager. De eigen test van Statewright gebruikte vijf van de 2.294 taken uit SWE-bench: met de workflow gingen twee lokale modellen van 2 van de 10 geslaagde pogingen naar 10 van de 10. Modellen onder ongeveer 13 GB konden nog steeds geen nauwkeurige wijzigingen maken.
Voorbeeld
Stel: een administratiekantoor laat een agent declaraties voorbereiden. De states zijn verzamelen (alleen de mailbox lezen), boeken (regels invoeren in het boekhoudpakket), goedkeuren (een medewerker controleert de declaratie) en indienen. De guard van boeken naar goedkeuren controleert in code of bij elke regel een bonnetje zit. Probeert de agent in te dienen terwijl hij nog verzamelt, dan weigert de engine en noemt hij de tools die de agent in die state mag gebruiken.
Bronnen
- Statewright (Ben Cochran): State machine guardrails for AI agentsGitHub
- Ben Cochran on Hacker News: Show HN: Statewright – Visual state machines that make AI agents reliableWeb
- Anthropic: Building effective agentsRSS
- LangChain: LangGraph Graph API overviewWeb
- Lin et al.: CAX-Agent, a lightweight agent harness for reliable APDL automation (2026)arXiv
- Wikipedia: Finite-state machineWeb
