Opent in een nieuw tabblad

Home  »  Blog  »  Evals: OpenAI’s eerdere standaard voor het evalueren van LLM’s

Evals: OpenAI’s eerdere standaard voor het evalueren van LLM’s

evals openai's eerdere standaard voor het evalueren van llm's

OpenAI Evals is een opensourceframework waarmee je grote taalmodellen, ook wel LLM’s, en AI-toepassingen kunt testen. Een eval bestaat uit een testinvoer, een verwacht resultaat of beoordelingsregel en de gemeten uitkomst. Daarmee beantwoord je een praktische vraag: voert deze versie van onze AI-toepassing de taak goed genoeg uit?

OpenAI gebruikt de naam Evals ook voor zijn gehoste evaluatieplatform, dat wordt uitgefaseerd. Het onderscheid helpt je een werkwijze te kiezen die bruikbaar blijft wanneer je van model of tool wisselt.

De huidige status van OpenAI Evals

Status gecontroleerd op 16 september 2026. Volgens OpenAI zijn bestaande evaluaties in het gehoste platform vanaf 31 oktober 2026 alleen nog te bekijken. Het Evals-dashboard en de API sluiten naar verwachting op 30 november 2026. Bekijk de actuele Evals-documentatie. Deze aankondiging gaat over het gehoste product. Het oorspronkelijke opensourceframework en het evalueren van AI in algemene zin zijn afzonderlijke begrippen.

BegripBetekenisWaar je op let
Een evalEen test van modelgedrag of een AI-toepassingLeg vast welke taak goed moet gaan
OpenAI Evals-frameworkHet opensourceproject met een register van evaluatiesControleer afhankelijkheden en modelcompatibiliteit
Gehost Evals-platformHet dashboard en de API van OpenAI voor evaluatiesHoud rekening met de aangekondigde sluiting

Het oorspronkelijke OpenAI Evals-project werkt met evaluatiedefinities en datasets. Bij de oorspronkelijke werkwijze horen YAML-configuraties en JSONL-bestanden. De introductie in het OpenAI Cookbook is inmiddels als gearchiveerd gemarkeerd. Controleer daarom installatievoorbeelden en modelnamen voordat je ze overneemt.

Voor bestaande gehoste evaluaties beschrijft OpenAI een overstap naar Promptfoo. Daarbij maak je prompts, modelinstellingen, testgevallen en beoordelingsregels opnieuw aan en controleer je een nieuwe testrun. Vergelijk ook de beoordeling zelf: dezelfde bedoeling levert in een andere tool niet vanzelf dezelfde score op.

Waarom je een taalmodel systematisch test

Een klantenservicebot kan een vriendelijk antwoord geven en een vraag toch naar de verkeerde afdeling sturen. Een documentassistent kan de juiste informatie noemen met een verwijzing naar het verkeerde document. Een goedkoper model kan eenvoudige vragen goed afhandelen, maar een verzoek om een medewerker missen.

Met evals zie je zulke verschillen voordat je een aanpassing in gebruik neemt. Je vergelijkt modellen, prompts of wijzigingen in gekoppelde tools. Ook de proceseigenaar kan concreet beoordelen welke gevallen beter gaan, wat misgaat en welke fouten het zwaarst wegen.

De uitkomst hangt af van je testset en beoordelingsregels. Een hoge score op eenvoudige voorbeelden zegt weinig over lastige klantvragen. Herhaal tests wanneer wisselende modelantwoorden bepalend kunnen zijn voor je keuze.

Wat je bij een AI toepassing meet

Begin bij het gewenste gedrag. Een router moet de juiste afdeling kiezen, een kennisassistent moet antwoorden onderbouwen en een AI-agent moet eventuele toestemming voor handelingen respecteren.

ToepassingBruikbare controlesWat een totaalscore kan verbergen
Klantvragen verdelenJuiste categorie en doorverwijzingEen verzoek om een medewerker blijft bij de bot
Vragen over documentenJuist antwoord en passende bronHet antwoord verwijst naar het verkeerde document
Gegevens uitlezenGeldige structuur en juiste veldwaardenGeldige JSON met een onjuist factuurbedrag
AI-agent met toolsJuiste tool, invoer en afgeronde taakEen wijziging zonder de vereiste toestemming

