6.8

View in English

6.8 AI-utvärdering och testning

Översikt och motivation

Att testa vanlig programvara vilar på ett tröstande antagande: givet samma indata returnerar programmet samma utdata, och du kan hävda exakt vad den utdatan ska vara. Artificiell intelligens bryter det antagandet. En modell kan besvara samma fråga på två olika sätt, båda acceptabla. Den kan bedömas på ett spektrum från fel till briljant snarare än godkänd eller underkänd. Och det finns ofta inget enda korrekt svar att hävda mot. Så disciplinen utvärdering, att mäta hur väl en modell beter sig över många representativa fall snarare än att kontrollera en utdata mot ett förväntat värde, blir ryggraden i varje pålitligt AI-system. När team levererar AI-funktioner som genererar dem är grundorsaken nästan alltid att de saknade ett seriöst sätt att mäta kvalitet före release.

För stora team är utvärdering det som gör förändring säker. Ni kommer att byta modeller, skriva om prompter, justera återvinning och lägga till verktyg, och varje sådan ändring kan i tysthet försämra beteende ni trodde var stabilt. Utan ett upprepbart sätt att mäta kvalitet är varje ändring ett hasardspel och varje regression upptäcks av en användare. Det här kapitlet är mätningens följeslagare till byggkapitlen: generativ AI och LLM-applikationer (kapitel 6.3), AI-agenter och agentiska system (kapitel 6.7) och maskininlärningsteknik och MLOps (kapitel 6.2). Det utvidgar er allmänna teststrategi (kapitel 2.4) in i den probabilistiska världen.

Företags- och myndighetsmiljöer höjer insatserna ytterligare. Ett företag som driver dussintals AI-funktioner behöver en gemensam utvärderingsplattform så att varje team inte uppfinner betygsättning på nytt. En myndighet behöver utvärdering som är dokumenterad och granskningsbar, eftersom “vi testade det” måste bli “här är beläggen, datamängden, måttet och godkännandet”. Utvärdering är där ansvarsfull och pålitlig AI (kapitel 6.5) slutar vara ett värdeuttalande och blir något ni kan visa en tillsynsmyndighet.

Nyckelprinciper

  • Behandla utvärdering som en förstklassig produkt, inte en eftertanke påskruvad före lansering.
  • Mät med representativ data som speglar verklig användning, inte lekexempel som smickrar modellen.
  • Kombinera offlineutvärdering för snabb iteration med onlineutvärdering för grundsanning.
  • Använd mänskligt omdöme som ert ankare och kalibrera varje automatisk betygsättare mot det.
  • Skydda dina utvärderingsmängder från kontaminering, annars kommer dina siffror att ljuga för dig.
  • Koppla in utvärderingar i kontinuerlig integration som grindar, så att kvalitet inte i tysthet kan regrediera.
  • Fortsätt mäta i produktion, eftersom kvalitet driver även när din kod inte gör det.

Rekommendationer

Anta utvärderingsdriven utveckling

Innan du justerar en prompt eller väljer en modell, skriv utvärderingen. Det speglar testdriven utveckling: du definierar vad “bra” betyder i mätbara termer och bygger sedan mot det. En utvärdering här betyder en datamängd av indata parade med en poängsättningsmetod som returnerar ett tal eller betyg för varje utdata. Börja smått. Tjugo noga utvalda fall som speglar verklig användaravsikt slår tusen slumpmässiga. Växa mängden när du lär dig var systemet fallerar och lägg tillbaka varje produktionsfel som ett permanent fall så att samma misstag inte kan återvända obemärkt.

Utvärderingsdriven utveckling ändrar teamets beteende. När definitionen av bra är nedskriven och körbar blir argument om huruvida en ändring hjälpte kontrollerbara snarare än en smaksak. Gör utvärderingsmängden till en granskad artefakt i versionshantering, precis bredvid de prompter och den kod den mäter.

Skilj offline- från onlineutvärdering och använd båda

