Ugrás a tartalomra
29/3029/30. fejezet

LLM-értékelés: nyilvános benchmarkoktól a saját golden setig

Ugyanaz az agent, ugyanaz a feladat, tíz futás. Hét siker 70%-nak látszik, amíg ki nem számolod a pass^10-et: pontosan nulla.

Ezen az oldalon

Íme egy bemutató. A 23. fejezet agentje — ugyanaz a loop, a négy tool közül kettő — kap egy öt log- és konfigurációs fájlból álló könyvtárat, és egyetlen kérdést.

TEXT
Q: What is the last line of errors.log about?
   turn 1  -> read_file({"path": "errors.log"})
   turn 2  -> "The last line of errors.log is:

               ERROR worker 7 timed out after 30000 ms."

Helyes, és semmit nem bizonyít — mert ez a transcript egy a tízből, amelyet lefuttattam, és azután választottam ki, hogy mind a tízet láttam.

Futtasd le ugyanazt a feladatot tízszer, semmit nem változtatva a sampling seed kivételével, és az agent hétszer találja el. Hetven százalék: ez kerülne a slide-ra. Most tedd fel azt a kérdést, ami az ügyfelet valójában érdekli — minden alkalommal működni fog? — és a válasz egészen más szám:

TEXT
t20  7/10 successes = 70 %   (95 % Wilson interval: 39.7 % to 89.2 %)
     pass^1  70.00 %      pass^5   8.33 %
     pass^2  46.67 %      pass^7   0.83 %
     pass^3  29.17 %      pass^8   0.00 %
     pass^4  16.67 %      pass^10  0.00 %

Az agent még soha nem oldotta meg ezt a feladatot tízszer egymás után, és ezek alapján nem is várható tőle. Ez a szám — pass^10 — az őszinte szám; szinte soha nem publikálják, és a fejezet végére tudni fogod, hogyan kell kiszámolni, mennyibe kerül kiszámolni, és miért fontosabb a 70% melletti intervallum magánál a 70%-nál.

Részletek megjelenítése

Amire ennek a fejezetnek szüksége van a korábbiakból.

  • 4. fejezet a statisztikához: a Wilson-intervallum egy arányon, az ok, amiért a húszból tizenhét helyes nem különböztet meg semmit, és a buta baseline mint első követelmény.
  • 15. fejezet a benchhez: az ötvensoros harness, a párosított előjelteszt azokon az eseteken, ahol két rendszer eltér, és a szabály, hogy egy promptot mérni kell, nem megvitatni.
  • 23. fejezet a mérendő dologhoz: a loop, az öt kijárat, a költségelszámolás, és a záró megfigyelés, hogy egy harness kormányozhatóvá tesz egy agentet, de nem teszi helyessé.

Két panel lesz. TypeScript a saját értékelésedhez, mert annak a kódod mellett, a continuous integrationben van a helye. Python a második panelhez, mert a nyilvános benchmarkok ott élnek, és az alábbi mérések egyikéhez logitokra van szükség.

Az értékelésről szóló viták többségében két ember különböző dolgokat mér. Három projekt van, és nincs közös műszerük.

amit értékelsza kérdésa műszerkié
a modellez a modell általában jobb annál?nyilvános benchmarkok, ranglistáka közösségé
az alkalmazásodműködik a promptom, a retrievalöm, a sémám a saját inputjaimon?a saját golden seteda tiéd
az agenteda teljes loop, toolokkal és mellékhatásokkal, megbízhatóan eléri a célt?feladatsiker plusz pass^ka tiéd

A zavar az egyik irányban drága. Egy ranglista megmondhatja, hogy egy modell erős posztgraduális szintű következtetésben; azt nem mondhatja meg, hogy jól fogja-e route-olni a support jegyeidet. És egy alkalmazásértékelés, amely inputonként egy választ pontoz, egy agentet egyáltalán nem lát, mert egy agent trajektóriák eloszlásával rendelkezik, egy válasz pedig ennek egyetlen mintája. A 22. fejezet megnevezte ezt a harmadik sort, és üresen hagyta: a teljesítménymutatót, az agent specifikációjának azt az egy részét, amelyet a csapatok utoljára írnak le, vagy soha.

A sorrend is számít, és ezt az a vendor is kimondja, aki a modellt eladja neked. Az OpenAI agent útmutatója a modellválasztást három lépésre redukálja, ebben a sorrendben: „Set up evals to establish a performance baseline”, „Focus on meeting your accuracy target with the best models available”, „Optimize for cost and latency by replacing larger models with smaller ones where possible”.1 Az értékelés jön először, mert a második és harmadik lépés szám nélkül értelmetlen.

A golden set, és mit vesz valójában húsz eset

Link a szakaszhoz: A golden set, és mit vesz valójában húsz eset

A golden set inputok listája, mindegyikhez leírt válasszal, és egy graderrel, amely eldönti, hogy egy output megfelel-e. Unalmas, kicsi, és ebben a fejezetben az egyetlen artefaktum, amely a tiéd. Az itt felépített készlet húsz feladatot tartalmaz egy öt fájlból álló könyvtáron — nem a 23. fejezet három fájlján, tehát a válaszok nem ugyanazok —, és a grader még az agent futása előtt készül el:

golden.tsTS
export type Task = {
  id: string;
  prompt: string;
  answer: string;          // the fact, in words, for a human and for a judge
  must: RegExp[];          // ALL must match the final answer
  mustNot?: RegExp[];      // NONE may match
};

