Guardian agents
Wat is een guardian agent?
Een guardian agent is een agent waarvan het onderwerp een andere agent is. Hij leest wat een tweede agent gemaakt heeft of op het punt staat te doen, legt dat naast een norm die jij hebt opgeschreven, en antwoordt op vier manieren: in orde, pas dit aan, stop, of haal er een mens bij.
De term komt van Gartner. Zij voorspelden in juni 2025 dat guardian agents tegen 2030 goed zullen zijn voor 10 tot 15 procent van de markt voor agentic AI, en publiceerden in februari 2026 een eerste marktgids voor het segment. Zo'n voorspelling is een analistenbureau dat een segment een naam geeft omdat het verwacht dat leveranciers er producten voor gaan bouwen. Ze vertelt je dat er budget in beweging komt. Ze vertelt je niet dat een bepaald product jouw fouten tegenhoudt.
Eén onderscheid bepaalt het grootste deel van het ontwerp. Runtimecontroles voor agents zijn code: een hook die afgaat voor een tool-call en die weigert, een permissieregel, een checkpoint. Een guardian agent is een model. Allebei zitten ze tussen de agent en de actie, en maar één van de twee kan zich vergissen in wat hij ziet.
De drie taken die een guardian agent krijgt
Gartner splitst de categorie op in reviewers, monitors en protectors. In de praktijk zijn dat drie verschillende stukken software met drie verschillende kostenplaatjes.
Een output nakijken voor die vertrekt. Een tweede model leest het opgestelde antwoord, de samenvatting of het SQL-statement en beoordeelt dat op jouw criteria voor iemand het te zien krijgt. Dit draait op elk item, dus hier komen de factuur en de extra wachttijd terecht.
Meekijken terwijl een run bezig is. De checker zit in de loop, ziet de tool-calls en hun resultaten passeren, en kan onderbreken. Hij beslist snel en op halve informatie, en hij is de enige van de drie die een actie nog kan tegenhouden in plaats van ze achteraf te beschrijven.
Een vloot in het oog houden. De logs van veel runs uitlezen op zoek naar een patroon in plaats van naar één foute waarde: deze agent is de exporttool plots veertig keer per dag beginnen oproepen. Dit draait naast het kritieke pad, dus het is goedkoop, en hier verdient een model zijn plaats echt, want de vraag is of iets er anders uitziet dan gewoonlijk.
Een model dat een model controleert
Als de controleur van dezelfde soort is als wat hij controleert, wat voegt hij dan toe? Iets echts: hij ziet een afgewerkte output die de schrijver zelf nooit heeft teruggelezen, hij krijgt één smalle vraag in plaats van een hele taak, en hij mag uit een andere modelfamilie komen.
Alleen is het bewijsmateriaal gemengd. Een team van UC Berkeley liet in 2026 21 beoordelaarsmodellen van negen aanbieders los op zowat een half miljoen beoordelingen. Ruwe overeenkomstscores vleien zo'n beoordelaar zwaar: corrigeer je voor de overeenkomst die je met gokken al haalt, dan gaat er tussen 34 en 41 procentpunt af. Twee beoordelaars uit die set draaiden al in productie, gaven bij een herhaling bijna altijd hetzelfde oordeel, en kozen nog altijd sterk voor het antwoord dat ze toevallig als eerste zagen. Een controleur kan stabiel en verkeerd tegelijk zijn.
Een andere proef zette dezelfde fout twee keer in een gesprek, één keer als de fout van de gebruiker en één keer als de fout van het model zelf. Over veertien open modellen heen werd die fout wel verbeterd als ze van iemand anders kwam en gemist als ze van het model zelf kwam, gemiddeld in ongeveer twee derde van de gevallen.
De documentatie van leveranciers zegt hetzelfde, wat stiller. Llama Guard van Meta zet tekst af tegen een vaste lijst van veertien risicocategorieën, en de model card zegt erbij dat het model op Engels afgestemd is. De groundedness-detectie van Microsoft beantwoordt één vraag, namelijk of een antwoord gedekt wordt door de bron die je meegaf. Een guardian vangt waar hij voor gebouwd is, en geen van beide leveranciers doet alsof dat anders ligt.
Wanneer een guardian beter is dan een regel
Een modelcheck verdient zijn kostprijs bij oordelen die je niet als voorwaarde kan schrijven. Is dit antwoord onbeleefd. Spreekt dit antwoord het document tegen waar het naar verwijst. Ziet deze run er anders uit dan de duizend vorige.
Neem een supportagent die antwoorden opstelt op garantieclaims. Een klant schrijft over een koffiemachine die het begaf nadat er een tas koffie over ging. De agent haalt de garantievoorwaarden op, die waterschade uitsluiten, en schrijft een vriendelijk antwoord dat de herstelling gedekt is. Er staat niets gevaarlijks in en er komt geen verboden woord in voor. Er is geen drempel die overschreden wordt en geen vaste zin om op te blokkeren, want volgende week staat dezelfde fout anders verwoord.
Een modelcheck met de opgehaalde voorwaarden ernaast vangt dit wel, want de vraag is vergelijkend en niet absoluut: wordt elke bewering hier gedekt door de bron. Microsoft verkoopt precies die check, en het voorbeeld in hun eigen documentatie heeft dezelfde vorm. Het antwoord zegt dat de rente 5 procent bedraagt, de bron zegt 4,5, en de check markeert de zin en geeft het verbeterde cijfer terug.
Wanneer twee regels code volstaan
Alles wat je als voorwaarde kan schrijven, hoort in code. Een bedrag boven een grens. Een ontvanger buiten je eigen domein. Een tabel waar niets naartoe geschreven mag worden. Een rekeningnummer dat niet in je leveranciersbestand staat. Zoiets in een model steken is een stap achteruit: je ruilt een check die altijd juist is en niets kost voor een check die meestal juist is en een call kost.
Een agent voor inkomende facturen laat zien hoe dat misloopt. Er komt een mail binnen van wat een gekende leverancier lijkt, met een verbeterde factuur van 8.400 euro en een nieuw rekeningnummer. Al de rest klopt: de juiste bedrijfsnaam, de referentie van een echte openstaande bestelling, btw die uitkomt, een gewone beleefde toon. Een modelreviewer leest het allemaal en vindt niets, want op het eerste gezicht is er ook niets. Het probleem is een feit dat nergens in de tekst staat: dat rekeningnummer heeft nooit bij deze leverancier gestaan.
Twee regels vangen dit wel. Staat het rekeningnummer niet in het leveranciersbestand, stop en vraag het aan een mens. Ligt het bedrag boven 5.000 euro, stop en vraag het aan een mens. Geen oordeel, geen model, geen maandfactuur. Leveranciers splitsen hun eigen producten trouwens al op die lijn: het guardrails-product van Amazon heeft woordfilters die exact matchen op een lijst die jij aanlevert, en daarnaast een contextual grounding check die het antwoord afweegt tegen de opgehaalde passages.
Wat een guardian kost en wie verantwoordelijk blijft
Elke output nakijken betekent een tweede modelcall bij elke output, en op volume komt de controlefactuur in de buurt van de productiefactuur. Dus ofwel neem je een steekproef in plaats van alles te scoren, ofwel zet je een kleiner en goedkoper model in de stoel van de controleur. Het agentframework van OpenAI bouwt dat zo op: een snelle goedkope guardrail voor een trage dure agent, met een tripwire die de run stopt. Beslis dat vooraf, want een controleur is het eerste wat mensen uitzetten als de factuur binnenkomt.
Een guardian agent verschuift geen verantwoordelijkheid. Stuurt jouw agent een klant een verkeerde offerte, dan verandert het feit dat een tweede model die goedkeurde niets aan wie die klant een antwoord verschuldigd is. Twee modellen die het eens zijn, zijn ook geen twee meningen: draai dezelfde familie twee keer en je krijgt twee keer dezelfde blinde vlekken, plus de neiging van een model om milder te zijn voor tekst die op de zijne lijkt. Een tweede handtekening van een mens is iets waard omdat die tweede persoon andere dingen weet, en die eigenschap gaat niet mee.
Waar moet je op letten bij guardian agents
Voor de meeste kleinere bedrijven is de verstandige vorm een stack van lagen en geen product. Zet de regels die je kan uitdrukken in code, waar ze goedkoop en zeker zijn. Zet een modelcheck op de oordelen die je niet kan uitdrukken, en enkel daarop. Zet dan een mens op de kleine set die er echt toe doet: de acties die geld verplaatsen, het huis verlaten, of niet terug te draaien zijn.
De guardian leest ook tekst die de aanvaller schrijft. Een document met verborgen instructies bereikt de controleur even goed als de agent, dus prompt injection is een probleem voor allebei de helften van het paar.
Weet welke kant hij op faalt. Loopt de check in een timeout of geeft de API een fout, vertrekt de output dan of blijft ze hangen? Allebei zijn te verdedigen en maar één ervan is wat je bedoelde. Kies bewust en log elke keer dat dat pad genomen wordt.
Een controleur zorgt dat de mens erna minder aandachtig leest. Wat al nagekeken is, leest een mens losser, en dat is automation bias langs de achterdeur. Bestaat die menselijke stap omdat de beslissing zwaar weegt, zeg die persoon dan niet dat de machine al akkoord ging.