Skip to content

AI agent of automatisering: een groen vinkje betekent niet dat de taak is afgerond

Uw automatisering heeft vannacht gedraaid en bij elke stap staat een groen vinkje. Dat vertelt alleen dat er niets zichtbaars mis is gegaan. Het vertelt u niet dat het rapport is geschreven, het record is bijgewerkt of de klant het juiste antwoord heeft gekregen.

Uw automatisering heeft vannacht gedraaid en bij elke stap staat een groen vinkje. Dat vertelt alleen dat er niets zichtbaars mis is gegaan. Het vertelt u niet dat het rapport is geschreven, het record is bijgewerkt of de klant het juiste antwoord heeft gekregen.

Waarom 'geen fout' de verkeerde toets is

De meeste automatiseringstools en AI-agentplatforms beoordelen een run aan de hand van één vraag: heeft een stap een fout gemeld? Zo niet, dan wordt de run als geslaagd gemarkeerd. Voor de machine is dat een redelijke toets. Voor de organisatie is het de verkeerde toets. De organisatie vroeg niet om 'geen fouten'. Ze vroeg om een resultaat: een ingevulde spreadsheet, een verstuurd antwoord of een samenvatting in iemands inbox.

Tussen die twee toetsen zitten de stille fouten. Een stap kan netjes eindigen zonder iets door te geven aan de volgende stap. Een model kan een foutmelding van een tool als gegevens behandelen. Een geplande taak kan niet starten en een taak die nooit heeft gedraaid, kan ook niet melden dat die is mislukt. U merkt het pas later, via een klant, een collega of een getal dat niet klopt.

AI agents maken dit moeilijker, niet makkelijker. Een gewoon script dat niets terugkrijgt, stopt meestal met een zichtbare fout. Een taalmodel dat niets terugkrijgt, gaat vaak door en schrijft iets dat juist klinkt. Het vult het gat met vlotte tekst en vlotte tekst lijkt al snel op een resultaat.

Vier stille manieren waarop een taak groen eindigt

  1. Een tool-aanroep mislukt en de agent gaat door. De tool geeft een weigering terug. De stap telt toch als voltooid en het model leest de weigering als een antwoord.
  2. Een stap geeft niets terug. Een zoekopdracht vindt geen rijen of een veld ontbreekt. De volgende stap werkt toch met de lege waarde.
  3. De uitvoer heeft de verkeerde vorm. Het model geeft een alinea terug terwijl een lijst werd verwacht. Er gaat niets mis totdat een andere stap of een ander systeem de uitvoer probeert te gebruiken.
  4. De run start nooit. Een trigger gaat niet meer af of inloggegevens verlopen. Er is geen mislukte run om te bekijken, want er is geen run.

De eerste drie zijn fouten binnen een run. De vierde is een fout door afwezigheid en vraagt om een ander soort controle.

Meet succes aan het resultaat

De oplossing begint voordat u een tool kiest. Schrijf voor elke taak op welk resultaat die taak moet opleveren. Niet 'verwerk de nieuwe tickets', maar 'één regel per nieuw ticket, met nummer en prioriteit, vóór het ochtendoverleg'. Zodra het resultaat is vastgelegd, kunt u erop controleren. Daaruit volgen drie gewoonten.

Leg de vorm van de uitvoer vast. Beschrijf hoe een goed resultaat eruit ziet: welke velden het bevatten, welke typen zijn toegestaan en welke velden nooit leeg mogen zijn. Een stap die deze vorm moet teruggeven, kan dan niet ongemerkt een beleefde alinea teruggeven.

Controleer het resultaat bij de stap die het maakt. Valideer het resultaat waar het ontstaat, niet pas drie stappen later. Als de zoekstap geen rijen vindt op een dag waarop er veel hadden moeten zijn, is dat de plek om te stoppen en dit te melden. Een controle aan het einde van de flow vertelt u dat er iets misging. Een controle bij de bron vertelt u wat er misging en waar.

Maak een leeg resultaat zichtbaar. Bepaal vooraf voor elke stap wat een leeg of onjuist gevormd resultaat betekent. Soms is leeg in orde, bijvoorbeeld als er op zondag geen nieuwe tickets zijn. Vaak is dat niet zo. Hoe dan ook moet de run dit vastleggen als een benoemde uitkomst, zoals 'afgerond, niets opgeleverd omdat de bron niets teruggaf', en niet als gewoon succes. Een duidelijk 'klaar, niets opgeleverd' is meer waard dan een groen vinkje.

Hier zit een echte prijs aan en het is goed om dat te benoemen. Elke controle levert extra werk en enkele valse alarmen op. Teams die geen controles toevoegen, krijgen rustige dashboards en late verrassingen. Teams die er te veel toevoegen, leren hun meldingen te negeren. Begin bij de taken waarbij een stille fout geld of vertrouwen kost en controleer het ene resultaat waarvoor elk van die taken bestaat.

Let op de run die nooit is gestart

Een gemiste run laat geen spoor achter in de tool die hem had moeten uitvoeren. Deze controle moet dus buiten de run plaatsvinden.

De eenvoudige versie: weet voor elke geplande taak hoe vaak die moet draaien en vergelijk dat met hoe vaak die daadwerkelijk heeft gedraaid. Een dagelijkse taak zonder run sinds gisterochtend is een storing, ook als er niets rood op het scherm staat.