export const GOLDEN: Task[] = [
  { id: "t04", prompt: "Which file is the largest?", answer: "access.log",
    must: [/access\.log/i], mustNot: [/errors\.log/i, /notes\.txt/i] },       
  { id: "t12", prompt: "Which HTTP status codes appear in access.log? List all of them.",
    answer: "200, 429 and 500", must: [/200/, /429/, /500/] },                
  // ...eighteen more
];

Két tulajdonság tartja az egészet. A mustNot lista azért létezik, mert az a modell, amely három fájlt nevez meg, köztük a helyessel, még nem válaszolt. A answer pedig prózában és mintákban is le van írva, mert később embernek és judge-nak egyaránt szüksége lesz rá — és ugyanannak a ténynek két jelölésben való leírása az a mód, ahogy kiderül, hogy te magad sem értettél egyet magaddal abban, mi volt a feladat.

Most a döntő táblázat. Négy jelöltrendszer, ugyanaz a húsz feladat, pontosság intervallummal, és az a két oszlop, amelyet a puszta pontosságtáblázatok mindig elrejtenek:

systemhelyespontosság, 95% Wilsonköltség megoldott feladatonkéntátlagos latency
A — nincs tool, greedy2/2010,0% [2,8, 30,1]$0.004649663 ms
B — toolok, tömör prompt5/2025,0% [11,2, 46,9]$0.0055761.362 ms
C — toolok, irányított prompt2/2010,0% [2,8, 30,1]$0.013071930 ms
D — C, best of 3 T = 0.7 mellett1/205,0% [0,9, 23,6]$0.0735322.628 ms

Előbb az intervallumokat olvasd, csak utána a győztest. A B kar 11%-tól 47%-ig fut; az A kar 3%-tól 30%-ig. Hosszuk nagy részén átfednek, vagyis a 4. fejezet állítása pontosan ott érkezik meg, ahová ígértük: húsz eset nem tud négy rendszert rangsorolni. A 15. fejezet ezt úgy élezte ki, hogy inkább a párosított kérdést tette fel — azokban az esetekben, ahol két kar eltér, mennyire egyoldalú a megoszlás? —, mert a készlet közös nehézsége kiesik. Íme minden pár:

TEXT
A vs B  +0 / -3   p = 0.2500       B vs C  +4 / -1   p = 0.3750
A vs C  +2 / -2   p = 1.0000       B vs D  +4 / -0   p = 0.1250
A vs D  +2 / -1   p = 1.0000       C vs D  +1 / -0   p = 1.0000

A hat összehasonlítás közül egyetlenegy sem bizonyított. A legjobb kar tizenöt ponttal veri a tool nélküli kart, és ez három discordant eseten nyugszik. Húsz eset mechanizmust mutat, de nem választ beszállítót; az ellenkezőjét mondani egy meetingben az a mód, ahogy rossz modellt vásárolnak.

Egy dolgot viszont ez a táblázat tényleg bizonyít, mégpedig azt az oszlopot, amelyet senki nem tesz bele. A D kar tizenháromszor annyiba kerül megoldott feladatonként, mint a B, mert három trajektória samplingelése és a modális válasz kiválasztása akkor is megháromszorozza a számlát, ha a pontosságot nem háromszorozza meg. A költséget kihagyó pontosságtáblák láthatatlanná teszik ezt a cserét.

Most jön az a felismerés, amely megváltoztatja, hogyan olvasol majd minden benchmarkot, amit valaha látsz. Vedd ugyanazt a kétszáz transcriptet — húsz feladat, tíz futás, egyetlen token sincs újragenerálva —, és pontozd háromféleképpen:

graderhelyespontosság, 95% Wilson
exact match az írott válaszhoz0/2000,0% [0,0, 1,9]
az írott válasz substringként szerepel26/20013,0% [9,0, 18,4]
a fenti kulcsszavas rubric52/20026,0% [20,4, 32,5]

Nulla, tizenhárom, huszonhat. A rendszer nem változott. A grader változott. Az exact match nem azért ad nullát, mert az agent használhatatlan, hanem mert egy szabad szöveges válasz soha nem byte-ra azonos a referenciával: formázást mér, és képességként jelenti.

Ez nem érdekesség, hanem mechanizmus, és neve is van. A hard-cutoff metric több résztényen pontoz egy feladatot mindent-vagy-semmit módon, ezért összeszorzódik. A t12 feladat három státuszkódot kér egyszerre. A tíz futásban:

TEXT
per-code presence   200: 9/10    429: 6/10    500: 8/10    (mean 0.77 per fact)
all three at once   5/10

Mindegyik tény az esetek nagyjából háromnegyedében helyes; mindhárom egyszerre való megkövetelése megfelezi a pontszámot, és a 0.773=0.4570.77^3 = 0.457 elég közel van a mért 0,50-hez ahhoz, hogy megmutassa, honnan jött az esés. Általánosítva:

tényenkénti pontosság ppk=1k=1k=2k=2k=3k=3k=5k=5k=10k=10
0,6060,0%36,0%21,6%7,8%0,6%
0,8080,0%64,0%51,2%32,8%10,7%
0,9090,0%81,0%72,9%59,0%34,9%
0,9595,0%90,3%85,7%77,4%59,9%

Olvasd össze a 0,90-es sort a 0,95-össel k=10k = 10 mellett: egy tényenkénti ötpontos javulás huszonöt ponttá válik a konjunkción. A modellel nem történt semmi diszkontinuus. Egy sima görbe mindent-vagy-semmit metrikán át olvasva ugrásnak látszik — pontosan ezt az érvet hozta Schaeffer, Miranda és Koyejo az emergens képességekről, és ezt halasztotta ide a 10. fejezet.2 Auditjuk szerint a BIG-Bench 39 preferált metrikájából legfeljebb 5 mutat egyáltalán emergenciát, és két diszkontinuus metrika felel a bejelentett esetek több mint 92%-áért.