Vaste controles zijn geschikt voor exacte labels, verplichte velden en rekenregels. Een AI-beoordelaar kan open antwoorden toetsen aan een rubric: een beschrijving van wat goed, onvoldoende of onacceptabel is. Laat mensen twijfelgevallen beoordelen en controleren of de automatische beoordeling aansluit op de praktijk. De documentatie over graders beschrijft onder meer tekstcontroles, gelijkenisscores, modelbeoordeling en controles met Python.

Beoordeel zichtbare antwoorden en handelingen. Een overtuigende uitleg bewijst niet dat het verborgen redeneerproces van een model klopt.

Praktijkvoorbeeld voor een Nederlandse webshop

Stel dat een webshop een LLM gebruikt om berichten te verdelen. De labels in de applicatie zijn delivery, billing en manual_review: bezorging, facturatie en menselijke beoordeling. Een expliciet verzoek om een medewerker moet altijd naar manual_review. In dit voorbeeld geldt dat ook voor berichten die over zowel bezorging als facturatie gaan.

Hieronder staan verzonnen testgevallen en uitkomsten ter illustratie. Het zijn geen gemeten resultaten van DataNorth of een specifiek model. Versie A stelt de huidige prompt voor, versie B een voorgestelde wijziging.

KlantberichtVerwacht labelAB
Waar blijft mijn pakket?deliverydeliverydelivery
Het bedrag op mijn factuur klopt nietbillingbillingbilling
Ik wil een medewerker sprekenmanual_reviewmanual_reviewdelivery
Dubbel betaald via iDEAL en mijn pakket is te laatmanual_reviewbillingmanual_review
Waar is bestelling 123?deliverybillingdelivery
Mag ik een btw-factuur ontvangen?billingbillingbilling

Versie A heeft vier van de zes gevallen goed, oftewel 66,7%. Versie B heeft er vijf goed en komt op 83,3%. Toch mist B het expliciete verzoek om een medewerker. Als die doorverwijzing een voorwaarde voor ingebruikname is, voldoet B nog niet.

De hogere totaalscore is dus onvoldoende om de wijziging goed te keuren. Je moet ook weten welke fouten zijn ontstaan en wat die voor de klant betekenen.

Evals

Het voorbeeld controleren met Python

Dit zelfstandige Python-voorbeeld beoordeelt de getoonde uitkomsten van versie B. Het roept geen model aan en heeft geen API-sleutel nodig. Voor een echte test vervang je de uitkomsten door vastgelegde antwoorden van je toepassing.

expected = [
    "delivery", "billing", "manual_review",
    "manual_review", "delivery", "billing",
]
candidate = [
    "delivery", "billing", "delivery",
    "manual_review", "delivery", "billing",
]
assert len(candidate) == len(expected)
correct = sum(a == b for a, b in zip(candidate, expected))
print(f"Correct: {correct}/{len(expected)}")
print("Doorverwijzing correct:", candidate[2] == expected[2])

De uitkomst is Correct: 5/6 en Doorverwijzing correct: False. Je controleert hiermee de labels en één regel voor doorverwijzing. Antwoordkwaliteit, snelheid en het verdere gesprek vallen buiten deze test. Zes voorbeelden maken de aanpak duidelijk, maar zijn onvoldoende om de betrouwbaarheid in productie vast te stellen.

Een evaluatie opzetten voor jouw organisatie

  1. Bepaal de beslissing. Leg vast welke keuze je met de evaluatie wilt onderbouwen. Mag een nieuwe prompt bijvoorbeeld de bestaande router vervangen? Spreek vooraf af welke fouten een introductie blokkeren.
  2. Verzamel herkenbare testgevallen. Neem gewone vragen, onduidelijke formuleringen, ontbrekende informatie en eerder gemaakte fouten op. Laat iemand met proceskennis de gewenste uitkomst vastleggen. Gebruik Nederlandse klanttaal, inclusief afkortingen en typefouten. Een uitsluitend vertaalde Engelse testset mist mogelijk zulke variatie.
  3. Houd ontwikkeling en beoordeling uit elkaar. Gebruik een deel van de voorbeelden om de prompt te verbeteren. Bewaar een ander deel voor de beoordeling. Leg vast welke voorbeelden tijdens het ontwikkelen beschikbaar waren, zodat je ziet of de oplossing vooral op die voorbeelden is afgestemd.
  4. Vergelijk onder gelijke omstandigheden. Gebruik voor beide versies dezelfde beoordelingsset en regels. Bewaar de prompt, modelnaam, instellingen en relevante wijzigingen in de applicatie. Herhaal tests wanneer wisselende antwoorden de beslissing kunnen beïnvloeden.
  5. Bekijk fouten per categorie. Rapporteer doorverwijzingen los van gewone bezorgvragen. Beoordeel bij een kennisassistent ook welke documenten zijn opgehaald. Zo kun je een zoekprobleem onderscheiden van een fout in het uiteindelijke antwoord.
  6. Onderhoud de tests na ingebruikname. Voeg nieuwe praktijkfouten toe als gecontroleerde testgevallen. Draai een gerichte selectie tijdens het ontwikkelen en een bredere set voor een release. Bewaar eerdere foutgevallen om te voorkomen dat ze terugkeren.