Offlineutvärdering kör en fast datamängd genom ditt system i en kontrollerad miljö, snabbt, billigt och upprepbart, så att du kan jämföra versioner innan något levereras. Onlineutvärdering mäter det levande systemet med verkliga användare genom mått som uppgiftsslutförande, eskaleringsfrekvens, tummen upp och tummen ned samt efterföljande affärsutfall. Offline talar om huruvida en ändring sannolikt är säker. Online talar om huruvida den faktiskt fungerade. Du behöver båda, eftersom offlinemängder aldrig helt fångar verkligheten och onlinesignaler anländer för sent för att vara ditt enda skyddsräcke.

Koppla ihop de två i en loop. När onlinemått viker eller användare flaggar ett dåligt svar, fånga det fallet, märk det och väv in det i offlinemängden. Dirigera experiment genom samma kontrollerade jämförelse du använder för vilken produktändring som helst, vilket är territoriet för produktanalys och experiment (kapitel 7.4). Ett A/B-test som visar att en ny modell höjer uppgiftsframgång är värt mer än vilken offlinepoäng som helst, men offlinepoängen är det som gjorde att du vågade köra testet.

Bygg representativa utvärderingsmängder och skydda mot kontaminering

Din utvärdering är bara så ärlig som dess data. Bygg gyllene datamängder, kuraterade samlingar av indata med verifierade förväntade utdata eller poängsättningsrubriker, som speglar den verkliga fördelningen av vad användare frågar: de vanliga fallen, de sällsynta men kritiska fallen, de motståndarmässiga fallen och de ditt system för närvarande får fel. Stratifiera dem så att du kan läsa kvalitet per segment snarare än att gömma en fallerande kategori inuti ett hyfsat genomsnitt. Låt domänexperter verifiera de förväntade svaren, eftersom en gyllene mängd byggd på felaktiga svar är värre än ingen.

Skydda sedan den datan från kontaminering. Testmängdskontaminering sker när dina utvärderingsexempel läcker in i en modells träningsdata eller i själva prompten, så att modellen verkar prestera väl eftersom den i praktiken har sett svaren. Det är därför en modell kan få briljanta poäng på en publik benchmark och snubbla på din verkliga trafik. Håll en del av din utvärderingsdata privat och skicka den aldrig till en tredje part du inte kan lita på. Uppdatera mängder över tid. Se upp för det subtilare läckaget där utvecklare handjusterar prompter mot utvärderingsmängden tills poängen är meningslös, en form av överanpassning mot testet snarare än genuin förbättring. Håll undan en färsk mängd du bara tittar på ibland.

Välj mått som passar uppgiften

Matcha din mätning mot utdatans form. För klassificering och extraktion, där det finns en korrekt etikett, gäller klassiska mått: precision och täckning (av de objekt du flaggade, hur många var rätt, och av de rätta objekten, hur många hittade du), F-måttet som balanserar dem och exakt matchning. För allt där en säker sannolikhet spelar roll, mät kalibrering, om en angiven säkerhet på 80 procent stämmer ungefär 80 procent av gångerna, eftersom en välkalibrerad modell som vet när den är osäker är långt säkrare än en översäker.

Generativa utdata är svårare. Referensbaserade mått som BLEU och ROUGE, ursprungligen byggda för maskinöversättning och sammanfattning, jämför genererad text mot referenstext genom att räkna överlappande ord och fraser. De är billiga och upprepbara, och de är svaga proxyer för kvalitet: de belönar ytöverlapp och straffar ett korrekt svar formulerat annorlunda än referensen. Använd dem som grova regressionssignaler, inte som din definition av bra. För öppna uppgifter fungerar poängsättning med rubriker bättre: definiera uttryckliga kriterier (är det förankrat, fullständigt, säkert och korrekt formaterat) och poängsätt vart och ett. Rubriker gör subjektiv kvalitet läsbar och granskningsbar.

Använd LLM-som-domare, men kalibrera den mot människor