A fegyelem tehát egy mondatban: egy grafikonon látható ugrás először a metrikáról szóló bizonyíték, amíg be nem bizonyosodik az ellenkezője. Mielőtt elhiszed, hogy megjelent egy képesség, rajzold fel ugyanazokat a futásokat részpontszámot adó metrikával, és nézd meg, túléli-e a szakadék.

Ennek van egy másodrendű változata is, amely Kalai és kollégái szerint már upstream kárt okoz: a helyes-vagy-helytelen módon pontozott benchmarkok a találgatást jutalmazzák az „nem tudom” helyett, ezért az ellenük optimalizált modell megtanul találgatni. Javasolt javításuk nem egy újabb hallucinációs benchmark, hanem „a félreigazított, de a ranglistákat domináló meglévő benchmarkok pontozásának módosítása”.3 A te golden setedben ugyanez a kar egyetlen sor: döntsd el, hogy a tartózkodás hibának számít-e vagy saját kategóriának. A legtöbben soha nem döntenek, ezért csendben hibának számít, és a shipelt rendszer találgat.

pass^k, és a variancia, amit senki nem publikál

Link a szakaszhoz: pass^k, és a variancia, amit senki nem publikál

Eddig minden egy feladatonkénti egy próbálkozást pontozott. Egy agent nem egy próbálkozás. A 17. fejezet megmutatta, hogy még temperature nulla mellett sincs determinizmus, tehát ugyanaz az input trajektóriák eloszlását adja, és az a benchmark, amely minden feladatot egyszer futtat, ennek egyetlen mintáját jelenti.

A τ-bench hozzájárulása ehhez a metrika. A paper egyszerűen definiálja: „we propose a new metric – pass^k (pass hat k), defined as the chance that all k i.i.d. task trials are successful, averaged across tasks.”4 Futtasd minden feladatot nn alkalommal, számold meg a cc sikert, és a torzítatlan becslők:

passk=Etask ⁣[(ck)(nk)]pass@k=1Etask ⁣[(nck)(nk)]\text{pass}^k = \mathbb{E}_{\text{task}}\!\left[\frac{\binom{c}{k}}{\binom{n}{k}}\right] \qquad \text{pass@}k = 1 - \mathbb{E}_{\text{task}}\!\left[\frac{\binom{n-c}{k}}{\binom{n}{k}}\right]

A második a kódgenerálásból ismert pass@k: annak esélye, hogy kk próbálkozásból legalább egy sikerül. Tedd őket egymás mellé ugyanazokon a mért számlálásokon, és ellentétes irányba mozognak:

kkpass@k — legalább egypass^k — mindegyik
126,0%26,0%
237,0%15,0%
343,5%10,5%
551,2%6,7%
857,7%5,1%
1060,0%5,0%

Ugyanazok a futások, ugyanaz a grader, ugyanaz a húsz feladat. Az egyik oszlop azt mondja, hogy a rendszer javul több próbálkozással, a másik azt, hogy romlik, és mindkettő igaz, mert más kérdésre válaszolnak. A pass@k a jó metrika, amikor ember szűri az outputot — kódgenerálásnál, vázlatoknál, ötletelésnél —, és az extra próbálkozások olcsók. A pass^k a jó metrika, amikor az agent szűrő nélkül cselekszik, márpedig ezt jelenti az „agent”. Az első publikálása ott, ahol a második érvényes, a terület leggyakoribb túlzása, és a τ-bench saját főcíme az őszinte verzió: gpt-4o retailen nagyjából 61% pass^1 értékről körülbelül 25%-ra esik pass^8 mellett.4

Most a csípős rész a saját számaimban. A pass^10 a húsz feladatomon 5,0%: pontosan egy feladat húszból sikerült mind a tíz futásban. Ez a feladat a t19, „Sikerült a deploy 42?”, és itt van két válasz a tízből, amelyet a rubric helyesnek pontozott:

TEXT
run 2  "To check if 'deploy.log' succeeded in deploying 42, I will list the file
        names in the working directory using the list_files function..."
run 8  "Yes, deploy 42 has successfully deployed. Deploying was successful for 41
        as well."

Az első soha nem válaszol. A második hozzátesz egy hamis állítást — a deploy 41-et visszagörgették. Mindkettő illeszkedett a /succe|yes/ mintára. Az egyetlen feladat, amely a pass^10 értéket nulla fölött tartja, grader-artefaktum, tehát a valódi szám nulla, és ezt semmilyen aggregátum nem mutatta volna meg. A legjobb pontszámú feladat mögötti transcriptek samplingelése az a hely, ahol a graderek meghalnak.

És még egy szám, amelyről ez a szakasz a nevét kapta. Tíz azonos értékelés — ugyanaz a rendszer, ugyanaz a húsz feladat, ugyanaz a kód, semmi nem változott a seedeken kívül:

TEXT
per-run correct: 5 2 5 5 8 5 8 5 4 5   ->  10 % .. 40 %,  mean 26.0 %,  sd 8.8 points

Harmincpontos tartomány egy olyan rendszeren, amely nem változott. Ha a suite-odat egyszer futtatod release előtt és egyszer utána, egy nyolcpontos „javulás” ezen a szóráson belül van, és úgy shippeled, hogy azt hiszed, te okoztad. Ezért túl szűk önmagában idézni a fenti pooled intervallumot — 26,0% [20,4, 32,5] —: kétszáz korrelált próbát kezel kétszáz függetlenként. Egy agent-értékelés őszinte összefoglalója egy átlag és a repeat-ek közötti szórás, és a másodikat szinte senki nem publikálja.

