Kutatás

OpenAI audit: mintegy 30% hibás feladat a SWE-Bench Pro kódfelmérőben

Az OpenAI részletes auditja szerint a SWE-Bench Pro kódolási benchmark jelentős része hibás, ami torzíthatja a modellek képességeinek mérését és ezáltal a telepítési és biztonsági döntéseket.

OpenAI audit: mintegy 30% hibás feladat a SWE-Bench Pro kódfelmérőben

OpenAI részletes auditja szerint a széles körben használt SWE-Bench Pro kódfelmérő jelentős számú feladatnál tartalmaz értékelési hibákat; az elemzés alapján a mintafeladatok körülbelül 30%-a megbízhatatlan. A vállalat hangsúlyozza, hogy a modellek képességeinek pontos mérése kritikus a biztonságos üzembe helyezési döntésekhez és a Preparedness Framework alkalmazásához.

Miért vizsgálták a SWE-Bench Pro-t?

SWE-Bench Pro-t azért hozták létre, hogy javítsa az előző SWE-bench Verified problémáit: hosszabb távú, realisztikusabb fejlesztési feladatokkal mérje az ügynökjellegű (agentic) kódolási képességeket. A feladatok forrása — ahogy a korábbi benchmarknál is — programozottan származik különböző nyilvános és privát repók feature-változásainak történetéből. A modelleknek új teszteket kell teljesíteniük úgy, hogy a meglévő működést ne törjék meg. A 731 feladatos nyilvános részhalmazon a frontier modellek nyolc hónap alatt 23,3%-ról 80,3%-ra javultak a sikerarányokban.

Audit módszere

OpenAI egy több lépcsős adatminőség-ellenőrző (data quality) pipeline-t alkalmazott. Az első, automatikus szűrő az utasításokat, a modellek próbálkozásait és az értékeléshez használt teszteket vizsgálta, és 286 potenciálisan hibás feladatot jelölt meg további ellenőrzésre. A jelölt feladatok két, párhuzamosan futó vizsgálati úton haladtak:

  • Codex-alapú "investigator" ügynökök által végzett mély, emberi felügyeletű auditok, amelyek hozzáfértek a repóhoz és futtathattak teszteket, megvizsgálták a releváns fájlokat és a modellek sikertelenségi trace-eit, majd több független ismétlés után kutatói összegzés és végső döntés követte.
  • Humán annotációs kampány tapasztalt szoftvermérnökökkel: minden jelölt feladatot öt mérnök függetlenül vizsgált meg, előzetes képzést kapva a benchmark céljairól, problématípusokról és példás eseteiről. A vizsgálók először a látható feladatleírást, teszteket és a gold patch néven ismert referencia-javítást értékelték, majd jelölést és súlyossági osztályozást adtak, vitás vagy bizonytalan eseteket felfelé vittek további áttekintésre.

Talált hibák és arányok

A pipeline automatikus szakasza 200 feladatot jelölt meg hibásnak (27,4%), míg a humán annotáció 249 feladatot minősített hibásnak (34,1%). Összességében OpenAI arra következtet, hogy nagyjából 30% körüli része a SWE-Bench Pro-nak nem megbízhatóan tükrözi a modellek valós képességeit.

A felmerült problémák elsősorban négy fő típusba sorolhatók (a részletes kategóriákat az auditban használták), de a riport kiemeli, hogy a hibák gyakran átfednek, és az emberi felülvizsgálók hajlamosabbak több jelölést adni egy-egy feladatra, mint az automatizált ügynökök. A két vizsgálati út eredménye 74%-os átfedést mutatott az ügynök által felismert kategóriák és az emberi ítéletek között.

Egy szembetűnő eltérés például a "low-coverage tests" (alacsony lefedettségű tesztek) kategóriában volt: a humán vizsgálók a teljes benchmark 9,4%-ánál ezt jelölték a leggyakoribb problémának, míg az ügynök-pipeline csak 4,1%-ot adott meg erre a hibaformára.

Konkrét példa az ellentmondásra

Egy vizsgált feladat a Tartalomjegyzék-bejegyzések normalizálását és Markdownba történő visszaalakítását tesztelte a TocEntry.to_markdown() metóduson keresztül. A feladatleírás explicit karakteres formázást ír elő (például egyetlen vezető szóköz szerepel a példákban: " | Chapter 1 | 1"), míg a rejtett (hidden) tesztek két vezető szóközt vártak el (" | Chapter 1 | 1"). Ha a modell pontosan a feladatleírásban szereplő viselkedést valósítja meg, a különbség egy karakterben hibára futtatja a rejtett teszteket, és a feladat automatikusan sikertelennek minősül — holott a modell a látható promptnak megfelelően járt el.

Miért történtek ezek a hibák?

OpenAI szerint az okok részben a benchmark előállításának forrásaiban keresendők: a feladatok programozott kinyerése pull requestekből és commitokból azt jelenti, hogy a problémaleírások, a beolvadó kód és az egységtesztek emberi együttműködés eredményeként jöttek létre, nem pedig izolált, implementáció-független értékelési feladatoknak. A pull requestekhez írt tesztek gyakran szűkek, konkrét változtatást validálnak, nem pedig általános, több megoldást is elfogadó viselkedést definiálnak.

Ugyanakkor az OpenAI szerint most épp a modellek fejlődése teszi lehetővé ezeket a hibákat sokkal hatékonyabban megtalálni: a modellek maguk is használhatók a promptok, tesztek, javítások és hibatörzsek mélyebb, konzisztens vizsgálatára, így olyan problémák is felszínre kerülhetnek, amelyek korábban költségesek vagy gyakorlatilag észrevehetetlenek lettek volna nagy mennyiségben.

Következmények és ajánlás

A fentiek alapján OpenAI visszavonja korábbi ajánlását, miszerint a közösség térjen át a SWE-Bench Pro használatára. A szervezet azt javasolja, hogy a modellfejlesztők óvatosan értelmezzék a benchmark eredményeket, és alaposan vizsgálják meg a feladatok minőségét mielőtt ezekre alapoznák a biztonsági és üzembe helyezési döntéseket.

OpenAI arra buzdítja a benchmark-közösséget, hogy tapasztalt szoftvermérnökök bevonásával készítsenek új, kifejezetten modellek képességeinek tesztelésére szánt feladatsorokat, amelyek megőrzik a realizmust és a nehézségi szintet, de jobb emberi felügyelettel és megbízhatóbb tesztesetekkel készülnek.

Az audit célja az volt, hogy a feladatok kudarcai valódi modellkorlátokat tükrözzenek, a sikerek pedig teljes és érvényes megoldásokat jelentsenek a promptban foglalt követelményekre. Az eredmények hatással lehetnek OpenAI belső üzembe helyezési és biztonsági döntéseire, ezért a következő értékelések érvényességére különös figyelmet fordítanak.