Att betygsätta generativa utdata för hand skalar inte, så team använder alltmer en stark stor språkmodell som automatisk domare, och promptar den med indata, utdata och en rubrik och ber den poängsätta. Den här LLM-som-domare-ansatsen är snabb och förvånansvärt kapabel, och den bär verkliga partiskheter ni måste hantera. Domare tenderar att föredra längre svar, gynna det första alternativet som visas i en parvis jämförelse (positionsbias), belöna sin egen skrivstil och kan påverkas av flytande men felaktigt resonemang. Okontrollerad ger en partisk domare er självsäkra, precisa, felaktiga tal.

Kalibrera domaren mot mänskliga etiketter. Låt människor betygsätta ett urval, kontrollera sedan hur väl modelldomaren stämmer med dem och fortsätt justera domarprompten tills överensstämmelsen är hög nog att lita på. Minska kända partiskheter medvetet: slumpa alternativens ordning, kontrollera för längd och be om en rubrikförankrad poäng med skäl snarare än ett nakent tal. Behandla domaren som ett mätinstrument som behöver periodisk omkalibrering, inte ett fast orakel. När du bygger domaren, välj som standard den mest kapabla modell som finns, eftersom en svag domare är en svag linjal.

Behåll människor i loopen för grundsanningen

Mänsklig utvärdering förblir ankaret mot vilket varje automatiskt mått mäts, så investera i att göra den väl. Skriv tydliga annoteringsriktlinjer, utbilda dina annotatörer och mät överensstämmelse mellan annotatörer, i vilken grad oberoende granskare ger samma fall samma betyg. Låg överensstämmelse betyder vanligen att din rubrik är tvetydig, inte att dina granskare är slarviga, så rätta rubriken. För domäner med höga insatser, använd kvalificerade experter, inte folkmassearbetare som saknar kontexten att bedöma ett juridiskt eller medicinskt svar.

Gör red team-övningar för säkerhet och motståndsrobusthet

Vanliga utvärderingsmängder mäter om systemet gör rätt sak på rimliga indata. Red team-övningar, att medvetet angripa ditt eget system för att hitta var det beter sig fel, mäter vad som händer under tryck. Sondera efter promptinjektion, jailbreaks, osäkert innehåll, integritetsläckor och partiska utdata. Gör det till en upprepbar svit, inte en engångsövning: förvandla varje lyckad attack till ett permanent regressionsfall så att en rättad sårbarhet förblir rättad. Detta arbete hänger direkt ihop med ansvarsfull och pålitlig AI (kapitel 6.5), och i reglerade miljöer är det ofta beläggen som tillfredsställer en säkerhetsgranskning.

Utvärdera agenter efter uppgiftsframgång från början till slut

Agenter som planerar och agerar över många steg kan inte bedömas en utdata i taget. Det som spelar roll är om hela uppgiften lyckades: bokade agenten mötet, löste ärendet eller slutförde arbetsflödet korrekt och säkert. Bygg uppgiftsutvärderingar i en isolerad miljö där agenten kan agera mot realistiska men säkra testdata och poängsätt slutliga utfall plus trajektorien, det vill säga sekvensen av steg och verktygsanrop den tog för att komma dit. Ett korrekt svar nått genom en farlig eller slösaktig väg är fortfarande ett problem. Detta är väsentligt för AI-agenter och agentiska system (kapitel 6.7), där en enda felaktig åtgärd kan få verkliga konsekvenser.

Koppla in utvärderingar i CI och övervaka produktion

Gör utvärdering automatisk. Kör din offlinesvit i kontinuerlig integration (CI) vid varje prompt-, modell- eller återvinningsändring och grinda sammanslagningar på den på samma sätt som du grindar på enhetstester, en praxis med rötter i din bredare teststrategi (kapitel 2.4). Eftersom poäng är brusiga, grinda på trösklar och trender snarare än att kräva en perfekt körning, och fäll bygget när ett nyckelmått faller under sitt golv eller regredierar bortom en satt marginal. Fortsätt sedan bevaka i produktion: övervaka kvalitetssignaler, utdatafördelningar och indatadrift så att du fångar den långsamma försämring offlinetester missar, vilket hänger ihop med observerbarhetspraxis i maskininlärningsteknik och MLOps (kapitel 6.2). En modell som var noggrann vid lansering kan förfalla när världen den beskriver förändras under den.