A judge, és a judge saját golden setje

Link a szakaszhoz: A judge, és a judge saját golden setje

A rubricek nem skálázódnak nyílt végű válaszokra, ezért a standard lépés az, hogy egy modell osztályozza az outputot. Frontier méretben elég jól működik ahhoz, hogy ez legyen az alapértelmezés, és három néven nevezett hibamódja van: pozíciótorzítás, verbosity bias és self-enhancement bias.5

Mérd meg, mielőtt megbízol benne. Ugyanazt a hatvan választ — a tíz futás közül hármat — háromféleképpen címkéztük. Az emberi címke az enyém: mind a hatvanat elolvastam az öt fájllal megnyitva, és egy írott szabályt alkalmaztam: pass akkor és csak akkor, ha a válasz kimondja a kérdés által kért tényt, és nem tartalmaz semmit, amit a fájlok cáfolnak.

graderpass-t mondegyezik az emberrelfalse passfalse fail
kulcsszavas rubric17/6050/60 = 83,3% [72,0, 90,7]82
a modell mint judge60/6011/60 = 18,3% [10,6, 29,9]490

A judge hatvanszor mondott PASS-t hatvanból. Ezt az agentet 100%-os pontosságúnak jelentette volna egy olyan készleten, ahol az ember 18%-ra pontozza. Egy diszkriminatív erő nélküli judge nem zajos műszer; konstans függvény, a konstans függvény pedig a legjobb és a legrosszabb rendszerednek ugyanazt a pontszámot adja.

A prompting nem mentette meg. Négy variáns, ugyanaz a hatvan elem:

judge promptpass-t mondegyezés az emberrel
„Reply PASS or FAIL.”60/6018,3%
„Reply FAIL or PASS.” — felcserélt címkék56/6025,0%
plusz explicit lista arról, mi számít hibának55/6026,7%
plusz egy kidolgozott FAIL példa és egy PASS példa56/6025,0%

A két címke sorrendjének felcserélése az instrukcióban négy ítéletet mozdított el. Ez mérhető hatás, és a rossz fajta hatás: a judge a prompt alakjára reagál, nem az előtte lévő válaszra.

A tiszta demonstráció páros. Húsz kérdés, mindegyikhez egy nyilvánvalóan helyes és egy nyilvánvalóan rossz jelölt, mindkét sorrendben bemutatva:

TEXT
picked the FIRST option              40/40 = 100.0 %
order-consistent (same winner both ways)   0/20 = 0.0 %   [Wilson 0.0, 16.1]
picked the CORRECT answer            20/40 = 50.0 %

Negyvenből negyvenszer az A pozíciót választotta. Az 50%-os helyesség nem részleges kompetencia — aritmetika, mert a helyes válasz pontosan a próbák felében ül A pozícióban. A konzisztenciát itt úgy definiáljuk, ahogy az MT-Bench: „the percentage of cases where a judge gives consistent results when swapping the order of two assistants”, így az összehasonlítás almát almával vet össze: GPT-4 ezen a mércén 65,0%-ot ér el, és few-shot prompting 77,5%-ra emelte.5 Az enyém nulla.

A standard mitigáció szintén ebből a paperből jön: „call a judge twice by swapping the order of two answers and only declare a win when an answer is preferred in both orders.”5 Alkalmazd itt, és a judge nulla használható ítéletet ad húsz párból — ez a helyes eredmény, és végtelenül jobb húsz magabiztosnál.

Egy módszertani megjegyzés, amely többet ér az eredménynél. Futtattam verbosity tesztet is: ugyanaz a helyes válasz, az egyik példány 36 szavas, semmit hozzá nem tevő mondattal kitöltve. A judge pontosan a próbák 50%-ában preferálta a hosszabb verziót — ami úgy néz ki, mint a verbosity bias hiánya, de egyáltalán nem az, mert egy judge, amely mindig az A pozíciót választja, bármilyen kiegyensúlyozott párosításon 50%-ot ér el. Nem mérhetsz második torzítást, amíg az első nincs kontroll alatt. A pozíciók felcserélése nem későbbi finomítás; ez tesz minden más mérést értelmezhetővé.

Mire való egy judge. Nyílt végű válaszokra, amelyeknek nincs parse-olható formájuk: hangnemre, lefedettségre, arra, hogy egy idézet alátámasztja-e a mondatát, vagy helyénvaló volt-e a refusal. Olcsó, gyors, és nagyjából olyan jó, mint az alapmodellje.

Mire nem való egy judge. Ground truthnak. Olyan rendszer, amelynek van pontossága, torzításprofilja és költsége, és saját, emberi címkés golden setre van szüksége — ismert hibákkal együtt —, mielőtt bármely általa előállított szám bármit jelentene.

Az őszinte kikötés: ez a judge félmilliárd paraméteres modell, és senkinek nem kellene ilyennel osztályoznia. Nem az a lényeg, hogy a judge-ok rosszak. Hanem az, hogy a fenti számok előállítása nyolc percbe került, és nélkülük ennek a judge-nak az ítélete egy shipping döntésről 100% lett volna.

Második panel: Python, és egy szonda contaminationre

Link a szakaszhoz: Második panel: Python, és egy szonda contaminationre

Ez a kurzus harmadik és utolsó deklarált Python panelje, és az ok az, ahonnan a nyilvános számok jönnek. A lm-evaluation-harness „over 60 standard academic benchmarks for LLMs, with hundreds of subtasks and variants implemented” lefedését adja, és „the backend for Hugging Face's popular Open LLM Leaderboard”; a HELM, a SWE-bench és a τ-bench Python csomagok Python belépési pontokkal.6 A published figure elleni modellfuttatás azt jelenti, hogy az ő kódjukat futtatod, és azon a napon, amikor egy valaki által idézett számmal akarsz összevetni, ebben az ökoszisztémában vagy:

