Ga naar inhoud

Evaluaties in de console

Het concept achter agents staat in Agents.

In het onderdeel Evaluaties leg je vast wat een agent moet kunnen: een paar gesprekken, elk antwoord getoetst aan regels die je zelf opschrijft. Uitvoeren speelt die gesprekken opnieuw af tegen een vastgezette agentversie en legt vast wat klopte en wat niet. Gebruik het om na een wijziging aan een agent te zien of hij zijn werk nog doet.

Een evaluatie gaat altijd over agents. Je hebt een beheerdersaccount van de organisatie nodig, en de capabilities evaluations en agents moeten in het plafond van de organisatie aanstaan. Hetzelfde doe je met een sleutel in Evaluaties via de API; agents zelf leg je vast in Agents in de console.

Een evaluatie toevoegen

Kies Evaluatie toevoegen. De lade opent met vijf velden:

Veld Wat je invult
Identifier waarmee je deze evaluatie herkent; kan je later wijzigen. Het veld zet zelf om naar kleine letters, cijfers, - en _, begint met een letter of cijfer, maximaal 64 tekens
Omschrijving wat deze evaluatie meet. Alleen voor wie meeleest
Beoordelingsmodel het model dat de beoordeelde controles uitvoert. Kies je niets, dan gebruikt elke agent zijn eigen model
Agents de agents die deze evaluatie meet, minstens één. Later opslaan vervangt de hele set door wat je dan aanvinkt
Draait als de sleutel waarmee elke uitvoering draait

Draait als is het veld dat bepaalt of je zelf een uitvoering kunt starten. Elke stap van een uitvoering is een gewone beurt, en een beurt is altijd de handeling van een sleutel: hij wordt gemeten, geauditeerd en geboekt op die sleutel en valt onder haar policy. Jij bent een persoon en hebt geen eigen sleutel, dus zonder deze keuze blijven de knoppen Uitvoeren uitgeschakeld, met die reden erbij. Een sleutel die zelf een uitvoering start via de API heeft dit niet nodig — die handelt voor zichzelf.

Je mag elke sleutel van de organisatie kiezen. Elke beurt van de uitvoeringen van de evaluatie telt dan mee voor de limiet per maand van die sleutel, wie de uitvoering ook start. Een planning is anders: een sleutel die er via de API een maakt, plant als zichzelf.

Na Toevoegen kom je op het tabblad Scenario's van de nieuwe evaluatie, want een evaluatie zonder scenario's kan niets meten.

Een scenario schrijven

Een scenario is één gesprek: een paar beurten na elkaar op één thread, dus de agent onthoudt wat er in een eerdere stap is gezegd. Kies Scenario toevoegen en vul in:

  • Titel en Omschrijving — waarmee je dit gesprek terugvindt in de tabel en in een uitvoering.
  • Per stap Als de gebruiker vraagt — het bericht dat wordt verstuurd.
  • Per stap nul of meer controles, de regels waar het antwoord aan wordt getoetst.

Je slaat het hele scenario in één keer op. Er is met opzet geen aparte route per stap: bewerken twee mensen tegelijk, dan schrijft ieder de lijst die hij zag, en een halve lijst opslaan is hoe je elkaars werk kwijtraakt.

Een evaluatie houdt maximaal 32 scenario's, een scenario maximaal 32 stappen en een stap maximaal 16 controles.

Promptwaarden

Zet een van de agents die deze evaluatie meet een prompt met variabelen vast, dan verschijnt boven de stappen het blok Promptwaarden, met één veld per variabele die die prompts declareren — afgelezen van de agents zelf, dus je typt nooit een naam. Elke stap van dit scenario stuurt mee wat je invult.

Je schrijft één scenario voor alle agents die de evaluatie meet, dus een waarde waar de prompt van een agent niet om vraagt, blijft gewoon weg uit de beurten van die agent. Een veld dat je leeg laat, stuurt niets mee; een veld dat de prompt verplicht stelt, moet ingevuld zijn voordat je kunt opslaan.

Elk veld neemt de soort waarde aan die zijn variabele declareert: een getalveld bij Getal en Geheel getal, een keuze tussen Ja (true) en Nee (false) bij Ja of nee, en een tekstveld bij Tekst en Keuze; bij een Keuze typ je een van zijn waarden. Het scenario bewaart de waarde als die soort. Een waarde die niet past bij wat de prompt van een agent toelaat, zoals een waarde buiten de waarden van een Keuze, laat elke stap van die agent mislukken, met een reden die de variabele noemt.

