AI i virksomheder6 min. læsning ·

En grøn testsuite siger ikke om AI-systemet løser opgaven

En sagsbehandler i en a-kasse spørger en AI-assistent om et medlem har ret til dagpenge fra 1. marts. Svaret kan være flydende, korrekt formateret og forkert. Ingen klassisk softwaretest opdager det.

En grøn testsuite siger ikke om AI-systemet løser opgaven

En klassisk test har ét facit: Givet et bestemt input forventer vi et bestemt output, og testen består eller fejler. Generativ AI har ikke ét facit. To forskellige svar kan begge være gode, og et velformuleret svar kan være faktuelt forkert. En test der sammenligner ordret med et reference-svar, kasserer det gode svar med en anden formulering. En formattest godkender det forkerte.

Diagram. Øverst klassisk software: input 2 + 2 går gennem koden til output 4, ét facit, og testen består eller fejler. Nederst generativ AI: et spørgsmål går gennem model og kontekst til tre svar. Svar A er godt og ligner reference-svaret, svar B er godt men formuleret anderledes, og svar C er flydende men faktuelt forkert. En formattest godkender C, en ordret sammenligning afviser B, og kun en rubric vurderer alle tre rigtigt.
Tre svar på samme spørgsmål vurderet med tre testformer. Kun en vurdering af indholdet efter en rubric skelner det gode svar fra det overbevisende forkerte.

Den disciplin vi bruger i stedet, kalder vi EvalOps: definér hvad godt betyder, test det systematisk, styr udviklingen efter resultaterne og bliv ved efter go-live. Hele metoden står i vores white paper Kvalitetssikring af AI kræver mere end test. I praksis ligger det meste af værdien i fem greb.

Succes defineres i arbejdsgangen

Den vigtigste måling er sjældent en generisk score som faithfulness eller answer relevance. Den afhænger af opgaven. For en mødeassistent er det om alle beslutninger kommer med i referatet, og om der står noget som aldrig blev sagt. For en agent der skal booke et møde, er det om mødet bliver booket. For sagsbehandling er det om hver sætning i svaret peger på det præcise afsnit den bygger på.

Rækkefølgen gør også evalueringen forståelig for dem der ejer arbejdsgangen. En afdelingschef behøver ikke vide hvad faithfulness er, for at kunne sige at et svar uden kildehenvisning ikke kan bruges. Den sætning er et succeskriterium, og den kan måles.

Diagram i fire trin: 1 Arbejdsgangen, hvad skal løses? 2 Succes og fejl, hvad er uacceptabelt? 3 Målinger, hvordan måler vi det? 4 Teknologien, vælges til sidst.
Rækkefølgen i EvalOps. Målingerne udledes af arbejdsgangen, og teknologien vælges til sidst.
»Den vigtigste måling er sjældent en generisk score. Den afhænger af opgaven.«

Tre til fem målinger er som regel nok: en eller to der er specifikke for opgaven, og to eller tre der følger arkitekturen. Flere målinger giver et dashboard ingen handler på.

Evalsættet skal indeholde det der går galt

Et evalueringsdatasæt der kun indeholder de spørgsmål systemet allerede svarer rigtigt på, måler ingenting. Det skal også rumme svære cases, edge cases og kendte failure modes: uklare spørgsmål, modstridende oplysninger og spørgsmål uden svar i vidensbasen.

Hver fejl der dukker op i drift, føjes til sættet. Så bliver den ikke bare rettet én gang. Den bliver en regressionstest der fanger den hvis den kommer tilbage.

Diagram over et evalueringsdatasæt i fem lag, der vokser for hver fejl i drift. Nedefra: typiske cases viser at systemet løser hverdagen. Svære cases viser hvor grænsen går. Edge cases fanger det der sjældent sker. Kendte failure modes holder kendte svagheder ude. Fejl fra produktion gør hver fejl fra drift til en regressionstest.
Et evalueringsdatasæts opbygning. De nederste lag viser at systemet virker, de øverste hvor det fejler.

