Het zal niemand ontgaan zijn dat we midden in een technologische revolutie zitten. Overal waar AI in combinatie met LLM’s ons kan ondersteunen ontstaan toepassingen die problemen proberen op te lossen, of ons op z’n minst met behulp van AI ondersteunen. In het vervolg zal ik deze toepassingen aanduiden als AI‑apps.
Er worden nu AI‑apps ontwikkeld voor allerlei problemen, zoals het automatiseren van repetitieve taken, het beantwoorden van klantvragen en het ondersteunen van besluitvorming binnen bedrijven. Ook in het dagelijks leven zien we steeds meer toepassingen die helpen bij schrijven, vertalen, navigeren, zoeken en organiseren. Overal waar snelheid, gemak en efficiëntie belangrijk zijn, verschijnen AI‑apps als mogelijke oplossing.
Niet-deterministisch, per definitie
Al deze AI‑apps delen echter een fundamenteel probleem: ze zijn per definitie niet‑deterministisch. Als je vandaag aan zo’n AI‑app dezelfde vraag stelt als gisteren, is het antwoord dat je terugkrijgt niet per se hetzelfde; de uitkomst kan ieder moment nét iets anders zijn.
Veel teams in organisaties bouwen inmiddels, vaak zonder het zich echt te realiseren, hun eigen AI‑apps om specifieke problemen op te lossen. Binnen en tussen teams worden bijvoorbeeld prompts gedeeld om vanuit requirements naar testgevallen te komen. In de praktijk is dat heel eenvoudig: je opent bijvoorbeeld Microsoft Copilot, laadt je requirementsdocument erin en vraagt via een gedeelde prompt om testgevallen te genereren. De kwaliteit van de huidige modellen is zo goed dat de resulterende testgevallen prima kunnen dienen als basis voor de definitieve testcases die nog verder worden uitgewerkt.
“Dat kunnen we met een beetje vibe-coding zelf in een paar dagen bouwen.”
Een bekende gedachte onder testprofessionals
Wanneer testprofessionals een nieuwe AI-app uit het veld beoordelen, klinkt al snel die gedachte. Ook op LinkedIn kom je die overtuiging regelmatig tegen. Toch vertelt de zichtbare interface maar een klein deel van het verhaal. Een AI-app is veel meer dan wat je aan de buitenkant ziet. Het is een combinatie van system-prompts, AI-agents, een zorgvuldige keuze van de juiste LLM(s) voor de taak, instellingen zoals de temperatuur van het model, én de manier waarop je die hele keten beheerst en monitort. Wat dit ons wel duidelijk maakt, is dat de bedrijven die AI-apps ontwikkelen een methodiek nodig hebben om de kwaliteit van AI-apps expliciet af te zetten tegen die snelle “in-een-paar-dagen”-oplossing.
Evaluaite
Om precies voor deze uitdagingen een oplossing te bieden, heeft QA Company Evaluaite ontwikkeld.
Evaluaite is een methode om AI-apps te testen op basis van duidelijke, vooraf vastgestelde kwaliteitscriteria. QA Company ziet Evaluaite als dé manier waarop AI-apps systematisch en consequent getest zouden moeten worden.
Zo werkt Evaluaite
1
Bepaal de te gebruiken metrieken - voor de AI-app worden de relevante kwaliteitsmaten gedefinieerd, bijvoorbeeld juistheid, consistentie, veiligheid of responsiviteit. Evaluaite ondersteunt zowel klassieke metrieken als de zogenaamde “LLM-as-a-judge”-metrieken, waarbij een LLM wordt ingezet om de output van een andere LLM te beoordelen.
2
Stel thresholds vast - voor elke metriek wordt een drempelwaarde bepaald; dit is het niveau dat de AI-app minimaal moet halen om “goed genoeg” te zijn.
3
Voer testen uit - de AI-app wordt getest aan de hand van deze metrieken. Evaluaite kan worden gebruikt met bekende LLM-evaluatietools, zoals Deepeval en Promptfoo, maar QA Company heeft op dit moment een duidelijke voorkeur voor LangWatch, een platform voor LLM-evaluatie, testing en observability.
4
Beoordeel de scores - de resultaten worden beoordeeld ten opzichte van de vastgestelde thresholds, zodat in één oogopslag duidelijk is waar de app voldoet en waar niet.
5
Verbeter via Evaluation Driven Development - op basis van de scores wordt de AI-app gericht verbeterd, met als doel alle scores structureel boven de thresholds te krijgen en daar te houden.
Evaluaite maakt van een niet-deterministisch systeem een beheersbaar, quasi-deterministisch systeem - via metrics, thresholds, testing en continue improvement.
Voorspelbare kwaliteit, geen voorspelbaar antwoord
Waar Evaluaite teams echt mee helpt, is om van een niet-deterministisch systeem een beheersbaar, quasi-deterministisch systeem te maken: de uitkomst varieert, de kwaliteit blijft boven het gewenste niveau. Evaluaite doet dit niet door te eisen dat dezelfde vraag altijd exact hetzelfde antwoord oplevert, maar door wél te eisen dat de AI-app voor elke metriek consequent een score boven de vastgestelde threshold behaalt. De inhoud van de antwoorden mag variëren, maar de kwaliteit wordt voorspelbaar en herhaalbaar.
Door met Evaluaite continu de kwaliteit van je AI-app te meten, onderscheidt jouw AI-app zich van de eerdergenoemde “gevibecoded”-AI-apps. Neem opnieuw het voorbeeld van een AI-app die vanuit requirements testgevallen genereert. Als klant ben ik bereid te betalen voor het feit dat ik aantoonbaar bijvoorbeeld 95% bruikbare testgevallen ontvang, terwijl een intern in elkaar “gevibecode” oplossing binnen mijn organisatie misschien niet verder komt dan 50% bruikbare testgevallen.
Die gevibecode-AI-app kan nog steeds waardevol zijn voor teams, maar de professioneel ontwikkelde en met Evaluaite geteste AI-apps scoren systematisch veel hoger. In mijn ogen zit juist in dat verschil in percentages de reden waarom klanten voor een professioneel ontwikkelde AI-app zouden moeten kiezen.
Een concreet concurrentievoordeel
Gebruik je Evaluaite om je AI-apps te testen, dan krijg je niet alleen scherp inzicht in de kwaliteit van je applicatie, maar bouw je ook een concreet concurrentievoordeel op. Heb je een AI-app die je commercieel in de markt wilt zetten, dan biedt Evaluaite een duidelijke manier om je product van de concurrentie te onderscheiden. Dit kun je doen door je scores op de verschillende metrieken open en transparant met de buitenwereld te delen.
Conclusie
AI‑apps zijn overal, maar zonder structurele evaluatie blijven ze in essentie niet‑deterministische black boxes waarvan de kwaliteit lastig te bewijzen is. Door met Evaluaite te werken, vertaal je dat niet‑deterministische gedrag naar voorspelbare kwaliteitsniveaus aan de hand van duidelijke metrieken en thresholds. Daarmee verschuif je van “gevibecoded” naar een professioneel, evidence‑based ontwikkelproces, waarin je niet alleen betere AI‑apps bouwt, maar ook aantoonbaar maakt waarom jouw oplossing meer waard is dan de rest van het veld.