Avvägningar: för- och nackdelar

UtvärderingsansatsFördelarNackdelarBäst när
Mänsklig utvärderingHögsta trohet, fångar nyansLångsam, kostsam, svår att skalaGrundsanning, höga insatser, kalibrering av domare
LLM-som-domareSnabb, billig, skalar till stora mängderPartisk, behöver kalibreringFrekventa offlinekörningar på generativa utdata
Referensbaserade mått (BLEU, ROUGE)Billiga, deterministiska, upprepbaraSvag proxy för verklig kvalitetGrova regressionssignaler, inte slutliga domar
Klassiska mått (precision, täckning, F-mått)Objektiva, väl förståddaPassar bara uppgifter med korrekta etiketterKlassificering, extraktion, återvinning
Publika benchmarksJämförbara över modeller, ingen uppsättningKontaminering, dålig passform till din uppgiftTidig modellkortlistning, inte releasegrindar
Onlineutvärdering (A/B, feedback)Speglar verkliga användare och utfallLångsam, anländer efter exponeringBekräfta att en ändring faktiskt hjälpte

Den centrala spänningen är hastighet mot trohet. Mänsklig utvärdering är den mest pålitliga och minst skalbara. Automatisk betygsättning är tvärtom. Lösningen är att lagerindela dem: använd snabba, billiga metoder för konstant iteration, förankra dessa metoder i mänskligt omdöme genom regelbunden kalibrering och reservera full mänsklig granskning för de beslut med högst insatser och för att kontrollera att era billiga mått fortfarande följer verkligheten. En andra spänning är offlinebekvämlighet mot onlinesanning. Offlinemängder låter dig röra dig snabbt men speglar aldrig produktionen fullt ut, så behandla en stark offlinepoäng som tillstånd att köra ett noggrant onlinetest, inte som bevis på att du är klar.

