Utvärdera agenter innan de når produktion
En demo som ser bra ut räcker inte för att släppa en agent mot riktiga verktyg och riktiga data. Vi vill se en uppgiftssvit, en rättare, en regressionssvit, tak för varv och steg, och ett resultat som hör till just den prompt, den modell och de verktyg som ska ut.
Att en demo svarar rätt en gång gör den inte till en agent i produktion. Agenten ska ta en uppgift, anropa verktyg och bli klar. Ibland blir den inte klar. Innan den får riktiga verktyg och riktiga data behöver vi skilja en bra körning från en körning som bara ser färdig ut. Det gör vi med en utvärdering: en uppgiftssvit, en rättare, en regressionssvit, tak för varv och steg, och ett resultat som är bundet till en bestämd revision.
Uppgiftssviter, rättare och regression
En uppgiftssvit är jobben agenten ska klara, nedskrivna innan vi låter den arbeta. Varje uppgift har ett startläge, vilka verktyg som får användas, och vad som räknas som klart. Vägen man hoppas på är en uppgift bland flera. I sviten ligger också det som brukar fälla en agent: information som saknas, ett verktyg som svarar tomt, ett verktyg som svarar fel, och en begäran som ska avvisas.
En rättare sätter betyg på körningen. En del av betyget är mekaniskt. Rätt fil finns. Rätt verktyg anropades. Ett förbjudet verktyg anropades inte. Sluttillståndet stämmer med ett känt facit. En annan del är en rubrik som en människa läser, eller en andra modell som bara får se uppgiften och spåret. Vi håller isär dem. Rubriken kan missa ett felaktigt anrop som den mekaniska kontrollen hade fångat. Den mekaniska kontrollen kan släppa igenom en körning som tog stegen och ändå svarade på fel fråga.
Regressionssviten är den del vi kör om så fort prompten, modellen eller verktygen ändras. Den är mindre än alla experiment vi har provat, och stabil nog att ett fel pekar på ändringen och inte på testet. Fel vi inte vill se igen läggs in. Uppgifter som inte längre beskriver produkten tas bort med flit, i samma ändring som beteendet, så att sviten inte ruttnar i det tysta.
Budget för varv och för steg
En agent som får anropa verktyg fortsätter ibland att anropa dem. En varvbudget sätter tak för hur många modellvarv en uppgift får ta. En stegbudget sätter tak för hur många verktygsanrop, eller hur många steg i ett varv, vi är beredda att betala. Taket hör till uppgiften. Det är inte en dold konstant för allt arbete. Att slå upp ett underlag och att lägga ett ärende ska inte dela budget bara för att de råkar dela modell.
En körning som gör slut på budgeten är underkänd, även när sista meddelandet låter färdigt. Taket finns för att en loop inte ska kunna se upptagen ut bara genom att fortsätta. Det gör också två revisioner jämförbara. Tar sig en revision igenom enbart genom att använda fler varv än taket tillåter, så tog den sig inte igenom.
Höjer vi ett tak skriver vi ned varför. Blir uppgiften aldrig klar innanför taket är den dåligt avgränsad, eller så har agenten gått vilse. Att lägga till varv tills den råkar träffa rätt lär sviten att godta en agent som irrar.
Beviset hör till en revision
Ett resultat är bevis först när det talar om vad som faktiskt kördes. Vi fäster det vid promptens revision, modellens revision och verktygens revision. En ändrad prompt, ett modellbyte, ett ändrat schema och en ändrad text i verktygets svar är olika revisioner. Förra veckans gröna körning följer inte med dagens prompt.
Spåret hör till resultatet. Vilka verktyg som anropades, med vilka argument, vad de svarade, och vad agenten sa till sist. Ett betyg utan spår går varken att felsöka eller att jämföra. Vi lägger resultatet intill revisionen det mätte, så att den som läser senare ser vilken ändring betyget hör till.
Ändras sviten, rättaren eller budgeten är det också en ny revision av själva utvärderingen. Ett högre betyg efter en rättare med lösare kriterier är ingen förbättring av agenten.
Fellägen vi letar efter med flit
Vi väntar inte på produktion för att stöta på dem. Sviten ska kunna locka fram dem.
Loopar. Agenten anropar samma verktyg, eller går samma plan, utan att något nytt har tillkommit. Varvbudgeten stoppar kostnaden. Rättaren ska ändå döma körningen som en loop, inte som ett tidsavbrott som bara hade otur.
Fel verktyg. Agenten anropar ett verktyg den inte har, anropar rätt verktyg med argument som inte följer schemat, eller skriver när uppgiften var skrivskyddad. Spåret visar det. En rättare som bara läser slutsvarat ser det inte.
Påhittade handlingar. Agenten säger att mejlet gick, att posten uppdaterades eller att kontrollen kördes. Spåret saknar anropet. Vi dömer påståendet mot spåret. Ett säkert slutsvar är inget bevis.
Halvfärdigt i det tysta. Agenten gör en del av uppgiften, hoppar över något som måste med, och säger att den är klar. Det är felläget som ser friskast ut i en demo. Uppgiften måste säga vad komplett är. Rättaren måste underkänna det som saknar en obligatorisk del.
Promptinjektion via verktygssvar. Verktyget skickar tillbaka text, och i texten ligger instruktioner. En sida, ett ärende, ett dokument eller en rad i en logg kan be agenten strunta i uppgiften, läcka något, eller anropa ett verktyg som ingen bad om. Sådana exempel hör hemma i sviten. Godkänt betyder att agenten följer uppgiften och behörigheterna, inte texten inuti svaret. Att modellen är duktig räcker inte som kontroll.
Vad som räknas som bra nog
Bra nog är ett beslut om åtkomst, inte en känsla efter en demo. Vi tar det i steg.
Först skrivskyddade verktyg. Agenten får titta, söka och skriva utkast. Den får inte ändra kunddata, skicka ett meddelande eller slå ihop en ändring. Sviten körs mot de verktygen tills spåren liknar uppgiften, inte improvisation.
Sedan data i en sandlåda. Poster, dokument och konton är påhittade, eller kopierade till en plats där en felaktig skrivning inte gör skada. Verktygen har ändå samma form som i produktion, så ett schema som överraskar syns här.
Därefter en grind där en människa godkänner. En skrivning, en sändning, eller något som är svårt att ångra, väntar på en person. Utvärderingen har uppgifter där rätt beteende är att stanna och fråga, och uppgifter där grinden inte ska dyka upp, eftersom handlingen aldrig var tillåten.
Till sist bredare åtkomst, en förmåga i taget. Riktiga verktyg och riktiga data kommer när regressionssviten går igenom på den revision som ska ut, taken fortfarande håller, och en människa kan läsa spåret. Bredare åtkomst är ett eget beslut. En grön svit med skrivskyddade verktyg är inte ett ja till ett skrivverktyg.
Sviten behöver en ägare efter lansering. Modellen kommer att bytas och prompten kommer att ändras. Regressionssviten är det som säger om ändringen ska ut. Att hålla en agent som redan är live är ett annat arbete än att bygga den. Sviten måste fortsätta köras, och ett fel måste nå en människa.
Där det möter ett uppdrag
En enskild agent som ska gå i drift är en Hephaestus-sprint: ett system, ett golden set, övervakningskrokar, en körjournal och ett beslut om den ska skalas. Ett team som ska få in kodagenter i repot går igenom ett AI-kodinförande: vad agenten får röra, hur en ändring bevisas, och en grind innan den landar. En agent som redan är live, och där sviten ska fortsätta köras när modellen eller prompten ändras, ligger på löpande AI-drift.
Utvärderingen ersätter inte körningen runt modellen. Behörigheter, en loop som kan ta slut och en nedteckning av varvet måste finnas ändå. Sviten är hur vi avgör att den körningen får se en riktig uppgift.
Vanliga frågor
Vad är en uppgiftssvit? Jobben agenten ska klara, vart och ett med startläge, tillåtna verktyg och en definition av klart. Där finns de besvärliga fallen, inte bara vägen man hoppas på.
Vad skiljer en rättare från en regressionssvit? Rättaren sätter betyg på en körning. Regressionssviten är den stabila delen som körs om vid varje ändring av prompt, modell och verktyg, så att ett fel pekar på just den ändringen.
Varför fästa resultatet vid en revision? Ett betyg utan prompten, modellen och verktygen som gav det går inte att jämföra med nästa ändring. Förra veckans gröna körning gäller inte dagens prompt.
Vad ska fälla en agent före produktion? En loop som gör slut på budgeten, ett anrop uppgiften inte tillät, en handling agenten påstår men aldrig utförde, en deluppgift som rapporteras som klar, eller en instruktion gömd i ett verktygssvar som agenten lyder. Vilket som helst är skäl att hålla riktiga data borta.
När är en agent bra nog för riktiga verktyg? När regressionssviten går igenom på revisionen som ska ut, taken för varv och steg fortfarande håller, spåret stämmer med det agenten påstår, och en människa fortfarande godkänner det som är svårt att ångra. Skrivskyddade verktyg och sandlådedata kommer först. Bredare åtkomst är ett eget beslut.
Relaterade tjänster
Tjänster som matchar ämnet
Om ni vill ha hjälp med detta är det här teamen som bygger det.