Datasættet versioneres sammen med systemet. En score hører til en bestemt version af sættet, og to scores målt på forskellige versioner kan ikke sammenlignes direkte.

Uden komponentmålinger ved du ikke hvad der skal rettes

Når en RAG-løsning giver et forkert svar, kan fejlen ligge tre steder. Søgningen fandt aldrig det relevante dokument. Den fandt det, men irrelevante tekststykker blev prioriteret højere. Eller modellen fik den rigtige kontekst og skrev alligevel noget den ikke bar.

Slutresultatet er det samme forkerte svar i alle tre tilfælde. Rettelsen er forskellig: anden chunking eller flere søgeresultater i det første, en reranker i det andet, prompt og krav om kildehenvisning i det tredje. Kun målinger på komponentniveau kan skelne dem: context recall, context precision og faithfulness.

Diagram over en RAG-løsning: spørgsmål, retrieval der finder dokumenter, kontekst med udvalgte tekster, sprogmodel der skriver svaret, svar. Answer relevance måles end-to-end. Under retrieval står context recall, under kontekst context relevance og context precision, under sprogmodellen faithfulness. Tre fejlsteder: 1 ikke fundet, lav context recall, hjælper chunking og top-K. 2 forkert prioriteret, lav context precision, hjælper en reranker. 3 påstand uden belæg, lav faithfulness, hjælper prompt og kildekrav.
Tre steder en RAG-løsning kan fejle, og de målinger der afslører dem.

End-to-end-evaluering fortæller hvad der går galt. Komponenterne fortæller hvor. For agenter gælder det samme: Tool correctness viser om agenten brugte de rigtige værktøjer, og task completion viser om opgaven faktisk blev løst. Korrekte trin er ikke det samme som en løst opgave.

En AI-dommer skal kalibreres før den må dømme

De fleste kvalitetsspørgsmål i generativ AI kan ikke afgøres med pass/fail. Der findes ikke ét korrekt resumé. Derfor lader vi en anden sprogmodel vurdere svarene efter en klart defineret rubric. Det gør det muligt at evaluere langt flere svar ved hver ændring, end et menneske kan nå.

Men dommeren er selv en sprogmodel. Dens vurderinger kan flytte sig med formuleringen af kriterierne og med den rækkefølge svarene præsenteres i. Derfor vurderer mennesker først et referencesæt, og vi måler om dommeren er enig med dem. Først når enigheden er høj nok, kører dommeren på alle cases, og målingen gentages hver gang dommerens model eller prompt ændres.

Flowdiagram: 1 mennesker vurderer et referencesæt. 2 AI-dommeren vurderer de samme cases. 3 Enighed: dommer og mennesker sammenlignes. Er enigheden høj nok? Nej: justér rubric og dommerens prompt og vurdér igen. Ja: 4 i drift, dommeren vurderer alle cases, med løbende stikprøver hvor mennesker vurderer igen.
Kalibrering af en AI-dommer. Dommeren tages først i brug når den er enig nok med menneskelige vurderinger.

Hårde krav afgøres før dommeren overhovedet ser svaret, med deterministiske ja/nej-tjek: Har svaret det krævede format? Har hver påstand en kildehenvisning? Et svar uden kildehenvisning fejler uanset hvor godt det i øvrigt er formuleret.

Flowdiagram: et svar tjekkes først for krævet format, ja eller nej, derefter for kildehenvisning pr. påstand, ja eller nej. Kun ved to ja vurderer AI-dommeren svaret efter rubric med score og begrundelse. Et nej betyder at svaret fejler uanset formulering.
Hårde krav afgøres deterministisk før dommeren ser svaret.

Evals er en quality gate, også efter go-live

Den egentlige værdi kommer når evalsættet kører automatisk hver gang nogen ændrer model, prompt, retrieval, chunking eller agentlogik. Falder en kritisk måling under det aftalte niveau, stoppes deploymentet, på samme måde som en build stoppes af fejlede tests. Tærsklen sættes pr. måling og pr. use case, efter hvad en fejl koster i den konkrete arbejdsgang.