terminalBASH
lm_eval --model hf \
    --model_args pretrained=EleutherAI/gpt-j-6B \
    --tasks hellaswag \
    --device cuda:0 \
    --batch_size 8

A második ok az, hogy ebben a fejezetben egy mérés HTTP-n keresztül lehetetlen. Contamination — amikor a tesztkészlet kiszivárgott a training data-ba — az a hiba, amely egy nyilvános benchmarkot csendben értelmetlenné tesz, és a legélesebb szonda hozzá a modell saját lossát igényli, amit semmilyen chat API nem ad vissza. Ez a 8. fejezet tokenenkénti cross-entropyje, egy memóriáról szóló kérdésre irányítva:

contamination.pyPYTHON
def nll(text: str) -> float:
    """Mean negative log-likelihood per token, in nats."""
    ids = tok(text, return_tensors="pt").input_ids.to(model.device)
    with torch.no_grad():
        out = model(ids, labels=ids)
    return float(out.loss)

Tíz mondatpár: öt, amely a web minden crawl-jában benne van, amióta létezik, és öt, amelyet ma reggel írtam ehhez a fejezethez; mindegyik egy ugyanazt a tartalmat hordozó átfogalmazással párosítva.

készletkanonikus megfogalmazásátfogalmazottrés
híres, 5 átlaga1,213,03+1,83
friss, 5 átlaga5,025,96+0,93

A modell négyszer jobban meglepődik egy ma reggel írt mondaton, mint olyanon, amelyet milliószor látott, és az átfogalmazás kétszer annyiba kerül a híreseknél — a pluszköltség az a rész, amelyet memorizált, nem megértett. Az abszolút loss összekeveri a memorizálást a hétköznapi természetességgel, ezért a rés a jobb statisztika, a folytatási teszt pedig még jobb. Add meg az első hat szót:

