De meest gehoorde klacht over AI is goed te begrijpen. Antwoorden klinken overtuigend, maar kloppen net niet. In het jargon heet dat hallucinatie. Het voelt als een slimme stagiair die je mail vlekkeloos opmaakt, maar er soms een verkeerde datum in zet.
Gelukkig kun je AI sturen zonder creativiteit in te perken. Je geeft het systeem een kader, een speelveld met duidelijke regels. Binnen dat veld mag het vrij bewegen en nieuwe combinaties maken, daarbuiten niet. In de praktijk werkt dat met drie oplossingen die elkaar versterken. 1) Je spreekt een outputformaat af zodat iedereen weet hoe het resultaat eruitziet. 2)Je geeft een kleine gereedschapskist met functies die echt iets mogen doen, zoals rekenen of een prijslijst ophalen. 3) Je zet er een validator achter die controleert of het voorstel voldoet aan jouw regels.
JSON speelt hierin de rol. JSON staat voor JavaScript Object Notation en is eigenlijk niks anders dan een eenvoudige manier van data uit te wisselen. Het is redelijk gestructureerd, machines kunnen het direct lezen, het sluit aan op bestaande software en je kunt er eenvoudig regels aan koppelen. Als je een agent vraagt om altijd in JSON te antwoorden, krijg je geen losse alinea’s maar een object met gelabelde vakjes. Elk vakje heeft een naam en een waarde. Die waarden kun je aan strenge of juist milde eisen laten voldoen.
Een code tool is de plek waar taal even plaatsmaakt voor feiten. Je agent mag bijvoorbeeld een functie aanroepen die de actuele voorraad ophaalt, een prijs herberekent of een voorstel ter controle verstuurt. Voor de agent voelt dat als een knop met de tekst nu even zeker weten. Zo voorkom je dat er gegokt wordt zodra een antwoord buiten de comfortzone valt.
De validator is de scheidsrechter. Je beschrijft jouw domein in regels, bijvoorbeeld met Pydantic in Python, en je publiceert een microservice waarop een voorstel kan worden gecontroleerd. Dit kan op Azure of een andere cloud. De agent stuurt zijn JSON naar dat adres en krijgt een helder antwoord terug. Alles ok betekent meteen door naar de volgende stap. Fout betekent een lijstje met wat niet klopt en waarom. De agent past dan het voorstel aan en probeert het nog een keer. Dat ritme is prettig, want het is voorspelbaar en leerzaam voor het model en het is transparant voor je organisatie.
Neem iets alledaags. Een Happy Meal. Je wilt een hoofdgerecht, een bijgerecht, een drankje en een speeltje. De keuze is niet oneindig en dat is juist handig. Als jouw agent voor een kindermenu soms met sushi of een Big Mac komt, zijn je regels nog niet scherp genoeg. Met JSON is de vraag duidelijk en met een validator zijn de grenzen zichtbaar. De agent leert dat chicken nuggets vier stuks mag, dat fruit en ketchup samen niet logisch is en dat water altijd kan. Het resultaat klopt dus altijd met de opgelegde regels.
Hetzelfde patroon werkt bij maatwerk in een bedrijf. Stel dat je deuren levert aan zakelijke klanten. Lengtes kun je in bepaalde maten bestellen, kleuren komen uit een RAL set, scharnieren gaan links of rechts, en sommige combinaties wil je niet omdat ze nooit door de fabriek komen. Laat de agent een voorstel doen in JSON, stuur het langs de validator die jouw ERP kent en accepteer alleen wat klopt. Je offertestroom blijft snel en je operatie blijft rustig.
JSON geeft je drie voordelen tegelijk. Het dwingt helderheid af, het is direct bruikbaar voor machines en het maakt fouten per veld traceerbaar. Als iets misgaat, weet je precies welk hokje het betreft. Dat is praktisch voor een agent die wil bijsturen en goud voor een team dat wil leren van echte cases. Je ziet patronen, je scherpt je regels aan en je ziet meteen welk deel van je data verouderd is.
De koppeling met een validator hoeft niet ingewikkeld te zijn. Denk aan een klein webadres waar je een JSON payload naartoe stuurt. De server probeert die payload in jouw Pydantic model te gieten. Lukt dat, dan volgt een groen licht met opgeschoonde data. Gaat het mis, dan krijg je een duidelijke uitleg per veld. In woorden is dat veel prettiger dan een vage fout. De agent kan lezen kleur onbekend, kies uit RAL7016, RAL9005 of RAL9006 en past het voorstel direct aan.
Combineer je dit met een code tool die het webadres mag aanroepen, dan heb je een betrouwbare lus. De agent bedenkt, de validator toetst en de agent corrigeert waar nodig. Na een paar rondes heb je een voorstel dat klopt binnen jouw domein en dat meteen in je workflow past.
De beste versie van dit systeem is direct geïntegreerd met je bedrijfsdata. Laat je ERP elke nacht een lijst publiceren met geldige artikelen, kleuren, maten en prijsgrenzen. Laat je validator die lijst inlezen en er regels van maken. Je hoeft je agent niet opnieuw te trainen, niemand hoeft een document bij te houden, je hoeft alleen de bron te actualiseren.
Wat je hieraan hebt
Je vermindert hallucinaties zonder het systeem te verstikken. Je krijgt antwoorden die creatief zijn binnen grenzen die jij bepaalt. Je team kijkt minder naar losse tekst en meer naar gestructureerde voorstellen die je veilig kunt automatiseren. Je leert sneller van fouten, omdat elke fout een veld en een reden heeft. En je klanten merken vooral dat het soepel loopt. Het kind krijgt een echt Happy Meal, het bedrijf krijgt een offerte die door de fabriek kan en niemand hoeft nog uit te leggen waarom sushi niet bij een kindermenu hoort.