Diagram: en ændring i model, system prompt, retrieval, embeddings, chunking, værktøjer eller agentlogik får evalsættet til at køre automatisk. Resultatet går gennem en quality gate med minimumskrav pr. måling. Er alle krav opfyldt, går deploymentet videre. Er en måling faldet, stoppes det.
Evals som quality gate. En kritisk måling under det aftalte niveau stopper deploymentet.

Det ændrer samtalen i teamet.

Før

Den nye model virker umiddelbart bedre.

Nu

Den nye konfiguration forbedrer task completion, holder minimumskravet til faithfulness og reducerer latency.

Evalueringen stopper ikke ved go-live. Brugerne finder nye anvendelser, datagrundlaget ændrer sig, og eksterne modeller kan skifte adfærd uden at nogen har rørt systemet. Rettelser, overrides og eskalationer til mennesker er de mest ærlige kvalitetssignaler vi har. De vigtigste af dem bliver nye cases i evalsættet.

Cirkeldiagram med EvalOps i midten, en cyklus og ikke en fase. Produktion, systemet i brug. Observation af rettelser og eskalationer. Ny eval-case, fejlen bliver en case. Forbedring af model, prompt eller data. Regressionstest, hele evalsættet kører. Ny deployment, kun hvis gaten består. Så tilbage til produktion.
Feedback-loopet fra drift til evalsæt. Ingen ny deployment går ud uden at hele evalsættet har kørt igen.

Den vigtigste måling ligger i arbejdsgangen

En højere faithfulness-score er ikke det samme som mere produktive medarbejdere. En agent kan løse flere opgaver korrekt og samtidig skabe så meget kontrolarbejde at den samlede proces bliver langsommere. Tekniske målinger er leading indicators. De skal løbende holdes op mod det der sker i arbejdsgangen, og stiger scoren uden at arbejdsgangen bliver bedre, måler vi det forkerte.

Diagram der parrer tekniske målinger, leading indicators, med effekten i arbejdsgangen: faithfulness med færre manuelle rettelser, answer relevance med kortere sagsbehandlingstid, task completion med højere automatiseringsgrad, retrieval quality med højere præcision i analysen. Koblingen valideres løbende: flytter målingen faktisk effekten?
Tekniske målinger som leading indicators. Koblingen er en hypotese der skal efterprøves, ikke en antagelse.

I en løsning vi har udviklet til a-kassesektoren, er den tekniske måling at hvert svar peger på paragrafgrundlaget. Effekten i arbejdsgangen er at antallet af manuelle lovopslag pr. sag ligger på 0–1. I en leverance til forsikrings- og pensionsbranchen trækker vi forsikringsdata ud med cirka 98 % præcision til Open Finance og FiDA. De sidste 2 % bliver ikke gemt væk, fordi et system der ikke kan sige hvor det er usikkert, ikke kan bruges til noget med retsvirkning.

0–1
manuelle lovopslag pr. sag i en løsning til a-kassesektoren. Den tekniske måling er kildehenvisningen til paragrafgrundlaget.
ca. 98 %
præcision på forsikringsdata i en leverance til forsikrings- og pensionsbranchen, til brug for Open Finance og FiDA.

For systemer der klassificeres som højrisiko efter AI-forordningen, er det her ikke kun god praksis. Forordningen kræver test mod forud definerede metrikker og tærskler, automatisk logning og systematisk overvågning efter ibrugtagning. En organisation der allerede måler kvalitet systematisk, har dokumentationen klar når tilsynet spørger.

Det enkleste sted at begynde er én test: Kan I køre den samme evaluering igen i morgen og få et tal I kan sammenligne med dagens? Hvis ikke, har I en vurdering og ikke en måling.

Ofte stillede spørgsmål

Du behøver ikke have svaret. Kom med ambitionen - resten former vi sammen.