Frågor att diskutera med ditt team

  1. Vad är vår ribba för “bra nog”, och vem äger utvärderingsmängden som definierar den? Varje AI-funktion har en implicit kvalitetströskel, och när den förblir implicit sätter varje ingenjör sin egen på känsla och tvister avgörs av den mest senior i rummet. Att skriva ned ribban som en körbar utvärderingsmängd med målpoäng per segment förvandlar de tvisterna till mätbara frågor. Ta med din nuvarande definition av framgång, datan bakom den och en ärlig redogörelse för vem som faktiskt underhåller den, eftersom en utvärderingsmängd utan ägare ruttnar lika snabbt som all annan ovårdad kod. Besluta om ribban skiljer sig per risknivå, eftersom ett publikt juridiskt svar bör klara en högre ribba än ett internt brainstormingstöd. Svaret bör tala om för er om någon i dag kan leverera en AI-ändring utan någon mätning mellan sig och användare.

  2. Hur vet vi att våra utvärderingstal är ärliga snarare än kontaminerade eller överanpassade? En poäng är bara användbar om den förutsäger verklig kvalitet, och det finns många sätt för den att sluta göra det: benchmarkdata som läcker in i träning, utvecklare som justerar prompter mot testmängden tills talet är meningslöst eller en gyllene datamängd byggd på svar som aldrig verifierades. Ta med belägg för var er utvärderingsdata kom ifrån, hur mycket av den som hålls privat och hur ofta den uppdateras. Diskutera om ni håller en färsk undanhållen mängd ni sällan tittar på, så att ni åtminstone har ett tal ingen har optimerat mot. Om ni inte kan förklara varför era poäng fortfarande skulle hålla på data modellen aldrig har påverkat mäter ni er egen spegelbild.

  3. Var stannar människor i loopen, och hur håller vi våra automatiska domare kalibrerade mot dem? LLM-som-domare och referensmått låter er betygsätta i skala, och de driver från mänskligt omdöme på sätt som är osynliga om ni inte kontrollerar. Ta med er nuvarande överensstämmelsefrekvens mellan automatisk betygsättning och mänsklig granskning, hur nyligen ni mätte den och vilka partiskheter (längd, position, stil) ni har testat för. Besluta vilka beslut som kräver en mänsklig betygsättare oavsett kostnad, vanligen de med högst insatser och de som används för att omkalibrera den automatiska domaren. Prata också om annoteringskvalitet, eftersom en domare kalibrerad mot inkonsekventa mänskliga etiketter ärver den inkonsekvensen. Svaret bör producera ett schema för omkalibrering, inte ett engångsgodkännande.

  4. Vilka AI-ändringar är grindade på utvärdering i dag, och vilka når fortfarande användare på någons tillförsikt enbart? En grind som körs på vissa ändringar men inte andra ger illusionen av säkerhet medan de verkliga regressionerna slinker igenom den ogrindade vägen: en tyst promptjustering, en justering av återvinning, en modellversionshöjning som ingen tänkte räknades som en ändring. För ett stort team växer faran med antalet personer som kan röra en prompt, eftersom varje ogrindad väg är ett sätt att leverera en regression ingen datamängd någonsin såg. Ta med listan över ändringstyper som i dag utlöser offlinesviten i kontinuerlig integration, de som inte gör det och de senaste incidenterna spårade till en ogrindad ändring. Besluta vilken tröskel och trend grinden upprätthåller, eftersom en brusig poäng kräver ett golv och en regressionsmarginal snarare än krav på en perfekt körning. I företags- och myndighetssammanhang, knyt grinden till själva releaseregistret, så att beläggen att en ändring mättes är en del av revisionsspåret och inte en skärmdump någon tog en gång.

  5. Hur mycket spenderar vi på utvärdering, och matchar den utgiften risken för varje funktion? Utvärdering är inte gratis: annoteringsarbete, den beräkning automatiska domare bränner vid varje körning och det stående arbetet att hålla gyllene datamängder representativa kostar alla verkliga pengar, och ett team som aldrig namnger dessa kostnader tenderar antingen att underinvestera i en funktion med höga insatser eller att guldplättera en engångsfunktion. Det konkurrerande draget är mellan trohet och budget, eftersom den mest pålitliga metoden, expertgranskning av människor, också är den minst skalbara, så ni har inte råd med den överallt och måste avgöra var den förtjänar sitt pris. Ta med den nuvarande kostnaden per utvärderingskörning, annoteringstimmar per funktion och en ärlig risknivå för varje system så att rummet kan se var pengarna går mot var faran bor. För ett företag är detta det starkaste argumentet för en gemensam utvärderingsplattform som skriver av annotering och beräkning över många team. För en myndighet bör risknivån kartläggas direkt mot det djup av belägg ett tillsynsorgan senare kommer att kräva.

  6. När en bättre modell anländer, hur snabbt kan vi bevisa om den hjälper, och vem får göra bytet? Värdet av en utvärderingssvit realiseras skarpast den dag en starkare modell släpps, eftersom ett team som kan köra sina gyllene datamängder och sin red team-svit mot den nya modellen på en eftermiddag kan anta förbättringar som ett team som betygsätter för hand missar i månader. Spänningen är mellan hastighet och försiktighet: ni vill röra er den dag en bättre modell dyker upp, och ni kan inte låta ett byte i tysthet försämra en kategori av svar som ert genomsnitt döljer. Ta med den tid det i dag tar att köra en full offlinejämförelse mot en ny leverantör, om era utvärderingsmängder är portabla över modeller och de segment där en regression skulle spela störst roll. I reglerade och offentliga miljöer, namnge vem som har befogenhet att godkänna en modelländring och vilka dokumenterade belägg de kräver, eftersom ett odokumenterat byte av modellen bakom ett medborgarvänt beslut är exakt den sortens ändring en revisor kommer att be er motivera.

