Skip to content
Rutger Hemrika
Menu
← Blog

Veldnotities agentplatform · 8/8

De regels waaronder mijn AI-codeeragents werken, en waarom validators detecteren maar nooit voorkomen

Rutger Hemrika5 min leestijd

Veldnotities agentplatform, acht van acht. De vorige zeven beschreven een platform om agents te besturen. Deze gaat over het besturen van de agents die helpen het te bouwen, want een governanceplatform in elkaar gezet door onbestuurde agents zou een grap zijn die ik niet wilde vertellen.

De vraag

Duizenden commits in drie maanden, de meeste geschreven met AI-codeeragents die in lanes werken. Zo is het platform gebouwd, en dat roept de voor de hand liggende vraag op: wie besliste wat die agents mochten doen, en hoe zou iemand weten of ze daarbuiten traden?

Het antwoord is een kort werkcontract dat elke agent leest voordat hij iets schrijft, en een set validators die het resultaat controleren. Het contract heeft vijf regels. De validators hebben één eerlijke beperking. Beide verdienen het om duidelijk uitgesproken te worden.

De vijf regels

afgebakende schrijfsettaakpadenconceptmapeigen resultaatrecordverboden velden: priority, owner, funding, status ...onbekende feiten: "niet vastgesteld"output gemarkeerd als niet gezaghebbendbuiten de agentvalidators: detecterenintegriteitsmanifestaftekening door mens: voorkomen
Een agent mag alleen binnen zijn afgebakende set schrijven, mag nooit een beslisveld invullen, schrijft "niet vastgesteld" bij onbekenden, en stopt bij een handtekening met naam.

1. Blijf binnen de gedeclareerde write set. Elke taak benoemt precies welke paden een agent mag aanmaken of wijzigen: de toegestane paden van de taak zelf, een conceptmap voor die taak, en zijn eigen resultaatrecord. Verder niets. De geaccepteerde architectuurseed, de bevroren contracten, de governanceregisters, de beslisrecords, de validators en het bouwplan staan op een verboden lijst die geen enkele agent mag aanraken, hoe nuttig de wijziging er ook uitziet. Een van die aanpassen is een menselijke handeling, vastgelegd als besluit.

2. Schrijf nooit een beslisveld. Een lijst veldnamen mag niet als sleutel voorkomen in iets wat een agent schrijft: prioriteit, rang, roadmap, financiering, eigenaar, sourcing, implementatiestatus, first-party-status, en hun varianten. Dat zijn besluiten. Besluiten horen bij benoemde mensen. Een agent die “prioriteit: hoog” schrijft, heeft niet geholpen; hij heeft een handtekening vervalst.

3. Verzin nooit een feit. Als een getal, een datum, een eigenaar of een uitkomst niet in de repository is vastgesteld, schrijft de agent “niet vastgesteld” en gaat verder. Die frase is verplicht vocabulaire, geen mislukking. Alles wat een agent opstelt, draagt een expliciete markering dat het niet gezaghebbend is.

4. Stop bij de grens van menselijke ondertekening. Het werk is georganiseerd in pakketten met beslispoorten, en de meeste pakketten eindigen op een punt waar een benoemd persoon moet tekenen. De agent doet het pakket, bewijst het met validators, schrijft een resultaatrecord en stopt. Hij gaat niet door naar het volgende pakket in de veronderstelling dat de handtekening wel komt. Vijfentwintig van de vierendertig pakketten in het strikte spoor eindigen zo.

5. Je resultaatrecord is een claim, geen autoriteit. De taakrunner leidt de staat van het werk elke keer af uit de repository: ondertekende besluiten, resultaten van afhankelijkheden, en of de artefacten die een resultaat claimt te hebben opgeleverd daadwerkelijk bestaan. Het eigen resultaatrecord van een agent is daar één input in. Schrijft hij er een terwijl de taak nog geblokkeerd was, dan is de claim nietig en zeggen de validators dat.

De huisstijl die de regels controleerbaar maakt

Regels die niet te controleren zijn, zijn wensen. Daarom is de repository fail-closed gebouwd. Elk schema verbiedt extra properties. Elk artefact moet zijn schema en een deterministische validator doorstaan. Inputs zijn gebonden per hash. Generators lezen de klok niet, zodat output reproduceerbaar is. De gegenereerde weergaven hashen hun ingebedde data opnieuw en tonen niets bij een mismatch. De generators, validators, schema’s en beslisrecords zijn zelf gehasht in een integriteitsmanifest, zodat een wijziging in een ervan opduikt als een mislukte check in plaats van een stille pass.