Een variabele met een standaard is nooit verplicht. Het lege veld zegt wat er dan komt te staan, zoals wordt automatisch ingevuld (Datum van vandaag) of standaard: «…». Laat je het leeg, dan vult Core bij elke stap de standaard in; vul je iets in, dan gaat jouw waarde voor.

Een waarde die is opgeslagen onder een naam waar geen enkele gekoppelde agent nog om vraagt — de agent koos een andere prompt, of is ontkoppeld — krijgt nog steeds een veld, met die melding erbij, zodat je hem ziet staan en kunt leegmaken.

De controles

Kies per controle eerst Controleer dan op; daarna verschijnen alleen de velden die dat soort gebruikt. Acht controles worden door een regel beslist, vier door een beoordelingsmodel.

Controle Slaagt wanneer Wanneer je hem gebruikt
Bevat tekst het antwoord de opgegeven tekst bevat, hoofdletters genegeerd er moet een woord, bedrag of termijn in staan
Bevat tekst niet die tekst er juist niet in staat er mag iets nooit genoemd worden
Bevat geen treffer van patroon het antwoord geen treffer bevat van het Patroon, een reguliere expressie (RE2) waarvan een treffer hooguit Langste treffer (tekens) beslaat, 1 tot 200 een rekeningnummer, telefoonnummer of andere vorm mag nooit voorkomen; dezelfde regel die een live check afdwingt
Exacte overeenkomst het antwoord, ontdaan van witruimte, letterlijk gelijk is het antwoord is één vaste zin of code
Bijna overeenkomst het antwoord genoeg op de opgegeven tekst lijkt (Minimale gelijkenis, standaard 0,8) het antwoord mag anders geformuleerd zijn
Reageert binnen tijdslimiet de beurt binnen Maximale reactietijd klaar was traagheid is zelf een probleem
Moet tool gebruiken de beurt de genoemde tool aanriep, of welke tool dan ook als je geen naam invult de agent moet echt opzoeken in plaats van gokken
Gevonden via zoeken een zoekopdracht van de toolrouter in de beurt, of de tools die hij vooraf koos, had de genoemde tool onder de resultaten de tools van de agent zitten achter de router en je wilt weten of hij de juiste vindt
Correcte opmaak een beoordelaar vindt dat het antwoord past bij de opmaak die je beschrijft "genummerde lijst", "alleen JSON"
Beleefde toon een beoordelaar de toon professioneel, behulpzaam en beleefd vindt klantcontact
Geen hallucinatie een beoordelaar vindt dat er niets verzonnen is de agent moet zich aan zijn bronnen houden
LLM-beoordelaar een beoordelaar vindt dat het antwoord voldoet aan de regel die je opschrijft alles wat geen woordvergelijking is

Moet tool gebruiken kijkt naar de tool-aanroepen van de beurt zelf, nooit naar de tekst: een model dat schrijft "ik zoek het even op" heeft niets opgezocht.

Bij de vier beoordeelde controles is jouw tekst de regel, niet het juiste antwoord: schrijf "het antwoord biedt aan om door te verbinden", niet de zin die de agent had moeten zeggen. De beoordelaar geeft een score tussen 0 en 1 en de controle slaagt vanaf de Drempel, standaard 0,7. Hij ziet alleen het bericht van de stap, het uiteindelijke antwoord en jouw regel — niet de rest van het gesprek en niet de tool-uitvoer.

Verplicht om te slagen staat standaard aan. Een stap slaagt als elke verplichte controle slaagt; een niet-verplichte controle die niet houdt, geeft een waarschuwing in plaats van een probleem.

Versies en concepten

Elke wijziging van wat een evaluatie meet, haar scenario's, haar agents en haar beoordelaarsmodel, is een genummerde versie. Een scenario dat je op het tabblad Scenario’s toevoegt, wijzigt of verwijdert, is meteen gepubliceerd: elke sleutel en elke planning draait vanaf dan de nieuwe versie.

Een concept is een versie die geen sleutel ziet en geen uitvoering van een sleutel meet totdat je het publiceert. Er ontstaat er een als je een geprobeerd gesprek als scenario opslaat (zie Agents in de console). Onder de scenario's staan bij Versies alle versies, een concept als concept gemarkeerd. Open een concept om de scenario's te zien, en dan:

  • Concept meten zet een uitvoering van het concept in de rij, als de sleutel waarmee de evaluatie draait. Die uitvoering en alles wat ze achterlaat zijn als concept gemarkeerd en alleen in de console te lezen.
  • Publiceren maakt het concept de scenario's van de evaluatie.
  • Concept weggooien verwijdert het; zijn nummer wordt niet opnieuw uitgegeven.