Sektorsperspektiv

Startup. Bygg den minsta ärliga utvärdering du kan och låt den växa med produkten. Ett kalkylblad med tjugo till fyrtio verkliga fall, vart och ett med ett verifierat förväntat svar, körd av ett skript före varje sammanslagning, slår varje publik benchmark för din nisch och kostar nästan ingenting. Hoppa över den gemensamma plattformen och LLM-som-domare tills betygsättning för hand faktiskt gör ont, men väv in varje användarrapporterat fel i mängden från dag ett, eftersom den reflexen är det som stoppar samma pinsamhet två gånger.

Småföretag. Du har sannolikt ingen utvärderingsspecialist och köper din AI inbäddad i verktyg, så ditt jobb är att kräva belägg snarare än bygga det. Fråga varje leverantör hur de mätte kvalitet, om de testar på data som liknar din och hur du skulle märka en regression efter en uppdatering du inte valde. Håll en liten privat mängd av dina egna verkliga fall för att själv stickprovskontrollera verktyget, eftersom ett felaktigt automatiskt svar som når en kund kostar dig långt mer än de minuter kontrollen tar.

Storföretag. Priset är en gemensam utvärderingsplattform så att ett dussin team inte var och en uppfinner betygsättning på nytt: ett gemensamt lager för gyllene datamängder, offlinesviter grindade i kontinuerlig integration, registrerade domarprompter med deras kalibreringspoäng och onlinemått per funktion. Lägg styrning ovanpå med risknivåer som sätter den krävda ribban och godkännandet före release, så att en funktion med höga insatser klarar en högre grind än ett internt stöd. Plattformen skriver av annotering och beräkning över team, vilket är det starkaste skälet att bygga en snarare än att låta varje grupp improvisera.

Offentlig sektor. Utvärdering måste vara granskningsbar, inte bara gjord, så arkivera datamängdens version, måtten, granskarens namn och godkännandet som ansvarsbelägg för varje release. En red team-svit bör bevisa att systemet vägrar hitta på policy eller ange lag som saknas i dess källor, och upphandling bör kräva att leverantörer redovisar hur de utvärderade modellen och beviljar portabilitet för er utvärderingsdata. När ett tillsynsorgan frågar hur ni vet att verktyget är säkert måste svaret vara ett daterat register, inte en försäkran.

Exempel

Startup. Ett företag på fyra personer som byggde en AI-assistent för kontraktsgranskning började med ett kalkylblad med fyrtio verkliga klausuler, var och en märkt av deras interna jurist med den risk den borde flagga. Varje promptändring kördes mot den mängden i ett skript före sammanslagning, och poängen skrevs ut i pull requesten. När användare flaggade en missad klausul gick den rakt in i bladet, så att mängden växte med produkten. När volymen steg lade de till en LLM-som-domare för att betygsätta förklaringskvalitet, men först efter att ha kontrollerat att den stämde med juristen på ett urval. Billigt, privat och ärligt slog varje publik benchmark för deras nisch.

Storföretag. En stor bank drev ett dussin AI-funktioner över support, sökning och interna verktyg, och varje team hade betygsatt olika. De byggde en gemensam utvärderingsplattform: ett gemensamt ställe att lagra gyllene datamängder, köra offlinesviter i CI, registrera domarprompter med deras kalibreringspoäng och följa onlinemått per funktion. Styrning låg ovanpå, med risknivåer som satte den krävda ribban och godkännandet som behövdes före release. En ny funktion för bedrägeriförklaringar kunde inte levereras förrän dess utvärderingsmängd var granskad, dess red team-svit godkänd och dess ansvariga ägare undertecknat resultaten. Att återanvända plattformen betydde att team bråkade om sin domän, inte om hur man mäter.