In de platformrepository geldt dezelfde geest met andere mechanismen: agents werken in lanes, elke pull request wordt onafhankelijk geverifieerd op zijn exacte commit door een aparte verifier, een secrets-on-read-scanner draait op alles wat een agent aanraakt, en “prove once” betekent dat een verificatie niet met de hand wordt herhaald zodra ze is vastgelegd.

Odysseus liet zich aan de mast binden voordat de sirenen kwamen, niet tijdens. De schrijfset, de verboden velden en de aftekenpoort zijn het touw. De validators zijn de bemanning die de knopen controleert. De bemanning houdt een kapitein met een mes niet tegen.

De beperking, uitgesproken door het contract zelf

Hier is de zin waar ik het meest trots op ben, omdat het de zin is die de meeste van zulke documenten weglaten. Het contract zegt, in feite: deze checks vangen een agent die afdwaalt, verkeerd leest of een fout maakt. Ze kunnen er geen tegenhouden die erop uit is ze te omzeilen. Een agent met schrijftoegang tot de repository kan, in principe, de validator bewerken waarmee hij wordt gecontroleerd.

Daarom leven de echte controls buiten de repository: beperkte schrijftoegang, diff-review door een persoon, branch protection, en menselijke verzegeling van alles wat gezaghebbend wordt. De validators zijn detectie. De mensen zijn preventie. Anders doen voorkomen zou precies de faalwijze zijn waarvoor notitie een waarschuwde: een regel die leeft binnen het ding dat hij bestuurt.

Wat me verraste

Twee dingen.

De regels maakten de agents nuttiger, niet minder nuttig. Een agent die weet dat hij geen eigenaar mag verzinnen, stopt met zelfverzekerde onzin produceren in dat veld en begint een precieze lijst te maken van wat ontbreekt. “Niet vastgesteld” bleek de waardevolste output in de repository, omdat het een takenlijst is, geschreven door iets dat alles heeft gelezen.

En de knellende beperking waren nooit de agents. Het was de menselijke reviewcapaciteit. Agents kunnen zo snel opschalen als de mensen die hun werk verifiëren, en niet sneller. Elke versnelling die ik probeerde die niet ook de verificatie versnelde, leverde achterstand op, geen voortgang. Het werkmodel, niet het model, bepaalt het plafond.

Wat ik nog niet kan bewijzen

Dezelfde beoordeling als de rest: zo is één platform gebouwd, door één persoon en zijn agents, in een paar maanden. Er is geen tweede team, geen adversarial red team dat het contract heeft aangevallen, en geen incident waarin een agent opzettelijk probeerde de integriteitschecks te omzeilen en werd gevangen door de buitenste controls. Het contract heeft standgehouden tegen fouten. Het is niet getest tegen opzet.

Wat je hiermee doet

Laat je AI-agents code of documenten schrijven in je organisatie, schrijf dan de drie lijsten op voordat je iets anders schrijft: wat ze mogen aanraken, welke velden ze nooit mogen schrijven, en waar ze moeten stoppen voor een persoon. Maak die drie lijsten vervolgens controleerbaar door iets dat niet de agent is. Accepteer dan dat de check detecteert en de persoon voorkomt, en bemens daarnaar.

Daarmee eindigt de serie. De acht notities samen zijn het betoog voor één idee: governance is geen laag die je aan een agentplatform toevoegt. Het is het platform, en al het andere wordt ingekocht.

Het contract leest als een memo van David Brent, maar dan omgekeerd: geen inspirerende taal, elke zin iets wat je niet mag, en voor een keer is het personeel dankbaar.

Verwijzingen

De knipogen en citaten in dit stuk, met hun herkomst:

  • Homer, Odyssey, book XII: Odysseus bound to the mast to hear the Sirens.
  • The Office (BBC, 2001-2003): David Brent, Ricky Gervais’s manager at Wernham Hogg.

Rutger Hemrika

AI-strategie en -governance voor sectorsoftware. Schrijft vanuit bouwen, niet vanuit slides; elke claim draagt een bewijsniveau.

Volledige ervaring · Over mij

De case achter deze reeksEen governed AI-agentplatform voor Nederlandse gemeentenVan de grond af ontworpen en gebouwd op de premisse dat agents alleen bestuurbaar zijn als elke grensoverschrijding wordt bestuurd.