Een evaluatie uitvoeren

Er zijn drie plekken om te starten, en ze verschillen alleen in hoeveel uitvoeringen ze aanmaken:

  • Uitvoeren in het rijmenu van de lijst, en Alles uitvoeren op de pagina van de evaluatie: één uitvoering per gekoppelde agent.
  • Uitvoeren naast een agent op het tabblad Instellingen, en dezelfde knop op de pagina van die agent: alleen voor die agent.

Een uitvoering gaat in de rij en wordt door de achtergrondverwerking opgepakt; de pagina ververst zichzelf zolang er iets loopt en stopt daar vanzelf mee. Elke uitvoering zet de agentversie vast die op dat moment de nieuwste was en de gepubliceerde versie van de evaluatie, en maakt een momentopname van de scenario's van die versie, zodat een latere wijziging niets verandert aan wat een afgeronde uitvoering betekende.

Een uitvoering die je hier start, werkt voor niemand in het bijzonder; wil je de agent meten zoals hij zich voor één persoon gedraagt, start de run dan via de API (een run voor één persoon).

Staat de knop uit, dan zegt de tooltip waarom: er is nog geen scenario, of er is nog geen sleutel gekozen bij Draait als.

Het tabblad Instellingen heeft ook een kaart Planningen: de planningen die deze evaluatie aansturen, elk een link naar haar eigen pagina, met Planning toevoegen om er een aan te maken met deze evaluatie al gekozen (zie Planningen).

Een uitvoering lezen

Op het tabblad Uitvoeringen staat elke uitvoering met wanneer hij in de rij ging, welke agent en welke versie, hoe lang hij duurde, de score en de status. Klik een rij aan voor het geheel.

De kop toont de agent en zijn versie, de tijden, de duur, de score en de status, en zolang de uitvoering loopt een knop Uitvoering annuleren. Daaronder staat per scenario een uitklapbaar blok, en daarin per stap het bericht, het antwoord, de duur van de beurt en de controles.

Wat de kleuren betekenen

Per controle staat een stip:

Kleur Betekenis
groen de controle slaagde
rood de controle slaagde niet
oranje de controle kon niets beslissen — bijvoorbeeld een beoordelingsmodel dat niet antwoordde

Oranje telt mee als "niet geslaagd" voor het eindoordeel, en dat is met opzet: een controle die niemand heeft kunnen uitvoeren stilzwijgend als geslaagd tellen zou gevaarlijker zijn. De stip is wat "de agent had het mis" onderscheidt van "we konden het niet vaststellen".

Het eindoordeel van een hele uitvoering is er in drie smaken:

Status Betekenis
OK elke stap slaagde
Waarschuwing alleen niet-verplichte controles hielden niet
Problemen een stap met een verplichte controle slaagde niet

Mislukt en Geannuleerd zijn statussen, geen oordeel: ze zeggen dat de uitvoering er niet aan toegekomen is. De score is het aantal geslaagde stappen gedeeld door het totaal uit de momentopname, als percentage; een uitvoering die halverwege is leest daardoor als voortgang en niet als een cijfer dat de agent al verdiend heeft.

Een geannuleerde uitvoering stopt bij de volgende stap. De beurt die op dat moment liep, is echt gebeurd en blijft op de rekening staan; alleen het oordeel over die stap vervalt.

Een evaluatie of scenario verwijderen

Verwijderen in het rijmenu van de lijst wist de evaluatie, haar scenario's en al haar uitvoeringen. Dat kan niet ongedaan worden gemaakt.

Een scenario verwijder je op het tabblad Scenario's. Uitvoeringen die er al zijn, houden hun eigen momentopname en blijven leesbaar.

Lege lijsten en toegangsbeperkingen

"Nog geen evaluaties" betekent dat er voor deze organisatie nog geen evaluaties zijn aangemaakt.

Zie je evaluations staat uit voor deze organisatie, dan staat die capability uit in het plafond van de organisatie. De beheerder van de organisatie erboven zet het aan bij Toegestane capabilities op Instellingen; voor een organisatie zonder bovenliggende organisatie doet je operator dat. Evaluaties vereisen ook agents: zonder agents valt er niets te meten.

Een sleutel kan verder beperkt zijn tot bepaalde agents. Noem je een agent die daarbuiten valt, dan krijg je een foutmelding op het veld Agents in plaats van een lege lijst, omdat jij die agent zelf hebt gekozen.