Offentlig sektor. En folkhälsomyndighet driftsatte en assistent för att hjälpa personal att besvara bidragsfrågor utifrån godkänd vägledning. Eftersom ett felaktigt svar kunde påverka någons berättigande måste utvärderingen vara granskningsbar. Varje release körde en dokumenterad utvärderingsmängd som täckte vanliga frågor, gränsfall och motståndsprompter, och resultaten, datamängdens version, måtten och granskarens namn arkiverades som ansvarsbelägg. En red team-svit kontrollerade att systemet vägrade hitta på policy eller ange lag som saknades i dess källor. När ett tillsynsorgan frågade hur myndigheten visste att verktyget var säkert var svaret ett daterat register, inte en försäkran.

Affärsnytta: motiv, ROI och TCO

Utvärdering betalar sig själv genom att göra varje annan AI-investering säkrare och snabbare. Dess avkastning (ROI) syns som färre produktionsincidenter, snabbare iteration eftersom team kan ändra prompter och modeller med tillförsikt och förmågan att anta bättre modeller den dag de anländer eftersom ni kan bevisa om de hjälper. Det tydligaste sättet att värdera den är kostnaden för dess frånvaro: en enda publik hallucination, partisk utdata eller dataläcka kan kosta långt mer i åtgärd, förlorat förtroende och regulatorisk exponering än år av utvärderingsinfrastruktur. Det är skillnaden mellan att hitta en regression i CI gratis och att hitta den i tidningen.

Den totala ägandekostnaden (TCO) är verklig och värd att namnge. Ni betalar för annoteringsarbete, för den beräkning automatiska domare förbrukar och för det löpande arbetet att hålla utvärderingsmängder representativa när användningen skiftar. I företagsskala skriver en gemensam plattform av det mesta av detta över många team, vilket är det starkaste argumentet för att bygga en snarare än att låta varje grupp improvisera. Driv ärendet inför ledningen genom att para en konkret risk (kostnaden för ett enda dåligt publikt svar i din domän) med en konkret förmåga (hastigheten att säkert anta varje ny modell) och genom att ramma in utvärdering som kontrollen som låter organisationen röra sig snabbt utan att röra sig hänsynslöst.

Antimönster och fallgropar

  • Leverans på känsla. Att bedöma AI-ändringar genom att prova några prompter för hand, utan datamängd och utan upprepbar poäng.
  • Benchmarkteater. Att lita på en stark publik benchmarkpoäng som bevis på att systemet passar din uppgift och ignorera kontaminering och fördelningsfelmatchning.
  • Överanpassning till utvärderingsmängden. Att justera prompter mot samma fasta mängd tills talet är högt och meningslöst, utan färsk undanhållen mängd.
  • Okalibrerade domare. Att driftsätta en LLM-som-domare och lita på dess poäng utan att någonsin kontrollera överensstämmelse med mänskliga betygsättare.
  • Måttdyrkan. Att optimera BLEU eller ROUGE som om det vore kvalitet och leverera sämre svar som råkar överlappa referenstexten.
  • Red team-övning en gång. Att angripa systemet en gång före lansering och aldrig förvandla fynd till permanenta regressionstester.
  • Förtroende enbart från offline. Att tro att en bra offlinepoäng betyder att funktionen fungerar, utan onlinemätning av verkliga utfall.
  • Föräldralösa utvärderingsmängder. Datamängder ingen äger, som aldrig absorberar produktionsfel och långsamt slutar spegla verkligheten.

