AI-agents testen: beoordeel het resultaat, niet alleen het laatste antwoord

|Auteur: Redactie van QUASA|5 min. leestijd| 1
AI-agents testen: beoordeel het resultaat, niet alleen het laatste antwoord

Test AI-agents vóór productie met een regressieset die per taak het slotantwoord, de uitgevoerde acties en de werkelijke systeemtoestand beoordeelt. Anthropics uitleg over agentevaluaties gebruikt het voorbeeld van een boekingsagent die meldt dat een vlucht is geboekt, terwijl er geen reservering in de database staat. Een overtuigend antwoord is daarom op zichzelf geen bewijs dat de taak is voltooid.

Leg voor ieder testgeval de invoer, toegestane tools en controleerbare succescriteria vast. Laat de agent in een afgeschermde omgeving werken, bewaar de stappen en lees de eindtoestand rechtstreeks uit het betrokken systeem. Voer dezelfde taak meerdere keren uit, omdat het gedrag en de uitkomst per poging kunnen verschillen.

Maak van een taak een controleerbaar testgeval

Kies opdrachten die de agent werkelijk moet kunnen uitvoeren, aangevuld met eerder gevonden fouten. Neem ook situaties op waarin hij juist moet wachten of weigeren: toestemming ontbreekt, de gebruiker geeft te weinig informatie of een tool retourneert een fout. Daarmee beoordeel je zowel of de bedoelde actie slaagt als of een ongeoorloofde actie uitblijft.

Een testgeval is pas bruikbaar als een beoordelaar vooraf kan vaststellen wat als succes telt. Dit sjabloon houdt de opdracht, de beschikbare middelen en het verwachte resultaat bij elkaar:

  • Taak: welke opdracht krijgt de agent en namens welke gebruiker handelt hij?
  • Invoer: welke berichten, rechten en systeemgegevens zijn bij de start beschikbaar?
  • Succescriterium: welk resultaat moet aantoonbaar zijn en welke handeling is verboden?
  • Toegestane tools: welke systemen mag de agent lezen of wijzigen?
  • Verwachte eindtoestand: welke records, statussen of bestanden moeten na afloop bestaan of juist ontbreken?
  • Pogingen: hoeveel afzonderlijke uitvoeringen beoordeelt het team en wanneer slaagt een afzonderlijke poging?

Neem als voorwaardelijk voorbeeld een klantenserviceagent die een terugbetaling moet verwerken. Bij een geldige aanvraag is de poging pas geslaagd als de toegestane betaaltool de bedoelde transactie heeft geregistreerd en het antwoord daarmee overeenkomt. Ontbreekt de vereiste toestemming, dan hoort de eindtoestand juist geen terugbetaling te bevatten. De precieze formulering van het antwoord is ondergeschikt aan die controle, zolang de gebruiker correct hoort wat er is gebeurd.

Bewaar testgegevens en verwachte uitkomsten samen

Een regressieset bevat meer dan een verzameling prompts. Bewaar per geval ook de starttoestand, een referentie voor het gewenste resultaat en de beoordelingsregels. Als een tool voortaan een ander veld teruggeeft of een testrecord verandert, moet duidelijk zijn of een afwijkende uitslag door de agent komt of door gewijzigde testgegevens.

De OpenAI-handleiding voor Datasets beschrijft herbruikbare invoer en referentiewaarden, menselijke annotaties en verschillende automatische beoordelaars voor dezelfde gegevens. Voor een agenttaak kan een exacte controle van een statusveld dus naast een oordeel over de uitleg aan de gebruiker staan. Bewaar die oordelen afzonderlijk: een nette uitleg herstelt geen ontbrekende systeemactie.

Voeg een gevonden fout als blijvend regressiegeval toe zodra de invoer en het verwachte resultaat ondubbelzinnig zijn. Houd ook bekende geslaagde gevallen vast; anders ziet het team wel of een nieuwe fout is opgelost, maar niet of een wijziging bestaande taken heeft beschadigd. Een referentie-uitvoering die alle beoordelaars doorstaat, helpt bovendien om te ontdekken of een test überhaupt oplosbaar is.