Een tweede gewoonte helpt. Laat elke belangrijke taak als laatste stap een kort record met 'afgerond' schrijven op een plek die door iets anders wordt gelezen. Als dat record niet op tijd binnenkomt, hoort iemand daarvan. Stilte wordt dan het signaal.

Eén run, drie manieren om groen te lijken

Neem één geplande run. Elke ochtend om zeven uur leest een agent de nieuwe support tickets en plaatst hij vóór het ochtendoverleg één regel per ticket, met nummer en prioriteit. Hier zijn drie ochtenden waarop die run groen lijkt, terwijl de taak niet is afgerond.

1. Een toolfout waar de agent zich langs praat. De tickettool geeft een fout terug: geen toegang. De agent leest de fout, schrijft 'Vandaag geen urgente tickets' en sluit de stap af. Wat dit opvangt: een vastgelegde vorm voor het resultaat, zodat een geschreven excuus niet als antwoord kan doorgaan. Wat EpicStaff doet: een mislukte tool-aanroep wordt als fout vastgelegd, maar de agent krijgt die fout te zien en mag doorgaan. Daardoor kan een run na een toolfout toch groen eindigen. In EpicStaff kunt u een stap een gestructureerde uitvoer (structured output) laten gebruiken. U legt de vorm van het resultaat vast en de stap moet die vorm teruggeven. Lukt dat niet, dan mislukt de stap in plaats van dat die slaagt.

2. Een leeg resultaat. De zoekopdracht draait zonder fout en vindt geen rijen, omdat iemand de wachtrij die de agent leest een andere naam heeft gegeven. De agent plaatst een lege lijst en elke stap is groen. Wat dit opvangt: een regel voor die stap die aangeeft wanneer een leeg resultaat niet acceptabel is, en die controleert waar het resultaat ontstaat. Wat EpicStaff doet: bij agent- en task-stappen kunt u de vorm van het resultaat vastleggen, inclusief verplichte velden. Een antwoord dat niet aan die vorm voldoet, laat de stap mislukken. Een leeg resultaat laat een stap alleen mislukken als de vastgelegde vorm inhoud vereist. Voeg daarom na die stap uw eigen controle toe op plekken waar een leeg resultaat nooit acceptabel is.

3. Een start die nooit plaatsvond. Op maandag gaat de trigger niet af. Er is geen run, dus er wordt niets rood. Wat dit opvangt: een controle buiten de run die vergelijkt hoe vaak de taak moet draaien met hoe vaak die daadwerkelijk heeft gedraaid. Wat EpicStaff doet: EpicStaff kan flows volgens een schema starten, maar waarschuwt niemand als een geplande run niet start. Voeg daarom uw eigen controle toe voor geplande runs, zoals het record met 'afgerond' dat hierboven is beschreven.

Alle drie komen terug op wat groen betekent. De status van een run controleert de vorm van het resultaat alleen waar u die hebt vastgelegd. Anders betekent groen alleen dat de run geen fout heeft gemeld. Bepaal daarom wat elke taak moet opleveren en leg die vorm vast bij de stap die het resultaat maakt.

Vragen & Antwoorden

Waarom meldt mijn automatisering succes terwijl die niets heeft gedaan?

De meeste tools markeren een run als geslaagd als geen enkele stap een fout heeft gemeld. Een stap kan niets teruggeven of een AI model kan de foutmelding van een tool als antwoord behandelen. In geen van beide gevallen ontstaat dan noodzakelijk een fout. Om dit op te vangen, legt u vast welk resultaat elke run moet opleveren en controleert u daarop.

Hoe spoor ik stille fouten (silent failures) in AI agents op?

Controleer het resultaat bij de stap die het maakt, niet alleen aan het einde van de run. Leg een leeg of onjuist gevormd resultaat vast als benoemde uitkomst, niet als succes. Vergelijk bij geplande taken hoe vaak een taak moet draaien met hoe vaak die daadwerkelijk heeft gedraaid. Een run die nooit start, kan immers ook geen fout melden.

Wat is het verschil tussen een geslaagde run en een afgeronde taak?

Een geslaagde run betekent dat geen enkele stap een fout heeft gemeld. Een afgeronde taak betekent dat het resultaat waarvoor de run bestaat, is opgeleverd: het record is bijgewerkt, het rapport is verstuurd of het juiste antwoord is gegeven. Alleen dat tweede telt voor de mensen die van de taak afhankelijk zijn.

Als een tool-aanroep in EpicStaff een fout teruggeeft, legt de run dat dan vast als fout, of kan de agent doorgaan?

Een mislukte tool-aanroep wordt als fout vastgelegd, maar de agent krijgt die fout te zien en mag doorgaan. Daardoor kan een run na een toolfout toch groen eindigen. De status van een run controleert de vorm van het resultaat alleen waar u die hebt vastgelegd. Anders betekent groen alleen dat de run geen fout heeft gemeld. In EpicStaff kunt u een stap een gestructureerde uitvoer (structured output) laten gebruiken. U legt de vorm van het resultaat vast en de stap moet die vorm teruggeven. Lukt dat niet, dan mislukt de stap in plaats van dat die slaagt.

Keep reading