Mognadsmodell

  • Nivå 1, Initiera: AI-ändringar bedöms för hand på några exempel, reaktivt, när någon råkar oroa sig. Det finns ingen datamängd, ingen upprepbar poäng och ingen grind. Regressioner hittas av användare, och ingen kan säga om systemet är bättre eller sämre än förra månaden.
  • Nivå 2, Utveckla: Vissa team håller små gyllene datamängder och kör dem manuellt före stora ändringar, och några klassiska eller referensbaserade poäng finns. Mänsklig granskning sker för viktiga funktioner, men betygsättning är inkonsekvent över team, utvärdering är inte automatiserad eller grindad och varje grupp gör det olika.
  • Nivå 3, Standardisera: Offlinesviter körs i kontinuerlig integration vid varje prompt-, modell- eller återvinningsändring och grindar sammanslagningar, enligt en dokumenterad praxis över hela organisationen. LLM-som-domare är kalibrerad mot mänskliga etiketter, red team-övningar är en upprepbar svit och datamängder är ägda, versionerade och matade av produktionsfel, med kontaminering aktivt bevakad.
  • Nivå 4, Hantera: Utvärdering mäts och styrs med data mot utgångslägen. Överensstämmelsefrekvens mellan domare och människa, andel godkända red team-tester, poäng per segment, uppgiftsframgång online och drift följs över tid, och sammanslagningar grindas på trösklar och regressionsmarginaler snarare än en enda perfekt körning. Annoteringskostnad och beräkning per körning budgeteras per funktion, omkalibrering sker enligt schema och varje resultat bär en ansvarig ägare och ett godkännande.
  • Nivå 5, Orkestrera: En gemensam utvärderingsplattform betjänar hela organisationen, och offline- och onlineutvärdering bildar en kontinuerlig loop knuten till affärsutfall. Nya modeller bevisas mot portabla utvärderingsmängder den dag de anländer, portföljen anpassas när användning och risk skiftar, utvärderingsbelägg är granskningsbara för tillsynsmyndigheter och tillsynsorgan och lärdomar från ett teams misslyckanden flödar in i varje teams datamängder.

Idéer för diskussion

  1. Hur avgör ni när en offlinepoäng är stark nog att motivera ett onlineexperiment, och när den inte är det?
  2. Vilken är den rätta kvoten mellan mänsklig utvärdering och automatisk betygsättning för er riskprofil, och hur ofta bör ni ompröva den?
  3. När en publik benchmark och er privata utvärderingsmängd är oeniga om vilken modell som är bättre, vilken litar ni på och varför?
  4. Hur håller ni en utvärderingsmängd representativ när användarbeteende skiftar, utan att låta den svälla till något för långsamt att köra i CI?
  5. Vad hör hemma i en red team-svit för er domän, och vem är kvalificerad att utforma attackerna?
  6. Hur utvärderar ni en agents trajektoria, inte bara dess slutliga svar, utan att drunkna i kostnaden för att betygsätta varje steg?

Viktigaste punkter

  • AI-utvärdering skiljer sig från programvarutestning eftersom utdata är icke-deterministiska och det sällan finns ett korrekt svar, så ni mäter kvalitet över representativa fall i stället för att hävda exakta värden.
  • Praktisera utvärderingsdriven utveckling: definiera mätbar kvalitet först, bygg sedan mot den och väv in varje produktionsfel i mängden.
  • Lagerindela metoder efter hastighet och trohet: billig automatisk betygsättning för konstant iteration, mänskligt omdöme som ankare och kalibrering för att hålla dem justerade.
  • Skydda mot kontaminering och överanpassning, annars kommer dina siffror att smickra dig medan det verkliga systemet gör användare besvikna.
  • Koppla in offlineutvärdering i CI som en grind och fortsätt mäta kvalitet och drift i produktion, eftersom en modell som var bra vid lansering kan förfalla.

Referenser och vidare läsning

  • Chip Huyen, AI Engineering: Building Applications with Foundation Models.
  • Lianmin Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena.
  • Kishore Papineni et al., BLEU: A Method for Automatic Evaluation of Machine Translation.
  • Chin-Yew Lin, ROUGE: A Package for Automatic Evaluation of Summaries.
  • Percy Liang et al., Holistic Evaluation of Language Models (HELM).
  • Deep Ganguli et al., Red Teaming Language Models to Reduce Harms: Methods, Scaling Behaviours, and Lessons Learned.
  • OWASP Foundation, OWASP Top 10 for Large Language Model Applications.
  • National Institute of Standards and Technology, AI Risk Management Framework.