Controleer de route en de feitelijke eindtoestand

De trace toont welke tool de agent aanriep, met welke argumenten en welk resultaat terugkwam. De OpenAI-uitleg over tracebeoordeling beschrijft hoe zulke stappen een score of label kunnen krijgen om fouten in beslissingen en toolgebruik te vinden. Voor teams die deze gebeurtenissen nog niet vastleggen, begint die controle bij het traceren van afzonderlijke toolaanroepen.

Beoordeel in de trace vooral stappen die voor de taak noodzakelijk zijn. Heeft de agent vóór een wijziging de vereiste toestemming vastgesteld? Gebruikte hij uitsluitend toegestane tools? Meldde hij geen succes nadat een aanroep mislukte? Schrijf niet elke tussenstap in een vaste volgorde voor wanneer verschillende routes hetzelfde geldige resultaat kunnen opleveren; zo'n regel zou een geslaagde uitvoering onterecht afkeuren.

Lees daarna de relevante records of statussen onafhankelijk van het agentantwoord uit de applicatie. Vergelijk wat daar staat met zowel het succescriterium als de mededeling aan de gebruiker. Een geslaagde toolaanroep kan het verkeerde record hebben gewijzigd, terwijl een juiste wijziging onduidelijk kan zijn uitgelegd. Door handeling, eindtoestand en antwoord apart te beoordelen, wordt zichtbaar welk onderdeel herstel vraagt.

Kies een beoordelaar die bij het bewijs past

Gebruik een deterministische controle voor uitkomsten die software rechtstreeks kan vaststellen: bestaat een record, klopt de status, werd een verplichte tool gebruikt en bleef een verboden wijziging uit? Laat de controle de systeemtoestand lezen wanneer die het succescriterium vormt. Een zoekactie naar woorden als ‘geregeld’ of ‘voltooid’ in het antwoord controleert alleen wat de agent beweert.

Menselijke annotatie past bij oordelen waarvoor domeinkennis of context nodig is. Een beoordelaar kan vastleggen of een weigering terecht was, of de uitleg voor de gebruiker begrijpelijk is en of een vraag om verduidelijking passend was. Noteer bij twijfel waarom een poging slaagt of faalt. Zo kunnen verschillende beoordelaars dezelfde regel toepassen en kan het team zien waar de beoordelingsinstructie scherper moet.

Een modelbeoordelaar kan veel open antwoorden langs dezelfde, beperkte maatstaf leggen. Geef hem bijvoorbeeld de feitelijk geregistreerde actie en laat hem uitsluitend beoordelen of het antwoord die actie juist beschrijft. Vergelijk zijn oordelen eerst met menselijke annotaties en bied een uitkomst voor ontbrekend bewijs. Een modelscore mag een ontbrekende terugbetaling of reservering nooit vervangen door een aanname op basis van de tekst.

Beslis over wijzigingen op basis van afzonderlijke pogingen

Start elke poging vanuit dezelfde vastgelegde toestand, met dezelfde bevoegdheden en beoordelingsregels. Isoleer de uitvoeringen: een achtergebleven record kan een volgende poging onterecht laten slagen. Bewaar per uitvoering het antwoord, de trace, de uitgelezen eindtoestand en de uitslag van iedere beoordelaar.

Rapporteer per taak hoeveel pogingen volledig slagen en welke criteria falen. Spreek vooraf af welke fouten een release blokkeren, zoals een ongeoorloofde betaling of een ontbrekende noodzakelijke reservering. Een gemiddelde kwaliteitsscore kan zulke afzonderlijke fouten verbergen. Onderzoek bij een afwijking de trace naast de systeemtoestand: dan is te onderscheiden of de agent verkeerd handelde, een tool faalde of de test een geldige oplossing afkeurde.

Lees ook:

Delen:

Abonneer je op onze nieuwsbrief

Ontvang het laatste nieuws over Web3, AI en crypto rechtstreeks in je inbox.

0