Skip to content
Rutger Hemrika
Menu
← Blog

Beslisrecords · 2/10

Modeloutput is een onvertrouwde kandidaat tot promotie

Rutger Hemrika5 min leestijd

Beslisrecords, twee van tien. Een architectuurbeslissing per stuk, uit een beheerst AI-agentplatform dat ik als prototype ontwierp en bouwde voor de Nederlandse lokale overheid.

De situatie

Wanneer een model tekst produceert, behandelt de makkelijke architectuur die tekst als het antwoord. Hij gaat naar de inwoner, of het zaakdossier in, of het geheugen van de agent in voor de volgende keer. Het model heeft het geschreven, de run is klaar, af.

In een beheerst platform zijn dat vier verschillende dingen die doen alsof ze een zijn. Een antwoord aan een inwoner moet een lat voor toon en correctheid halen. Een record in een zaakdossier heeft juridisch gewicht en bewaartermijnen. Een kennisitem vormt elk toekomstig antwoord over dat onderwerp. Een geheugenitem vormt elke toekomstige run voor die inwoner. Elk van die bestemmingen heeft een ander gevolg als de tekst fout is, en het model weet niet naar welke bestemming zijn tekst onderweg is.

Degene die mij het meest zorgen baarde was geheugen. Agent frameworks geven de agent meestal een tool die iets als “remember” heet, en de agent roept die aan wanneer hij vindt dat iets het bewaren waard is. Dat is de grootste blast radius in het systeem, want een verkeerde herinnering vergiftigt elke latere run, met de minste controls, want de agent besliste eenzijdig.

De beslissing

modeloutputonvertrouwde kandidaatvalidatieantwoordgeautoriseerde operatiebedrijfswijzigingcuratiepoortkennispoort met zes voorwaardengeheugengeen promotiepad, geen effect; het model stelt voor, de kernel schrijft
Modeloutput begint als onvertrouwde kandidaat en wordt pas record, geheugen of actie via een benoemd promotiepad met een eigen control.

Elke modeloutput begint zijn leven als onvertrouwde kandidaat. Hij wordt pas een antwoord, een record, een kennisitem of een herinnering via een expliciet promotion path, en elk pad heeft zijn eigen control.

Het uitgewerkte mechanisme is geheugen, want daar heb ik de ontwerpinspanning in gestoken. De regel is: het model stelt voor, de kernel schrijft. Het model kan een voorgestelde herinnering uitsturen als gestructureerde kandidaat. De kernel, dat wil zeggen de code in eigendom van het platform waar het model niet bij kan, beslist of hij die schrijft, achter zes voorwaarden die allemaal fail-closed zijn.

Ten eerste: er is geen schrijfpad voor het model. Er is geen tool die de agent kan aanroepen die geheugen schrijft. De enige schrijver is de kernel.

Ten tweede: getypeerd of geweigerd. Een kandidaat moet overeenkomen met een bekend geheugentype met een schema. Vrije tekst wordt geweigerd.

Ten derde: provenance of geweigerd. De kandidaat moet zeggen waar hij vandaan komt: welke run, welk toolresultaat, welke invoer. Geen provenance, geen schrijfactie.

Ten vierde: een beleidsbeslissing. De beleidsdienst beoordeelt of dit type herinnering, over dit onderwerp, uit deze bron, überhaupt geschreven mag worden.

Ten vijfde: menselijke goedkeuring voor afgeleide beweringen over een inwoner. Als de kandidaat een afleiding is, “deze persoon lijkt moeite te hebben met het formulier”, in plaats van een feit dat de inwoner zelf heeft gezegd, moet een met naam genoemde mens het goedkeuren voordat het blijft bestaan.

Ten zesde: een schrijfactie met bewijs. De schrijfactie zelf levert een bewijsrecord op dat kandidaat, beslissing en uitkomst aan elkaar koppelt.

En als de geheugenpoort niet beschikbaar is, slaagt de run alsnog. De inwoner krijgt zijn antwoord. Er wordt niets onthouden. Beschikbaarheid van het hoofdpad en integriteit van het geheugenpad zijn bewust gescheiden.

De andere promotion paths, antwoord, record en kennis, volgen dezelfde vorm met hun eigen voorwaarden. Geheugen is het pad dat ik het verst heb gebouwd.

Nullius in verba, zei de Royal Society in 1660: neem niemands woord ervoor aan. Ze bedoelden natuurfilosofen. Het geldt minstens zo goed voor een taalmodel dat zojuist een tool call heeft geproduceerd.

Wat ik afwees, en waarom

De agent direct geheugen laten schrijven. Elk framework dat ik bekeek doet dit standaard, en de reden is duidelijk: het is simpel en het laat de agent slim aanvoelen. Maar het combineert de grootste blast radius met de minste controls, en het betekent dat het verslag van waarom iets onthouden is, het eigen verhaal van het model is. Wanneer een inwoner later vraagt “waarom denkt jullie systeem dit over mij”, kan het antwoord niet zijn “de agent heeft dat besloten”.

Ik wees ook een zachtere variant af waarbij de agent naar een staging-gebied schrijft en een batchjob later promoveert. Dat is beter, maar het staging-gebied wordt in de praktijk het echte geheugen, want het makkelijke pad is het pad dat gelezen wordt.

Wat het kost

Elk promotion path heeft zijn eigen control nodig, en elke control heeft zijn eigen tests nodig. Vier bestemmingen betekent vier poorten, vier schema’s, vier sets voorwaarden, vier bewijsvormen. Dat is veel oppervlak voor een prototype en het vertraagde de bouw merkbaar.

Het kost de agent ook wat schijnbare intelligentie. Een agent die niet kan onthouden wat hij wil onthouden, voelt in een demo dommer aan. De oplossing is het voorstelpad goedkoop maken, zodat de agent vrij voorstelt en de kernel beslist, maar er zit een echte vertraging tussen “opgemerkt” en “onthouden” die het ontwerp met direct schrijven niet heeft.

Wat het niet doet

Het maakt de kandidaat niet correct. De kernel controleert vorm, provenance en beleid; hij weet niet of de inwoner echt heeft gezegd wat de kandidaat beweert. Een goed gevormde leugen met goede provenance passeert de eerste vier voorwaarden. Alleen de voorwaarde van menselijke goedkeuring, en alleen voor afgeleide beweringen, staat tussen een plausibele verkeerde herinnering en het blijvend vastleggen ervan.

De zes voorwaarden zijn ontworpen en de kern ervan is in het prototype geïmplementeerd. De tests die zouden bewijzen dat ze onder vijandige invoer niet te omzeilen zijn, waren voorgesteld, niet afgerond.

Als je een ding meeneemt

Maak een lijst van elke plek waar de output van je agent kan belanden zonder een mens of een deterministische controle ertussen. Als “geheugen” op die lijst staat en de agent het ding is dat het schrijft, dan is dat het eerste promotion path om te ontwerpen, want het is het pad dat zich opstapelt.

Elke modeloutput komt binnen als een klant uit Little Britain aan de balie, overtuigd ergens recht op te hebben. Het promotiepad is de balie, en de balie heeft regels.

Verwijzingen

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

  • The Royal Society’s motto, Nullius in verba (1660): take nobody’s word for it.
  • Little Britain (BBC, 2003-2006): Carol Beer and the counter.

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.