OpenAI noemt in zijn richtlijnen voor evaluaties onder meer taakspecifieke tests, menselijke controle van beoordelaars en doorlopend evalueren. De stappen hierboven vertalen die principes naar een concrete beslissing over ingebruikname.

Kosten en vertrouwelijke gegevens

Begroot de kosten van het geteste model, eventuele beoordelingsmodellen, tools en menselijke controle. Tweehonderd testgevallen, drie varianten en twee herhalingen betekenen 1.200 uitvoeringen van je toepassing. Aparte modelbeoordelingen komen daar nog bij.

Meet ook de reactietijd. Een nauwkeuriger antwoord dat tweemaal zo lang duurt, kan ongeschikt zijn voor live klantenservice. Bij een nachtelijke verwerking van documenten kan die afweging anders uitvallen.

Een afgeschermde testomgeving betekent niet automatisch dat alle gegevens daar blijven. Als je invoer naar een extern model of een externe beoordelaar stuurt, vindt ook daar verwerking plaats. Gebruik waar mogelijk verzonnen voorbeelden, verwijder overbodige persoonsgegevens en controleer waar prompts, antwoorden en testlogboeken worden opgeslagen. Neem zowel het geteste model als de beoordelingsdienst mee in die controle.

Aan de slag met een evaluatieplan

Kies één belangrijk werkproces, leg vast welke fouten onacceptabel zijn en vergelijk de huidige toepassing met één voorgestelde wijziging. Hulp nodig bij de testgevallen of de interpretatie? Bekijk onze AI-consultancy of bespreek je evaluatievraag met DataNorth.

Veelgestelde vragen (FAQ) over Evals

Wat is het verschil tussen een eval en een benchmark

Een eval is een gestructureerde evaluatie. Een benchmark is een gestandaardiseerde test of verzameling tests waarmee je prestaties vergelijkt. Publieke benchmarks kunnen helpen bij een eerste modelselectie. Je eigen evals laten zien hoe een model omgaat met jouw documenten, gebruikers en werkproces.

Kan ik ook Claude of Gemini evalueren

Ja, met dezelfde evaluatiemethode kun je uitkomsten van verschillende aanbieders vergelijken. Je testtool heeft daarvoor een geschikte koppeling nodig. Controleer ondersteuning voor het model, de gebruikte tools en het antwoordformaat. Houd testgevallen en beoordelingsregels gelijk.

Hoeveel testgevallen heb ik nodig

Daar is geen vast aantal voor. Begin met gecontroleerde voorbeelden van de belangrijkste situaties. Breid de set uit waar fouten of onzekerheid gevolgen hebben voor je beslissing. Rapporteer belangrijke categorieën afzonderlijk. Honderd eenvoudige vragen zeggen weinig over een uitzondering die je nooit hebt getest.

Voorkomen evals dat een model informatie verzint

Evals helpen ongefundeerde antwoorden op te sporen en te meten binnen je testset. Ze bieden geen garantie dat een toepassing nooit informatie verzint. Combineer de tests met passende broninformatie, controles in de applicatie en onderzoek naar fouten uit de praktijk.

Is de gehoste Evals API nog geschikt voor een nieuw project

Kies een evaluatiewerkwijze die je ook na de aangekondigde sluiting kunt onderhouden. Bewaar datasets en beoordelingsregels in een overdraagbaar formaat. Bekijk de eerder genoemde migratiehandleiding voordat je tijd investeert in een gehoste integratie.

Maak DataNorth AI je Google-favoriet