Kwa nini SWE-bench Verified haipimi tena uwezo wa kuweka misimbo ya mpaka
SWE-bench Verified inazidi kuchafuliwa. Tunapendekeza SWE-bench Pro.
Tangu tulipochapisha kwa mara ya kwanza SWE-bench Verified mnamo Agosti 2024, sekta imeitumia kwa kiasi kikubwa kupima maendeleo ya miundo kwenye kazi za uhandisi wa programu zinazojiendesha. Baada ya kutolewa kwake, SWE-bench Verified ilitoa ishara thabiti ya maendeleo ya uwezo na ikawa kipimo cha kawaida kinachoripotiwa katika matoleo ya miundo ya mpaka. Kufuatilia na kutabiri maendeleo ya uwezo huu pia ni sehemu muhimu ya Mfumo wa Maandalizi wa OpenAI. Tulipounda kigezo cha Verified awali, tulijaribu kutatua masuala katika tathmini ya awali yaliyofanya baadhi ya kazi zisiwezekane kukamilika katika SWE-bench dataset(fungua katika dirisha jipya).
Baada ya hatua za awali za kuruka, maendeleo ya hali ya juu kwenye SWE-bench Imethibitishwa yamepungua, yakiboreka(fungua katika dirisha jipya) kutoka 74.9% hadi 80.9% katika miezi 6 iliyopita. Hili linaibua swali: je, hitilafu zilizosalia zinaakisi mapungufu ya muundo au sifa za seti ya data yenyewe?
Katika uchambuzi mpya, tuligundua masuala mawili makubwa kwenye seti ya Verified yanayoonyesha kwamba benchmark haifai tena kwa kupima maendeleo ya uwezo wa uhandisi wa programu unaojiendesha kwa uzinduzi wa mpaka katika viwango vya utendaji vya leo:
- Majaribio yanakataa suluhisho sahihi: Tulifanya ukaguzi wa sehemu ndogo ya 27.6% ya seti ya data ambayo miundo mara nyingi ilishindwa kutatua na tukagundua kuwa angalau 59.4% ya matatizo yaliyokaguliwa yana kesi za majaribio zenye kasoro zinazokataa uwasilishaji ulio sahihi kiutendaji, licha ya juhudi zetu zote za kuboresha hili katika uundaji wa awali wa SWE-bench Verified.
- Mafunzo kuhusu suluhisho: Kwa kuwa miundo mikubwa ya mpaka inaweza kujifunza taarifa kutoka kwenye mafunzo yao, ni muhimu kwamba isifundishwe kamwe kwa matatizo na suluhisho wanayotathminiwa nayo. Hii ni sawa na kushirikisha maswali na majibu ya mtihani ujao na wanafunzi kabla ya mtihani - huenda wasikariri jibu lakini wanafunzi ambao wameona majibu hapo awali bila shaka watafanya vizuri zaidi kuliko wale ambao hawajayaona. Matatizo ya SWE-bench yanatokana na uhifadhi wa chanzo huria ambao watoa huduma wengi wa muundo hutumia kwa madhumuni ya mafunzo. Katika uchanganuzi wetu tuligundua kuwa miundo yote ya mpaka tuliyojaribu iliweza kuzalisha upya marekebisho ya hitilafu ya awali yaliyoandikwa na binadamu yaliyotumika kama rejea ya ukweli wa msingi, yanayojulikana kama gold patch, au maelezo mahususi ya taarifa ya tatizo kama yalivyo kwa baadhi ya kazi, jambo linaloonyesha kuwa yote yameona angalau baadhi ya matatizo na suluhisho wakati wa mafunzo.
Pia tulipata ushahidi kwamba miundo imegundua matatizo wakati wa mafunzo ina uwezekano mkubwa wa kufanikiwa, kwa sababu ina taarifa za ziada zinazohitajika ili kupita majaribio yasiyobainishwa vya kutosha.
Hii inamaanisha kuwa maboresho kwenye SWE-bench Verified hayawakilishi tena maboresho yenye maana katika uwezo wa miundo wa uundaji wa programu katika ulimwengu halisi. Badala yake, kwa kuongezeka zinaakisi ni kwa kiasi gani muundo uliwekwa wazi kwa kigezo cha kupima wakati wa mafunzo. Hii ndiyo sababu tumeacha kuripoti alama za SWE-bench Verified, na tunapendekeza kwamba watengenezaji wengine wa miundo wafanye hivyo pia.
Tunaunda tathmini mpya, zisizochafuliwa ili kufuatilia vyema uwezo wa kuandika msimbo, na tunaamini hili ni eneo muhimu la kuzingatia kwa jumuiya pana ya utafiti. Hadi tutakapokuwa na hizo, OpenAI inapendekeza kuripoti matokeo kwa SWE-bench Pro.
Tathmini ya awali ya SWE-bench(fungua katika dirisha jipya) ilitolewa mwaka wa 2023. Kila tatizo linatokana na suala la GitHub lililotatuliwa katika mojawapo ya uhifadhi 12 za Python za chanzo huria na kuunganishwa na pull request (PR) inayolingana. Ili kubaini kama mabadiliko ya msimbo yanayozalishwa na muundo ni sahihi, kila tatizo huja na seti mbili za majaribio:
- Majaribio yanayoshindwa kwenye msingi wa msimbo usiobadilishwa lakini hupita ikiwa tatizo limerekebishwa ipasavyo
- Majaribio ya regression yanayofaulu kabla na baada ya marekebisho ili kuhakikisha utendakazi usiohusiana unabaki salama.
Mfano hauoni vipimo. Lazima izalishe mabadiliko ya msimbo ikitumia tu maandishi ya awali ya tatizo na hali ya uhifadhi kabla ya urekebishaji. Hupita tatizo tu ikiwa majaribio yote yatapita baada ya mabadiliko ya msimbo kutekelezwa.
Tulipata masuala mengi katika tathmini hiyo ambayo yanaweza kusababisha kuripoti chini uwezo wa miundo.
- Baadhi ya majaribio ya kitengo yalikuwa maalum kupita kiasi au hayakulingana na kazi, hivyo marekebisho sahihi yangeweza kukataliwa.
- Taarifa nyingi za shughuli hazikubainishwa vizuri, jambo ambalo lingeweza kusababisha tafsiri nyingi halali - ilhali mitihani ilishughulikia tafsiri mahususi tu.
- Kulingana na usanidi wa mazingira (kwa mfano Linux dhidi ya Windows, au toleo la python), baadhi ya majaribio yanaweza kushindwa kimakosa
Tuliunda SWE-bench Imethibitishwa mwaka 2024 ili kushughulikia masuala haya. Tulishirikiana na wahandisi wa programu wataalamu kukagua matatizo 1,699 ya SWE-bench na kuchuja matatizo ambayo yalikuwa na masuala haya. Kila tatizo lilikaguliwa na wataalamu watatu huru kwa kujitegemea. Mchakato huu wa ukaguzi ulisababisha SWE-bench Imethibitishwa, seti iliyochaguliwa ya matatizo 500.
Ingawa SWE-bench Verified ni uboreshaji mkubwa ikilinganishwa na toleo la awali, bado kuna masuala yaliyosalia. Tulifanya ukaguzi wa matatizo 138 ya SWE-bench Imethibitishwa ambayo OpenAI o3 haikuyatatua kwa uthabiti katika majaribio 64 huru. Kila kesi ilikaguliwa kwa kujitegemea na angalau wahandisi wa programu sita wenye uzoefu. Ikiwa mtaalamu aliashiria tatizo, lilithibitishwa tena na timu ya ziada.
Tuligundua kuwa 59.4% ya matatizo 138 yalikuwa na masuala muhimu katika muundo wa jaribio na/au maelezo ya tatizo, na kuyafanya kuwa magumu sana au yasiyowezekana hata kwa muundo au binadamu mwenye uwezo mkubwa zaidi kuyatatua.
- 35.5% ya kazi zilizokaguliwa zina kesi za majaribio kali zinazotekeleza kwa lazima maelezo mahususi ya utekelezaji, na hivyo kubatilisha maingizo mengi ambayo ni sahihi kiutendaji, ambayo tunaziita kesi finyu za majaribio.
- 18.8% ya kazi zilizokaguliwa zina majaribio yanayokagua utendaji wa ziada ambao haukubainishwa katika maelezo ya tatizo, ambayo tunaita kesi pana za majaribio.
- Asilimia 5.1% iliyosalia ya shughuli ilikuwa na masuala mseto ambayo hayakuwekwa vizuri katika makundi kwa kutumia taksonomia hii.
Mfano wa kuonyesha wa hali ya kwanza ya kushindwa ni pylint-dev__pylint-4551(fungua katika dirisha jipya), ambapo PR inaleta kazi mpya `get_annotation` kama sehemu ya suluhisho la jumla. Jina la kitendaji hiki halijatajwa katika maelezo ya tatizo, lakini limeingizwa moja kwa moja na vipimo. Ingawa baadhi ya miundo inaweza kutambua kwa hisia kuunda kazi kama hiyo, si lazima kabisa kutekeleza kazi yenye jina hili mahususi ili kushughulikia tatizo kwa usahihi. Suluhisho nyingi halali hushindwa majaribio kwa sababu ya makosa ya uingizaji.
Maelezo ya tatizo
Kijisehemu cha majaribio cha PR
Makosa ya majaribio ya PR (yamekatwa ili kuwezesha usomaji)
Mfano wa kesi za majaribio zilizo pana kupita kiasi ni sympy__sympy-18199(fungua katika dirisha jipya). Kazi hii ilitokana na PR iliyoshughulikia masuala matatu tofauti katika kazi ya `nthroot_mod`, hasa #17373(fungua katika dirisha jipya), #17377(fungua katika dirisha jipya), na #18212(fungua katika dirisha jipya). Maelezo ya kazi ya SWE-bench Verified, hata hivyo, yanashughulikia tu tatizo la mwisho #18212(fungua katika dirisha jipya). Hii inasababisha kutolingana: majaribio ya PR yanashughulikia masuala yote matatu, ilhali maelezo yanafafanua moja tu. Katika majaribio yetu, miundo mara nyingi hutekeleza kwa usahihi marekebisho yaliyoelezwa kisha hushindwa majaribio yanayoshughulikia utekelezaji wa masuala mengine mawili.
Maelezo ya awali ya PR (kutoka kwenye GitHub PR)
Maelezo ya Tatizo kwa #18212
Maelezo ya Tatizo kwa kazi ya SWE-bench Verified (yamechukuliwa tu kutoka #18212):
SWE-bench Verified na uhifadhi (misingi ya msimbo na maelezo ya toleo) zote ni za chanzo huria na zinatumika na kujadiliwa kwa upana, jambo linalofanya kuepuka uchafuzi kuwa vigumu kwa watengenezaji wa muundo.
Tulikutana kwa mara ya kwanza na ishara za uchafuzi katika miundo yetu binafsi. Kwa mfano, wakati GPT‑5.2 ilipotatua shughuli 31 tulizotambua kuwa karibu haiwezekani kuzitatua. Katika django__django-14725(fungua katika dirisha jipya) majaribio yanahitaji parameter mpya mahususi `edit_only` ambayo haihitajiki waziwazi na taarifa ya tatizo. Wakati wa kutatua tatizo, GPT‑5.2 huonyesha katika msururu wa mawazo wake kwamba ina taarifa kuhusu maelezo ya toleo yanayofafanua mabadiliko kwenye msingi wa msimbo, na hutambua kwa usahihi kwamba kigezo cha `edit_only` kilianzishwa katika Django 4.1.
GPT‑5.2 CoT
Ili kutathmini jinsi uchafuzi ulivyo muhimu kwa upana zaidi, tuliunda mpangilio wa kiotomatiki wa kupima uwezekano wa kuathirika. Kwa kila swali la SWE-bench Imethibitishwa, tuliipa GPT‑5 jukumu la kuchunguza GPT‑5.2‑Chat, Claude Opus 4.5 na Gemini 3 Flash Preview kwa uchafuzi. Miundo hii ilichaguliwa kuondoa miundo ya uwazaji, lakini tunakiri kuna uwezekano wa kuwepo pengo la uwezo lisilo dogo kati yao.
Ili kuchunguza uchafuzi, GPT‑5 ilipokea: ID ya kazi ya SWE-bench Imethibitishwa, maelezo, kiraka cha dhahabu, na majaribio ya PR. Kwa zaidi ya zamu 15, tuliruhusu GPT‑5 kubadilisha dokeza la mfumo/la msanidi, dokeza la mtumiaji, na ujazo wa awali wa msaidizi na mikakati tofauti ya uchochezi. Baada ya kila zamu, muundo wa jaji uliweka lebo ya kiasi cha taarifa mpya mahususi kwa kazi kilichoonekana na kila jibu liliwekwa lebo kwa ukali wa uchafuzi kutoka “hakuna” hadi “mkali.” GPT‑5 iliruhusiwa kubadilisha mkakati wake kulingana na zamu zilizotangulia ili kurejesha kwa njia ya kurudia maelezo mahususi ya kazi. Kwa kila mfano wa uchafuzi mkubwa, tulithibitisha na mwamuzi mwingine kwamba GPT‑5 haikuvuja taarifa nyingi sana kwa muundo lengwa. Hatimaye, kisha tulipitia kwa mikono mifano “strong” inayounda unukuzi katika chapisho hili.
Hapa chini kuna mifano ya uchafuzi mkubwa kutoka kwa watoa huduma mbalimbali wa miundo.
Kwa kupewa kipande kifupi kutoka maelezo ya kazi, GPT‑5.2 hutoa matokeo bora kabisa. Hasa, inajua jina kamili la darasa na mbinu, pamoja na sharti jipya la kurudi mapema `if username is None or password is None` lililoanzishwa.
Kitambulisho cha Kazi: django__django-11451(fungua katika dirisha jipya)
Uchafuzi
Sehemu ya dhahabu
Opus ina uwezo wa si tu kukumbuka mabadiliko ya kiutendaji ya mistari 4 ambayo PR ilianzisha, pamoja na jina mahususi la faili na mbinu iliyoigusa, bali pia hunukuu neno kwa neno maoni ya ndani ya mstari ambayo yalikuwa sehemu ya tofauti.
Kitambulisho cha Kazi: astropy__astropy-13236(fungua katika dirisha jipya)
Uchafuzi
Sehemu ya dhahabu
Gemini 3 Flash, inapopewa hakuna taarifa zaidi kuhusu kazi hiyo isipokuwa kitambulisho, ina uwezo wa kutoa kwa neno kwa neno maelezo kutoka kwa maelezo ya kazi na kiraka cha dhahabu. Hii inajumuisha fomula mpya ya regex ya uthibitishaji wa jina la mtumiaji na nambari halisi za mistari kwa mabadiliko.
Kitambulisho cha Kazi: django__django-11099(fungua katika dirisha jipya)
Uchafuzi
Sehemu ya dhahabu
Kutokana na ukaguzi huu wa SWE-bench Imethibitishwa, tunaona mafunzo mawili mapana zaidi kwa muundo wa tathmini. Kwanza, vigezo vya kupima vinavyotokana na nyenzo zinazopatikana hadharani hubeba hatari ya uchafuzi, ambapo mfichuo wa data ya mafunzo unaweza kuongeza alama kimya kimya. Ikiwa data iliyotambazwa hadharani inatumiwa katika uundaji wa kigezo, wasanidi wa muundo wanapaswa kufanya majaribio ya ziada ili kubaini uchafuzi. Vigezo vya utendaji, na hata suluhisho zake, vinapochapishwa hadharani vinaweza kuishia kwenye data ya mafunzo. Uangalifu wa ziada unapaswa kuchukuliwa katika jinsi seti za data zinavyowekwa (i.e. inalindwa kwa nenosiri) na kichujio cha data ya mafunzo (i.e. kuzingatia kikamilifu canary strings).
Pili, upangaji alama wa kiotomatiki ni changamoto kuufanya kwa usahihi; kesi bora za majaribio zinapaswa kuthibitisha kikamilifu utendakazi sahihi, zikiwa huru dhidi ya maelezo yasiyo muhimu ya utekelezaji na pia zikiwa thabiti dhidi ya suluhisho za mkato. Matatizo haya kwa asili ni changamano na magumu kutatua. Kugundua matatizo haya kulihitaji kampeni nyingi za kina za uwekaji lebo wa kibinadamu.
Tumejumuisha matokeo haya katika juhudi zetu za hivi karibuni za tathmini. Katika miezi ya hivi karibuni tumechagua kuripoti matokeo kutoka mgawanyo wa umma wa SWE-Bench Pro. Tunapendekeza wasanidi programu wengine wa muundo wafanye vivyo hivyo. SWE-bench Pro si kamilifu, lakini kwa ushahidi wa majaribio inaonekana kukumbwa kidogo na masuala ya uchafuzi. Mtiririko wetu wa uchunguzi wa uchafuzi uligundua baadhi ya matukio ya uchafuzi, lakini matukio haya yalikuwa adimu zaidi na yasiyo makubwa sana kuliko SWE-bench Verified, na hakuna muundo ulioweza kutoa verbatim gold patch kamili.
Tutaendelea kuwekeza katika vigezo asilia vilivyoandikwa kwa faragha na kuomba msaada rasmi kutoka kwa tasnia na taaluma kufanya vivyo hivyo. Katika GDPVal, shughuli huandikwa kwa faragha na wataalamu wa kikoa, kupunguza hatari ya kufichuliwa, na suluhisho hupimwa kwa mtazamo wa jumla na wakaguzi waliobobea. Mbinu hii inahitaji rasilimali nyingi, lakini inazidi kuwa muhimu kupima maboresho halisi ya uwezo.


