AI KIÉRTÉKELÉS
A SWE-bench valós szoftverfejlesztési feladatokon értékeli a nyelvi modelleket
A Princeton University és a University of Chicago kutatói megalkották a SWE-bench-et, egy olyan kiértékelő keretrendszert, amely 2 294 szoftverfejlesztési problémát tartalmaz. Ezeket valódi GitHub issue-kból és a hozzájuk tartozó pull requestekből gyűjtötték 12 népszerű Python repozitóriumból. A pull requestek teljes körű megoldása rendkívül nehéz feladat a modern AI rendszerek számára, mivel gyakran több függvényen, osztályon, sőt fájlon átívelő változtatások megértését és összehangolását igényli. Ez megköveteli a modellektől, hogy interakcióba lépjenek a futtatókörnyezetekkel, rendkívül hosszú kontextusokat dolgozzanak fel, és olyan összetett érvelést végezzenek, amely messze túlmutat a hagyományos kódgeneráláson.
Ebben a benchmarkban a feladat felépítése egyszerű: bemenetként a modell megkapja egy hiba szöveges leírását és a teljes kódbázist. A modell feladata ezután a kódbázis módosítása a hiba elhárítása érdekében. A kutatók a modelleket egyaránt tesztelik keresőrendszerrel (retrieval) a releváns fájlok megtalálásához, valamint egy „oracle” rendszerrel, amely pontosan azokat a fájlokat hívja le, amelyeket a végső megoldásban használtak. A javasolt megoldás kiértékeléséhez a rendszer alkalmazza a generált javítást (patch) a kódbázisra, és lefuttatja a kapcsolódó egység- és rendszerteszteket.
- A benchmark 2 294 problémát tartalmaz 12 népszerű Python repozitóriumból származó valódi GitHub issue-kból.
- A Claude 2 az issue-k 1,96%-át oldotta meg standard kereséssel, és 4,8%-át az oracle keresés használatával.
- A ChatGPT-3.5 és a GPT-4 jelentősen alacsonyabb pontszámot ért el, a GPT-4 1,74%-ot teljesített oracle keresés mellett.
- A Claude 2 teljesítménye a 100k tokenes kontextusának köszönhető, amely háromszorosa a GPT-4 kapacitásának.
- Egy megoldás kiértékelése egy unix patch alkalmazásából és automatizált tesztek futtatásából áll a javítás ellenőrzésére.
Miért fontos?
Napjainkban az AI rendszerek többnyire kiegészítő eszközként működnek – olyan segédeszközökként, amelyeket az emberek a feladatok hatékonyabb elvégzésére használnak. Ha azonban egy nyelvi modell sokkal magasabb pontszámot érne el a SWE-bench-en, elképzelhetővé válna a munka egyes részeinek teljes automatizálása, virtuális teljes munkaidős alkalmazottakká alakítva a nyelvi modelleket, akik emberi beavatkozás nélkül végeznek kódátvizsgálást és válaszolnak a PR-okra. ---