SWE-bench (benchmark) (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

SWE-bench — egy nagyszabású benchmark (teszteladatok gyűjteménye) a nagy nyelvi modellek (LLM) képességeinek értékelésére a szoftverek automatizált fejlesztése és hibakeresése terén[1]. Princeton Egyetem kutatóinak és más szervezetek szakembereinek csoportja fejlesztette ki, és az ICLR 2024 konferencián mutatták be[2]. A SWE-bench abban különbözik a hagyományos kódolási benchmarkoktól, hogy valós fejlesztési feladatokat használ: a tesztkészlet 2294 feladatot tartalmaz, amelyek 12 népszerű nyílt Python-repository GitHubon lezárt issue-i és a hozzájuk tartozó javítások (pull request) alapján készültek[1][3]. Minden feladat tartalmaz egy problémaLeírást (issue), és hozzáférést biztosít a modell számára a vonatkozó projekt forráskódjához; a modell célja, hogy minimális változtatásokat generáljon a kódbázisban (patch), amelyek megoldják a megjelölt problémát[1][3].

Az értékelés módszertana és jellemzői

A SWE-bench a szoftverfejlesztés valódi folyamatát modellezi. Minden feladatnál a modell megkapja az eredeti GitHub-issue szövegét (a probléma leírását) és a repository kódjának pillanatképét a javítás előtti verzióban[4]. A modellnek (vagy a modell alapú ágensnek) elemeznie kell a forráskódot, meg kell értenie a hiba vagy a szükséges változtatás természetét, és módosítania kell a megfelelő kódfájlokat a probléma megoldása érdekében[4][5]. A megoldás validálása automatizált: minden feladathoz valódi egységtesztek tartoznak abból a pull requestből, amely lezárta az adott problémát. Ezek között vannak „bukó-átmenő" tesztek (fail-to-pass, amelyek az eredeti kódon nem mennek át, de a helyes javítás alkalmazása után át kell menniük), valamint regressziós tesztek (pass-to-pass, amelyek kezdetben átmennek, és a változtatások után is át kell menniük)[3]. A modell által javasolt patch alkalmazása után lefutnak a megfelelő tesztek: ha az összes fail-to-pass teszt sikeresen átmegy, és a pass-to-pass tesztek nem sérülnek, a feladat helyesen megoldottnak minősül[3]. Ez az értékelési megközelítés lehetővé teszi annak ellenőrzését, hogy a modell nemcsak szintaktikailag helyes kódot tud generálni, hanem valóban meg tudja oldani a kitűzött feladatot a meglévő funkcionalitás sértése nélkül. Eközben a modellnek nagy kontextusban kell dolgoznia (a teljes kód-repository), értenie kell a komponensek közötti összefüggéseket, és egyszerre több fájlban kell koordinálnia a változtatásokat[1] — mindez lényegesen bonyolultabb, mint a tipikus, leírás alapján írandó függvényfeladatok.

A SWE-bench értékelésein rendszerint nem csupán maguk az LLM-ek vesznek részt, hanem agentikus rendszerek, amelyek segédeszközökkel veszik körül a modellt (például fájlnavigációhoz, kódfuttatáshoz, hibakereső használatához stb.)[4][6]. Egy ilyen rendszer a valódi fejlesztési ciklust utánozza: a modell sorban megtekintheti a fájlokat, teszteket vagy szkripteket futtathat, és lépésről lépésre javíthatja a megoldást, amíg sikeres eredményt el nem ér[4]. Jellemző, hogy a SWE-bench feladatok megoldásának hatékonysága nagymértékben függ ennek a „scaffolding"-nak (az ágens infrastruktúrájának) a minőségétől: ugyanazok az alapmodellek eltérő eredményt mutathatnak attól függően, hogy hogyan van megszervezve az interakció a repository-val és az eszközökkel[4][7]. A SWE-bench így a modell és a feladatmegoldó stratégiájának együttes képességét méri, közelítve az értékelést egy autonóm AI-fejlesztő valós működési feltételeihez[4][7].

A feladatkészlet változatai

A SWE-bench szerzői és a közösség ezt követően több származtatott készletet mutatott be különböző értékelési célokra:

  • SWE-bench Lite — a benchmark egyszerűsített változata, amely ~300 feladatot tartalmaz[8], amelyeket úgy válogattak ki, hogy csökkentsék a modellek tesztelésének bonyolultságát és számítási költségeit. Ezt az alkészletet a modellek gyors kísérletezésére hozták létre, és kizárja a legtöbb erőforrást igénylő validációkat, miközben megőrzi az alapvető problémák reprezentativitását[7]. Lényegében a Lite egyszerűbb és rövidebb hibajavítási feladatokat tartalmaz, és a modellek eredményei a Lite-on általában magasabbak, mint a teljes készleten, mivel a legnehezebb eseteket kizárták[7].
  • SWE-bench Verified — egy kézi ellenőrzéssel szűrt alkészlet, amelyet 2024 augusztusában az OpenAI-jal együttműködve mutattak be[7]. A kutatók 93 hivatásos fejlesztőt vontak be az eredeti benchmark minden egyes feladatának elemzéséhez, és kizárták azokat az eseteket, ahol az eredeti problémaLeírás túl homályos, vagy a tesztek által elvárt viselkedés nem következik egyértelműen a feladat feltételéből[7]. Szintén eltávolították azokat a feladatokat, amelyek a gyakorlatban megoldhatatlanok a környezeti problémák vagy helytelen tesztek miatt[7]. Végeredményként egy 500 feladatból álló készlet jött létre, amelyek garantáltan megoldhatók és helyesen vannak megfogalmazva[7]. A SWE-bench Verified célja a modellek képességeinek megbízhatóbb értékelése azáltal, hogy kiküszöböli azokat az eseteket, amikor egy helyes megoldást is elutasítanak a tesztek vagy a feladat nem megfelelősége miatt[7]. Ez a készlet felváltotta az eredeti SWE-bench tesztkiválasztásokat (a teljes és a Lite változatot) mint a modellek összehasonlításának elsődleges mércéjét[7]. Emellett a Verified-del együtt közzétették a feladatok nehézségi besorolását is (például kijelölték a „könnyű" feladatokat, amelyek embernek <15 perc alatt megoldhatók, és a „nehéz" feladatokat, amelyek >1 órát igényelnek)[7], valamint egy Docker-alapú új eszközkeret is megjelent a tesztek stabilabb és reprodukálhatóbb futtatásához[7].
  • SWE-bench Multimodal — a benchmark kibővítése, amelyet 2025 januárjában mutattak be, és olyan feladatokat tartalmaz, ahol a problémaLeírás nem csak szöveget, hanem vizuális elemeket is tartalmaz (például felhasználói felület képei, hibaképernyőképek stb.)[8]. Ez a készlet (517 feladat[8]) a modellek és ágensek azon képességét vizsgálja, hogy megértsék és felhasználják a vizuális információt programozási feladatok megoldása során. A multimodális készleten végzett értékelés hasonlóan szervezett, de multimodális képességeket igényel a modelltől (például szöveg felismerése képeken). A SWE-bench Multimodal tesztelési részét zártan tartják (elrejtve), hogy megelőzzék a megoldások ismert válaszokhoz való igazítását; a fejlesztők egy távoli ranglistára küldhetik be megoldásaikat, hogy modelljeik teljesítményét ezeken a feladatokon kiértékeljék[2].

Ezeken az alapvető változatokon túl a SWE-bench körül eszközök ökoszisztémája alakult ki: SWE-agent — egy nyílt forráskódú szoftver-„ágens"-megoldó, amely vezető eredményeket ér el a benchmark feladataiban[2]; SWE-smith — keretrendszer saját fejlesztői modellek betanítására; SWE-REX — eszköz a repository-kból való kibővített információkinyeréshez és -feldolgozáshoz stb. Ezek a projektek az eredmények reprodukálhatóságának egyszerűsítésére és az autonóm programozó rendszerek kutatásának előmozdítására irányulnak.

A modellek eredményei és fejlődése

A SWE-bench megjelenésekor jelentős szakadékot tárt fel a korabeli LLM-ek és a tapasztalt programozók képességei között. A szerzők arról számoltak be, hogy még a 2023 elején legerősebbnek számított modellek is csak a feladatok néhány százalékával boldogultak: például az Anthropic Claude 2 modellje a teljes készlet feladatainak kevesebb mint 2%-át oldotta meg sikeresen[1]. A benchmark szerzői által speciálisan betanított modell (LLaMA alapú, SWE-Llama névvel) és a GPT-4-hez hasonló proprietáris modellek is főként csak a legegyszerűbb hibákat tudták megoldani[1]. Ezek az alacsony kezdeti mérőszámok rámutattak a SWE-bench nehézségére, és ösztönzést adtak új megközelítések kidolgozásához.

2024 folyamán, ahogy fejlettebb modellek és agentikus sémák jelentek meg, az eredmények jelentősen javultak. A Princetoni kutatók bemutatták a SWE-agent rendszert, amely a GPT-4-et kódkereséssel, tervezéssel és más eszközökkel kombinálja; ez a teljes készleten a megoldott feladatok körülbelül 12,5%-át érte el, új mércét állítva az akadémiai modellek számára[5]. 2024 közepére a SWE-bench hivatalos ranglistáján a legjobb megoldások (proprietárisokat is beleértve) a teljes benchmarkon körülbelül 20%-os sikeres megoldási arányt, az egyszerűsített Lite készleten pedig akár 43%-ot értek el[7]. Ez a növekedés a modellek fejlődésével (például a GPT-4, Claude 2 és 3 megjelenésével), és különösen a „scaffolding" fejlődésével függ össze — azaz a külső stratégiákkal, amelyek lehetővé teszik a modell számára, hogy hatékonyan ossza lépésekre a feladatot, olvassa a dokumentációt, futtasson hibakeresési munkameneteket stb.[7]

A Verified készlet 2024 végén történő bevezetése után (a helytelen feladatoktól megtisztítva) a mért teljesítmény még erőteljesebben nőtt. A GPT-4 modell (GPT-4o változat) azonnal körülbelül 33%-os sikeres megoldási arányt mutatott a Verified készleten, szemben az eredeti készleten korábban mért ~16%-kal[7]. A legjobb nyílt forrású ágens-keretrendszerek (például az Agentless) a Verified-en megduplázták eredményüket ~16%-ról 32%-ra[7]. Ez megerősítette azt a feltételezést, hogy az eredeti benchmark valamelyest alábecsülte a mutatókat a megoldhatatlan esetek jelenléte miatt[7]. Ugyanakkor a Verified-en elért eredmények javulása a Lite-hoz képest nem annyira drámai (a legjobb modellek már ~43%-ot értek el a Lite-on), ami logikus: a Lite eleve a könnyebb példákat válogatta ki, a Verified pedig eltávolította a megoldhatatlanokat, de megtartotta a nehéz feladatokat[7]. Fontos megjegyezni, hogy a Verified-re való áttéréskor a mutatók javulása a feladatok összes nehézségi kategóriájában bekövetkezett, nem csak a legnehezebb esetek kiküszöbölése révén — vagyis a szűrés a viszonylag egyszerű feladatok között rejtve megoldhatatlan esetektől is megtisztította a készletet[7].

2025 elejére a vezető AI-rendszerek már közel emberi hatékonyságot mutatnak az ellenőrzött feladatkészleten, bár a 100%-os határ még messze van. 2025 januárjában az Anthropic bejelentette, hogy új Claude 3.5 Sonnet modellje egy fejlettebb ágenssel párosítva a SWE-bench Verified feladatok 49%-át oldotta meg[4], ideiglenesen az első helyre kerülve. A nagy technológiai vállalatok és független csapatok szintén aktívan részt vesznek ebben a benchmarkon zajló nem hivatalos versenyben. A CodeStory csapata például egy többmodelles, variánsokat kipróbáló megközelítést fejlesztett ki („Midwit Agent"), amely rekordszintű 62,2%-os megoldási arányt ért el a Verified-en (2025 eleji adatok)[5][9]. Megjegyezték, hogy ehhez jelentősen növelni kellett a modell következtetési fázisában felhasznált számítási erőforrásokat (az úgynevezett inference time scaling), számos megoldási kísérletet futtatva és a legjobb eredményt kiválasztva[5]. Az OpenAI anyagaiban viszont egy kísérleti GPT-03 rendszert említenek, amelynek elegendő számítási skálázás mellett állítólag sikerült átlépni a 70%-os küszöböt a Verified-en (nem hivatalos adatok)[5]. Ezeket az eredményeket azonban független ellenőrzés nem támasztja alá, és ilyen magas mutató inkább a jövőbeli kutatások iránytűjeként, mintsem elért szintként értékelhető.

Egy Microsoft Research tanulmány (2025) szerint még a legújabb modellek sem lépik át az 50%-os küszöböt a SWE-bench Lite-ból sikeres hibajavítások terén, még hibakereső eszközökkel felszerelve sem[6]. Ebben a kísérletben a legjobb a Claude 3.7 Sonnet volt, ~48,4%-os megoldási aránnyal, míg a GPT-4 alapú rendszer (OpenAI 01) körülbelül 30%-ot oldott meg, a könnyített 03-mini modell pedig csak 22%-ot[6]. Ezek az eredmények rámutatnak, hogy a gyors fejlődés ellenére a mai AI-rendszerek még mindig elmaradnak a tapasztalt programozóktól: az embernek hasonló feladatok megoldása (a kód ismeretében) nem jelent nehézséget, míg a modell gyakran nem tudja hatékonyan alkalmazni a hibakereső eszközöket, vagy a hibajavítás többlépéses folyamatát tükröző tanítási adatok hiányától szenved[6].

Korlátok és perspektívák

A SWE-bench szabványosított felületet biztosít az intelligens kódolási ágensek értékelésére, azonban a kutatások számos korlátját is feltárták. Az alapvető probléma a tesztelés hiányossága: az egyes feladatokhoz tartozó ellenőrző tesztek egy adott pull requestből származnak, és általában csak azokat az egységteszteket tartalmazzák, amelyeket a hiba javításakor módosítottak[3]. Ahogy a Csecsiangji Egyetem és a Stuttgarti Egyetem kutatóinak (Wang et al. 2025) elemzése rámutatott, a projekt többi tesztjének figyelmen kívül hagyása elfedheti egyes megoldások helytelenségét[3]. A megoldások teljes repository-tesztkészleten való újraellenőrzése azt mutatta, hogy átlagosan a SWE-bench által sikeresnek jelölt patchek 7,8%-a valójában nem megy át a projekt más tesztjein[3]. Ez a „megoldott feladatok" metrikáját körülbelül 4-6 százalékponttal torzítja felfelé[3]. Még finomabb eset, amikor a generált patch átmegy az összes eredeti teszten, de nem ekvivalens a fejlesztő megoldásával, és másképpen változtatja meg a program viselkedését, mint várták volna. Kiegészítő tesztesetek generálásával (PatchDiff módszertan) a kutatók megállapították, hogy az AI által javasolt javítások közel 30%-a másképpen viselkedik, mint a referencia-patchek, és körülbelül 11%-uk egyértelműen hibás, bár a meglévő tesztek nem detektálják[3]. Így a modellek tényleges képességeit túlbecsülhetjük, ha kizárólag egy korlátozott tesztkészlet átmenetére támaszkodunk. A SWE-bench készítői elismerik ezt a sérülékenységet, és hangsúlyozzák, hogy a benchmarknak idővel fejlődnie kell: javítani kell a tesztek lefedettségét, ellenőrzéseket kell hozzáadni a nemkívánt mellékhatások hiányára, és bővíteni kell a feladattípusok körét[7]. Az ilyen értékelési eszközök fejlesztése fontos része a mind autonómabb és erősebb AI-fejlesztők megjelenésére való felkészülésnek, és a SWE-bench tapasztalatai rámutatnak a benchmarkok minőségére fordított figyelem szükségességére[7].

A SWE-bench, bár csupán egy statikus feladatgyűjtemény, és nem fed le minden programozási aspektust, már de facto szabvánnyá vált a kódolási modellek összehasonlító elemzésében[3]. Tudományos munkákban új módszerek és algoritmusok bemutatására, ipari kutatócsoportok által pedig a programozás automatizálására tervezett rendszerek potenciáljának értékelésére alkalmazzák[3]. A SWE-bench-en elért eredmények folyamatos növekedése 2023–2025 között szemléletesen mutatja az LLM-ek praktikus fejlesztési feladatok megoldásában való képességeinek rohamos fejlődését. Ugyanakkor barométerként is szolgál a nehézség mérésére: még az 50–60%-os megoldási arányhoz közeledve is, a modellek még mindig messze vannak az ember teljes értékű helyettesítésétől, különösen korlátozott információ és a követelmények finom megértésének szükségessége esetén[4][7]. A fejlődés azonban nem áll meg — a SWE-bench-hez hasonló kezdeményezéseknek köszönhetően a közösség tisztán látja céljait és korlátait, és folytatja a mozgást egy teljes értékű AI-fejlesztő megalkotása felé, amely képes emberi szakértő szintjén autonóm módon megérteni és javítani a programkódot[4][7].

Hivatkozások

  • SWE-bench a GitHubon
  • A SWE-bench hivatalos ranglistája

Irodalom

  • Liang, P. et al. (2022). Holistic Evaluation of Language Models (HELM). arXiv:2211.09110.
  • Chang, Y. et al. (2023). A Survey on Evaluation of Large Language Models. arXiv:2307.03109.
  • Ni, S. et al. (2025). A Survey on Large Language Model Benchmarks. arXiv:2508.15361.
  • Biderman, S. et al. (2024). The Language Model Evaluation Harness (lm-eval): Guidance and Lessons Learned. arXiv:2405.14782.
  • Kiela, D. et al. (2021). Dynabench: Rethinking Benchmarking in NLP. arXiv:2104.14337.
  • Ma, Z. et al. (2021). Dynaboard: An Evaluation‑As‑A‑Service Platform for Holistic Next‑Generation Benchmarking. arXiv:2106.06052.
  • Goel, K. et al. (2021). Robustness Gym: Unifying the NLP Evaluation Landscape. arXiv:2101.04840.
  • Xu, C. et al. (2024). Benchmark Data Contamination of Large Language Models: A Survey. arXiv:2406.04244.
  • Liu, S. et al. (2025). A Comprehensive Survey on Safety Evaluation of LLMs. arXiv:2506.11094.
  • Chiang, W.-L. et al. (2024). Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132.
  • Boubdir, M. et al. (2023). Elo Uncovered: Robustness and Best Practices in Language Model Evaluation. arXiv:2311.17295.
  • Huang, L. et al. (2023). A Survey on Hallucination in Large Language Models. arXiv:2311.05232.

Jegyzetek

  1. 1.0 1.1 1.2 1.3 1.4 1.5 Jimenez, Carlos E. et al. «SWE-bench: Can Language Models Resolve Real-World GitHub Issues?». arXiv. [1]
  2. 2.0 2.1 2.2 «SWE-bench/SWE-bench». GitHub. [2]
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 Wang, Shuyang et al. «Are "Solved Issues" in SWE-bench Really Solved Correctly? An Empirical Study». arXiv. [3]
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 «Claude SWE-Bench Performance». Anthropic. [4]
  5. 5.0 5.1 5.2 5.3 5.4 Jain, Sulbha. «SWE Benchmark: LLM evaluation in Software Engineering Setting». Medium. [5]
  6. 6.0 6.1 6.2 6.3 Hatmaker, Taylor. «AI models still struggle to debug software, Microsoft study shows». TechCrunch. [6]
  7. 7.00 7.01 7.02 7.03 7.04 7.05 7.06 7.07 7.08 7.09 7.10 7.11 7.12 7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20 7.21 7.22 «Introducing SWE-bench Verified». OpenAI. [7]
  8. 8.0 8.1 8.2 «SWE-bench Leaderboard». [8]
  9. «SOTA on swebench-verified: relearning the bitter lesson». Hacker News (Y Combinator). [9]