TEXT
famous  "Permission is hereby granted, free of"
     -> "charge, to any person obtaining a copy of this software and associated
         documentation files (the "
famous  "All human beings are born free"
     -> "and equal in dignity and rights. The right to life, liberty, and security"
fresh   "All evaluation harnesses are born tiny"
     -> ", and the most common way to measure their size is by using a ruler."

Az öt híres stringből három hat szóból szó szerint folytatódott; az öt frissből egy sem. Ez egy félmilliárd paraméteres modell, amely az MIT License-t szavalja. Ha a benchmarkod a nyilvános weben van, feltételezd, hogy benne van a weightsben. Ez egyben az egész fejezet érve is: a saját adataidból írt, crawler által olvasott repositoryn kívül tartott golden set az egyetlen tesztkészlet, amelyről biztos lehetsz, hogy soha nem tanították rajta.

Mit mérnek valójában a nyilvános benchmarkok

Link a szakaszhoz: Mit mérnek valójában a nyilvános benchmarkok

Még mindig érdemes olvasni őket, amíg azt olvasod, hogy mindegyik mit mér, nem pedig a hozzá ragasztott egyetlen számot.

benchmarkmit méregy szám a paperből
MMLUfeleletválasztós tudás 57 tárgykörbenGPT-3 „almost 20 percentage points on average” verte a véletlent7
HELMsok metrika × sok szcenárió, standardizálvaa core szcenáriók lefedettsége 17,9%-ról 96,0%-ra nőtt8
Chatbot Arenacrowdsourced párosított emberi preferenciatöbb mint 240K szavazat; a crowd szavazatai „in good agreement” vannak a szakértőkkel9
SWE-benchvalós GitHub issue-k megoldása, a repo tesztjeivel osztályozva2.294 probléma; az akkori legjobb modell „a mere 1.96 %”-ot oldott meg10
τ-benchtool use szimulált userrel és domain policyvelgpt-4o ≈ 61% pass^1, ≈ 25% pass^8 retailen4
WebArenahosszú horizontú feladatok működő weboldalakonlegjobb GPT-4 agent 14,41%, emberek 78,24%11
OSWorldvalós desktop- és OS-feladatok alkalmazások között369 feladat; legjobb modell 12,24%, emberek 72,36%12
GAIAembereknek könnyű, assistantoknak nehéz kérdések466 kérdés; emberek 92%, GPT-4 pluginekkel 15%13
AgentBenchagent reasoning 8 eltérő környezetbennagy rés kereskedelmi és open modellek között14
AgentHarmvégrehajt-e egy agent rosszindulatú többlépéses feladatokat110 rosszindulatú feladat 11 ártalomkategóriában15

A táblát vedd, ne bármelyik sort. Az agentic benchmarkok mind az embereket teszik messze a modellek fölé, ami a tudásbenchmarkok ellentéte, és a terület jelenlegi állapotának legjobb egymondatos összefoglalója; számaik hónapok alatt öregszenek, ezért dátummal idézd őket, amikor olvastad; és mindegyik olyan feladatot mér, amely nem a tiéd.

A metrikák, amelyek productionben döntenek

Link a szakaszhoz: A metrikák, amelyek productionben döntenek

A pontosság az a metrika, amin vitatkoztok. Ezek döntik el, hogy shipel-e a dolog. Mind a négy kijön a már mért kétszáz futásból.

Költség megoldott feladatonként, nem hívásonként. Az agent próbálkozásonként $0.001345-be kerül, és $0.005172-be ténylegesen megoldott feladatonként — 3,85-ször többe, mert a próbálkozások háromnegyede semmit nem termel. A latency ugyanígy viselkedik: 1.213 ms próbálkozásonként, 4.667 ms megoldott feladatonként. Minden retry, minden újrakérdezés, minden elhagyott trajektória a második számban van, és láthatatlan az elsőben.

Egy diagnosztika, amely veri a pontosságot. 200 próbálkozásból 123-ban az agent egyetlen tool hívása nélkül válaszolt — találgatott, nem nézett utána. Erre bontva:

TEXT
answered without reading anything   8/123  =  6.5 %  [3.3, 12.3]
answered after reading something   44/77   = 57.1 %  [46.0, 67.6]

Az intervallumok meg sem közelítik egymást. Ez többet ér az aggregált 26%-nál, mert megnevezi a javítandó dolgot — a modell nem a reasoningben bukik el, hanem abban, hogy nem néz utána —, és a javítás a harnessben van, nem a modellben. Egy kikötéssel tartozik ez a fejezet a saját sztenderdjeinek: a két csoport különböző feladatokból áll, nem ugyanazokból párosítva, így a rés egy része abból is jöhet, hogy éppen azokon a kérdéseken hagyja ki a toolokat, amelyeket nehéznek talál. A bontás diagnosztika, nem kauzális állítás.

Human intervention rate az a metrika, amelyet egy vevő először kérdez: a futások mekkora része állt meg approvalnél, guardrailnél vagy handoffnál. A 23. fejezet tipizált megszakításai megszámolhatóvá teszik, és feladattípusonként, hetente számolva ez választja el a munkáját tanuló agentet attól, amely csendben sorban állássá válik.

Abandonment az, amit offline suite nem láthat: a user, aki elolvasta a választ, bezárta a lapot, és maga végezte el a feladatot. Az offline értékelés kapu; a production értékelés a valós forgalom folyamatos mintája, ugyanazzal a graderrel plusz ezzel a néggyel pontozva.

És egy szabály a 17. fejezetből: soha ne assertelj exact outputra. Tulajdonságokra assertelj — érvényes JSON, helyes séma, a megfelelő tool hívása, tolerancián belüli szám, kötelező substring jelenléte. A fejezet eleji exact-match oszlop az, ami akkor történik, ha ezt a szabályt megszegik.

Egy beszállító értékelése nem csak pontosságról szól, és ez a kurzus etikájának második fele, saját címmel, nem függelékként.

Mérd a torzítást, ne feltételezd. Bármit hiszel egy modell viselkedéséről neveken, dialektusokon, nemeken vagy nemzetiségeken, az a te pipeline-od mérhető tulajdonsága, és a műszer már megvan: vedd a golden seted, csak az attribútumot változtasd, hasonlíts párosítva. A HELM pontosan azért létezik, mert pusztán pontosságot jelentettek ott, ahol bias, toxicitás, kalibráció és robusztusság is eldönthető volt.8 Egy vendor model cardja kiindulópont, nem bizonyíték a te inputjaidról.

A contamination is beszállítói kérdés. A fenti szonda az oka annak, hogy meg kell kérdezni, min mérték a publikált számot, és mikor vágták el a modell adatait.

Retention, training és residency, 2026. szeptember 7-én olvasva. Ezek változnak, ezért rögzítsd a dátumot a válasz mellé. Az Anthropic policy oldala ezt írja: „By default, we will not use your inputs or outputs from our commercial products (e.g. Claude for Work, Anthropic API, Claude Gov, etc.) to train our models”, kivéve azokat a tartalmakat, amelyeket kifejezetten feedbackként küldesz be, és amelyeket „for up to 5 years” tárolnak.16 Az OpenAI data controls dokumentációja szerint „data sent to the OpenAI API is not used to train or improve OpenAI models (unless you explicitly opt in to share data with us)”, leírja az abuse-monitoring logok harmincnapos alapértelmezett retentionjét, és kínál Zero Data Retentiont, amely „excludes customer content from abuse monitoring logs”, valamint konfigurálható data residencyt régiók listáján.17

Négy kérdést kérj írásban az első production hívás előtt, mert mindegyiknek más a tulajdonosa: használják-e az adataimat trainingre; mennyi ideig őrzik meg, és ki; hol dolgozzák fel és tárolják; és mi történik mindezzel, ha nem közvetlenül a szolgáltatót, hanem viszonteladót, gatewayt vagy aggregátort használok. Az utolsónál él a legtöbb meglepetés, és ezt egyetlen benchmark sem mondja meg.

Most már megvan a műszer: saját golden set, intervallum minden számon, párosított teszt minden összehasonlításhoz, pass^k azokhoz a futásokhoz, amelyeket senkinek nem mutattál meg, mért judge, és szonda arra, hogy egy nyilvános pontszám jelent-e bármit. A 23. fejezet záró állítása most már ellenőrizhető, nem csak kijelenthető — egy harness kormányozhatóvá tesz egy agentet, nem helyessé —, és az ellenőrzés kétszáz futásba és nyolc percbe került.

Van az agentnek egy tulajdonsága, amelyet mindez nem mér, és ez az, ami miatt embereket kirúgnak.

A fejezet golden setjének minden feladatát én írtam, és minden fájlt, amelyet az agent olvasott, én írtam. Abban a könyvtárban semmi nem próbált semmit tenni. Változtass meg egy sort egy fájlban, amelyet az agentnek olvasnia kell — egy sort, amely egy instrukcióval végződik a következő olvasóhoz címezve —, és a 26%-ot elérő agent követni fogja ugyanazokkal a toolokkal, ugyanazokkal az engedélyekkel és ugyanazzal a tiszta trace-szel, miközben ebben a fejezetben minden szám pontosan ott marad, ahol volt. Egy evaluation suite azt méri, milyen gyakran éri el egy rendszer a te célodat. Nem méri, milyen könnyen cserélheti ki valaki más a sajátjára.

A 30. fejezet erről szól: prompt injection, a private data, untrusted content és external communication halálos hármasa, és mennyibe kerül valódi engedélyeket adni egy agentnek. Azzal a megfigyeléssel nyit, amelyet ez a fejezet eddig került — hogy ugyanaz a passing score kompatibilis egy olyan agenttel, amely pontosan azt teszi, amit egy támadó írt egy fájlba, amelyet olvasnia kellett.


A fenti számok mind egy gépen készültek, és egyik sem érintett fizetős endpointot. Az agent a 23. fejezet loopja a négy tool közül kettővel egy öt fájlból álló könyvtáron; a port mögötti modell Qwen/Qwen2.5-0.5B-Instruct, egy kis szerveren keresztül expose-olva, amely alakjában ugyanaz, mint egy chat completions endpoint, pontosan úgy, mint a 23. fejezetben, de fél precisionben egy consumer GPU-n, nem pedig annak a fejezetnek a CPU-ján. A költségek a 16. fejezet díjait használják — $2.00 millió input tokenenként és $12.00 millió outputonként — a mért token countsra alkalmazva. Az ismételt futások temperature 0.7-et használnak fix seedekkel, hogy a teljes készlet reprodukálható legyen; a négykarú táblázat greedy. Az intervallumok 95%-os Wilson-intervallumok, a párosított összehasonlítások kétoldali exact sign tesztek a discordant párokon; a Wilson-intervallum a 4. fejezeté, az exact párosított sign test a 15. fejezeté, mindkettő változatlanul újrahasznosítva. Az emberi címkék az enyémek, hatvan válaszra alkalmazva a szövegben idézett írott szabály szerint. Minden nagyságrendet itt egy félmilliárd paraméteres modell tulajdonságaként olvass, és minden módszert átvihetőként: egy nagyobb modell minden számot feljebb tol, és egyik műszert sem mozdítja el.

  1. OpenAI, A practical guide to building agents (PDF), 8. oldal, olvasva 2026. szeptember 7-én. A fent idézett háromlépéses sorrend forrása, valamint a kísérő tanácsé: „build your agent prototype with the most capable model for every task to establish a performance baseline. From there, try swapping in smaller models to see if they still achieve acceptable results.” A 22. és 25. fejezet definíciós és orchestration oldalait idézi.

  2. Schaeffer, R., Miranda, B. and Koyejo, S. Are Emergent Abilities of Large Language Models a Mirage? arXiv:2304.15004 (2023). Az érv, hogy a diszkontinuus, mindent-vagy-semmit metrikák látszólagos ugrásokat gyártanak sima mögöttes javulásokból, a 10. fejezetben idézett BIG-Bench audittal. Saját óvatosságukat érdemes megismételni: a paperben semmi nem állítja, hogy a nagy modellek nem mutathatnak emergens képességeket.

  3. Kalai, A. T., Nachum, O., Vempala, S. S. and Zhang, E. Why Language Models Hallucinate. arXiv:2509.04664 (2025). Az érv, hogy a helyes-vagy-helytelen módon pontozott benchmarkok a találgatást jutalmazzák a tartózkodással szemben, és a javasolt orvoslás: „modifying the scoring of existing benchmarks that are misaligned but dominate leaderboards, rather than introducing additional hallucination evaluations”. A 19. fejezet a retrieval oldaláról idézi; ez ugyanannak az állításnak az értékelési oldala.

  4. Yao, S., Shinn, N., Razavi, P. and Narasimhan, K. τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains. arXiv:2406.12045 (2024). A pass^k eredete, a fent idézett definícióval, a paperben egymás mellé nyomtatott mindkét becslővel; az abstract fő állítása, hogy a state-of-the-art function-calling agentek „succeed on <50 % of the tasks, and are quite inconsistent (pass^8 <25 % in retail)”, az 1. szakasz pedig megadja a gpt-4o ≈61% pass^1 és ≈25% pass^8 számait τ-retailen. A vele szembeállított pass@k becslő Chen, M. et al., Evaluating Large Language Models Trained on Code, arXiv:2107.03374 (2021) munkájából származik. 2 3

  5. Zheng, L. et al. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. arXiv:2306.05685 (2023). A három megnevezett torzítás forrása, a fent használt konzisztenciadefinícióé („the percentage of cases where a judge gives consistent results when swapping the order of two assistants”), annak a megállapításnak a forrása, hogy „only GPT-4 outputs consistent results in more than 60 % of cases”, 65,0%-ról 77,5%-ra emelkedve few-shot mellett, valamint a szó szerint idézett swap-and-require-agreement mitigációé. Pozitív eredménye is fontos: a GPT-4 judge-ok „an agreement rate exceeding 80 %” értéket érnek el emberi értékelésekkel, „the same level of human-human agreement” — ezért érdemes judge-ot használni, és ezért kell a sajátodat mérni. 2 3

  6. EleutherAI, Language Model Evaluation Harness, projekt README, olvasva 2026. szeptember 7-én: „over 60 standard academic benchmarks for LLMs, with hundreds of subtasks and variants implemented”, és „the backend for Hugging Face's popular Open LLM Leaderboard”. A fent idézett lm_eval invocation a README saját példája. Liang, P. et al., Holistic Evaluation of Language Models, arXiv:2211.09110 (2022), a másik standard runner, és jobb olvasmány az értékeléstervezésről.

  7. Hendrycks, D., Burns, C., Basart, S., Zou, A., Mazeika, M., Song, D. and Steinhardt, J. Measuring Massive Multitask Language Understanding. arXiv:2009.03300 (2020). 57 feladat; az abstract állítása, hogy a legnagyobb GPT-3 modell „improves over random chance by almost 20 percentage points on average”, hasznos emlékeztető arra, mennyire friss ennek a benchmarknak a telítődése.

  8. Liang, P. et al. Holistic Evaluation of Language Models. arXiv:2211.09110 (2022). Hét metrika — accuracy, calibration, robustness, fairness, bias, toxicity és efficiency — 16 core szcenárión és 30 modellen, a fent idézett lefedettségi számokkal. Azért érdemes olvasni, mert a keretezés a lényeg: a hétből melyiket jelentik, az maga is választás. 2

  9. Chiang, W.-L. et al. Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132 (2024). Több mint 240K szavazat az írás idején, crowdsourced párosított preferencia, és az állítás, hogy „the crowdsourced human votes are in good agreement with those of expert raters”.

  10. Jimenez, C. E., Yang, J., Wettig, A., Yao, S., Pei, K., Press, O. and Narasimhan, K. SWE-bench: Can Language Models Resolve Real-World GitHub Issues? arXiv:2310.06770 (2023). 2.294 probléma 12 Python repositoryból, a repositoryk saját tesztjeivel osztályozva, miközben az akkori legjobb modell „a mere 1.96 %”-ot oldott meg. A 23. fejezet a „harness” szó másik értelméhez használja.

  11. Zhou, S. et al. WebArena: A Realistic Web Environment for Building Autonomous Agents. arXiv:2307.13854 (2023). Működő weboldalak négy domainen, a legjobb GPT-4 agent 14,41%-on az emberek 78,24%-ával szemben.

  12. Xie, T. et al. OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments. arXiv:2404.07972 (2024). 369 feladat valós operációs rendszereken; emberek 72,36% felett, legjobb modell 12,24%, a fő résként GUI groundinggal.

  13. Mialon, G., Fourrier, C., Swift, C., Wolf, T., LeCun, Y. and Scialom, T. GAIA: A Benchmark for General AI Assistants. arXiv:2311.12983 (2023). 466 kérdés, emberek 92%-on, GPT-4 pluginekkel 15%-on — a legtisztább publikált állítás arról a résről, ami az embernek könnyű és ami egy assistantnak könnyű.

  14. Liu, X. et al. AgentBench: Evaluating LLMs as Agents. arXiv:2308.03688 (2023). Nyolc eltérő környezet, és jelentős különbség a vezető kereskedelmi modellek és hasonló méretű open-source modellek között.

  15. Andriushchenko, M. et al. AgentHarm: A Benchmark for Measuring Harmfulness of LLM Agents. arXiv:2410.09024 (2024). 110 kifejezetten rosszindulatú agent-feladat (augmentációkkal 440) 11 ártalomkategóriában, azzal a megállapítással, hogy a vezető modellek „surprisingly compliant with malicious agent requests without jailbreaking”, és az egyszerű univerzális jailbreak template-ek átvihetők agentekre, miközben megőrzik képességeiket. Ez a híd a 30. fejezethez: egy capability benchmark és egy harm benchmark ugyanazt a rendszert méri, és nem ért egyet abban, készen áll-e.

  16. Anthropic, Is my data used for model training?, privacy.claude.com, olvasva 2026. szeptember 7-én. Fent szó szerint idézve, beleértve a feedback kivételt és a beküldött feedback ötéves tárolási ablakát.

  17. OpenAI, Your data (API data controls documentation), developers.openai.com, olvasva 2026. szeptember 7-én. A default no-training állítás, a harmincnapos abuse-monitoring retention, a Zero Data Retention leírása és az eligible endpointok listája, valamint a data residency régiók forrása.


Készítette

David Vicente Campos

A NeuraLIA Labs alapítója és a MyRealFood társalapítója

Mérnökinformatikus vagyok, a Leóni Egyetemen végeztem. Társalapítottam a MyRealFoodot, ahol CTO-ként felépítettem azt az alkalmazást, amelyet emberek milliói használtak arra, hogy egészségesebben táplálkozzanak, és megalapítottam a NeuraLIA Labst, ahol AI-termékeket fejlesztek. Itt arról írok, amit menet közben meg kellett értenem, úgy, ahogy szerettem volna, hogy valaki elmagyarázza nekem.

Továbbiak a szerzőről

Közzétette a NeuraLIA Labs.

Kapj új bejegyzéseket a postaládádba

AI-hírek, útmutatók és termékfrissítések — rövid email, amikor valami igazán hasznosat publikálunk.

Kurzusindex

Abstract software decision engine with branching paths, probability nodes, and glowing gates.
jev11 perc olvasás

A Jev AI-modell döntésekre készült, nem prózára

A TypeSafe AI Jev modellje azért kap figyelmet, mert a szoftveres intelligenciát valószínűségi problémaként kezeli: válaszd ki a megfelelő ágat, rendelj hozzá bizalmi szintet, és ne fizess egy LLM-nek szövegírásért, amikor a kódnak döntésre van szüksége.

Abstract agent runtime sorting documents, memory blocks and pointer nodes inside a bounded context frame.
context-engineering11 perc olvasás

Kontextustervezés hosszú távú AI-ügynökökhöz

A hosszú ideig futó ügynökök nem csak azért vallanak kudarcot, mert kicsi az ablak. Akkor hibáznak, amikor a fájlok, eszközkimenetek és elavult előzmények kiszorítják azt a feladatot, amelyet az ügynöknek be kellett volna fejeznie.

Készen állsz, hogy a LIA válasszon helyetted?

Építs az összes AI-modellel egy helyen – kezdd el ma, ingyen.