Wiwit pisanan nerbitake SWE-bench Verified ing Agustus 2024, industri wis akeh nggunakaké iki kanggo ngukur kemajuan model ing tugas rekayasa piranti lunak otonom. Sawisé dirilis, SWE-bench Verified menehi sinyal kuwat babagan kemajuan kapabilitas lan dadi metrik standar sing dilaporaké ing rilis model tercanggih. Nglacak lan ngramal kemajuan kapabilitas iki uga dadi bagean penting saka Preparedness Framework OpenAI. Nalika wiwitané nggawe benchmark Verified, kita nyoba ngrampungaké masalah ing evaluasi asli sing ndadèkaké tugas tartamtu ora bisa dirampungaké ing dataset SWE-bench(mbukak ing jendhela anyar).
Sawisé lonjakan awal, kemajuan state-of-the-art ing SWE-bench Verified saya alon, mundhak(mbukak ing jendhela anyar) saka 74.9% dadi 80.9% sajrone 6 sasi pungkasan. Iki nimbulaké pitakon: apa kegagalan sing isih ana nggambaraké keterbatasan model utawa sipat saka dataseté dhéwé?
Ing analisis anyar, kita nemokaké loro masalah gedhé ing set Verified sing nuduhaké manawa benchmark iki wis ora cocog maneh kanggo ngukur kemajuan kapabilitas rekayasa piranti lunak otonom kanggo rilis tercanggih ing tingkat kinerja saiki:
- Tes nolak solusi sing bener: Kita mriksa subset 27.6% saka dataset sing asring gagal dirampungaké model lan nemokaké yèn paling ora 59.4% saka masalah sing diaudit nduwé kasus tes cacat sing nolak kiriman sing sacara fungsional bener, senadyan kita wis ngupaya maksimal kanggo ningkataké iki nalika nggawe SWE-bench Verified ing wiwitan.
- Latihan nganggo solusi: Amarga model tercanggih gedhé bisa sinau informasi saka latihane, penting supaya model-model kuwi ora tau dilatih nganggo masalah lan solusi sing dipigunakaké kanggo evaluasi. Iki kaya mbagi soal lan jawaban ujian sing bakal teka marang siswa sadurungé ujian - bisa waé ora apal jawabané, nanging siswa sing wis tau ndelok jawabané mesthi bakal luwih apik tinimbang sing durung. Masalah SWE-bench asalé saka repository open-source sing digunakaké akèh panyedhiya model kanggo tujuan latihan. Ing analisis kita, kita nemokaké yèn kabèh model tercanggih sing dites bisa ngasilaké manèh perbaikan bug asli sing ditulis manungsa lan digunakaké minangka referensi ground-truth, sing dikenal minangka gold patch, utawa rincian tartamtu saka pernyataan masalah kanthi tembung sing padha kanggo sawetara tugas, sing nuduhaké yèn kabèh mau wis ndelok paling ora sawatara masalah lan solusi iki nalika latihan.
Kita uga nemokaké bukti yèn model sing wis ndelok masalah iki nalika latihan luwih mungkin kasil, amarga nduwé informasi tambahan sing dibutuhaké kanggo lolos tes sing kurang spesifik.
Tegesé, peningkatan ing SWE-bench Verified wis ora nggambaraké peningkatan sing migunani ing kemampuan pangembangan piranti lunak model ing donya nyata. Nanging, saya nggambaraké sepira akèh model kapapar benchmark iki nalika wektu latihan. Mula saka iku kita wis mandheg nglaporaké skor SWE-bench Verified, lan kita nyaranaké pangembang model liyane supaya nindakaké perkara sing padha.
Kita lagi mbangun evaluasi anyar sing ora kena kontaminasi kanggo luwih apik nglacak kapabilitas coding, lan kita mikir iki wilayah penting kanggo difokusaké déning komunitas riset sing luwih jembar. Nganti kuwi kasedhiya, OpenAI nyaranaké nglaporaké asil kanggo SWE-bench Pro.
Evaluasi SWE-bench(mbukak ing jendhela anyar) asli dirilis ing 2023. Saben masalah asalé saka issue GitHub sing wis dirampungaké ing salah siji saka 12 repository Python open-source lan dipasangaké karo pull request (PR) sing cocog. Kanggo nemtokaké apa owah-owahan kode sing digawé model kuwi bener, saben masalah nduwé rong set tes:
- Tes sing gagal ing codebase sing durung diowahi nanging lolos yen issue dibeneraké kanthi bener
- Tes regresi sing lolos sadurungé lan sawisé perbaikan kanggo mesthèkaké fungsi sing ora ana gandhèngané tetep utuh.
Model ora ndelok tesé. Model kudu ngasilaké owah-owahan kode mung adhedhasar teks issue asli lan kahanan repository sadurungé perbaikan. Model mung lolos masalah yen kabèh tes lolos sawisé owah-owahan kode ditrapaké.
Kita nemokaké akèh masalah ing evaluasi kuwi sing bisa nyebabaké kapabilitas model dilaporaké luwih rendah tinimbang sakmesthiné.
- Sawetara unit test kakehan spesifik utawa ora selaras karo tugas, mula perbaikan sing bener bisa ditolak.
- Akeh pernyataan tugas kurang spesifik, sing bisa nyebabaké luwih saka siji interpretasi sing valid - déné tes mung nutupi siji sing spesifik.
- Gumantung saka setelan lingkungan (umpamané Linux vs Windows, utawa versi python), sawetara tes bisa gagal kanthi palsu
Kita nggawe SWE-bench Verified ing 2024 kanggo ngatasi masalah iki. Kita kerja bareng insinyur piranti lunak ahli kanggo mriksa 1.699 masalah SWE-bench lan nyaring masalah sing nduwé persoalan kaya mangkono. Saben masalah ditinjau déning telung ahli kanthi mandiri. Proses review iki ngasilaké SWE-bench Verified, yaiku set pilihan sing isi 500 masalah.
Sanajan SWE-bench Verified wis dadi perbaikan gedhé saka versi awal, isih ana masalah sisan. Kita nindakake audit marang 138 masalah SWE-bench Verified sing OpenAI o3 ora bisa rampungaké kanthi konsisten sajrone 64 run mandiri. Saben kasus ditinjau mandiri déning paling ora enem insinyur piranti lunak sing pengalaman. Yen ana ahli nandhani masalah, kasus kuwi diverifikasi manèh déning tim tambahan.
Kita nemokaké yèn 59.4% saka 138 masalah kuwi ngandhut masalah penting ing rancangan tes lan/utawa deskripsi masalah, sing ndadèkaké masalah kasebut banget angel utawa malah ora mungkin dirampungaké, sanajan déning model utawa manungsa sing paling mumpuni.
- 35.5% saka tugas sing diaudit nduwé kasus tes ketat sing maksa rincian implementasi tartamtu, saéngga akèh kiriman sing sacara fungsional bener dadi ora valid; iki kita sebut kasus tes sempit.
- 18.8% saka tugas sing diaudit nduwé tes sing mriksa fungsi tambahan sing ora kasebut ing deskripsi masalah, iki kita sebut kasus tes amba.
- Sisane 5.1% saka tugas nduwé masalah manéka warna sing ora gampang dikelompokaké nganggo taksonomi iki.
Conto sing gamblang kanggo mode kegagalan pisanan yaiku pylint-dev__pylint-4551(mbukak ing jendhela anyar), nalika PR ngenalaké fungsi anyar `get_annotation` minangka bagean saka solusi sakabèhé. Jeneng fungsi iki ora kasebut ing deskripsi masalah, nanging diimpor langsung déning tes. Sanajan sawetara model bisa waé nduwé intuisi kanggo nggawe fungsi kaya mangkono, sakjané ora wajib ngleksanakaké fungsi kanthi jeneng iki kanggo ngrampungaké masalah kanthi bener. Akeh solusi sing valid gagal tes amarga ana kesalahan impor.
Deskripsi masalah
Cuplikan tes PR
Gagal tes PR (dipotong supaya cetha)
Conto kasus tes sing kakehan amba yaiku sympy__sympy-18199(mbukak ing jendhela anyar). Tugas iki asalé saka PR sing ngrampungaké telung masalah béda ing fungsi `nthroot_mod`, yaiku #17373(mbukak ing jendhela anyar), #17377(mbukak ing jendhela anyar), lan #18212(mbukak ing jendhela anyar). Nanging deskripsi kanggo tugas SWE-bench Verified mung nyakup masalah pungkasan #18212(mbukak ing jendhela anyar). Iki nimbulaké ketidakcocokan: tes PR nyakup keteluné masalah, déné deskripsi mung njlentrehaké siji. Ing run kita, model kerep ngetrapaké perbaikan sing dijelasaké kanthi bener banjur gagal ing tes sing nyakup implementasi kanggo rong masalah liyané.
Deskripsi PR asli (saka PR GitHub)
Deskripsi Masalah kanggo #18212
Deskripsi Masalah kanggo tugas SWE-bench Verified (mung dijupuk saka #18212):
SWE-bench Verified lan repository-né (basis kode lan cathetan rilis) padha-padha open-source, digunakaké kanthi wiyar, lan kerep dirembug, mula ngindhari kontaminasi dadi angel kanggo pangembang model.
Kita pisanan nemoni pratandha kontaminasi ing model kita dhéwé. Contoné, nalika GPT‑5.2 ngrampungaké 31 tugas sing kita identifikasi meh ora mungkin dirampungaké. Ing django__django-14725(mbukak ing jendhela anyar) tes mbutuhaké parameter anyar tartamtu `edit_only` sing ora dijaluk kanthi cetha ing pernyataan masalah. Nalika ngrampungaké masalah iki, GPT‑5.2 nuduhaké ing chain of thought-né yèn model iki nduwé informasi babagan cathetan rilis sing njlentrehaké owah-owahan ing codebase, lan kanthi bener ngenali yèn parameter `edit_only` diperkenalké ing Django 4.1.
GPT‑5.2 CoT
Kanggo netepaké sepira gedhéné pengaruh kontaminasi kanthi luwih jembar, kita nggawe setup red-teaming otomatis. Kanggo saben pitakon SWE-bench Verified, kita maringi tugas GPT‑5 kanggo mriksa kontaminasi ing GPT‑5.2‑Chat, Claude Opus 4.5, lan Gemini 3 Flash Preview. Model-model iki dipilih supaya ora kalebu model nalar, nanging kita ngakoni ana kemungkinan kesenjangan kapabilitas sing ora cilik antarane model-model iki.
Kanggo mriksa kontaminasi, GPT‑5 nampa: ID tugas SWE-bench Verified, deskripsi, gold patch, lan tes PR. Sajrone 15 giliran, kita ngidinaké GPT‑5 ngowahi prompt system/developer, prompt pangguna, lan prangisi asisten uga strategi pemancingan sing béda-béda. Sawisé saben giliran, sawijining model juri menehi label sepira akèh informasi anyar sing spesifik tumrap tugas muncul, lan saben respons diwènèhi label tingkat keparahan kontaminasi saka “ora ana” nganti “kuwat.” GPT‑5 diidinaké nyetel strateginé adhedhasar giliran sadurungé supaya kanthi iteratif bisa mbalèkaké rincian sing spesifik tumrap tugas. Kanggo saben conto kontaminasi kuwat, kita verifikasi nganggo juri liya yèn GPT‑5 ora mbocoraké kakehan informasi marang model target. Pungkasané, kita mriksa kanthi manual conto-conto “kuwat” sing dadi transkrip ing tulisan iki.
Ing ngisor iki ana conto kontaminasi kuwat saka macem-macem panyedhiya model.
Yèn diwènèhi cuplikan cekak saka deskripsi tugas, GPT‑5.2 ngasilaké gold patch sing persis. Utamané, model iki ngerti persis jeneng kelas lan metode, uga kondisi early return anyar `if username is None or password is None` sing diperkenalké.
Pemancingan kontaminasi
Patch emas
Opus bisa ora mung ngélingi persis owah-owahan fungsional 4 baris sing diperkenalké PR, bebarengan karo jeneng file lan metode tartamtu sing diowahi, nanging uga ngutip pas komentar inline sing dadi bagean saka diff.
Pemancingan kontaminasi
Patch emas
Gemini 3 Flash, nalika ora diwènèhi informasi tambahan apa-apa bab tugas saliyané ID, bisa ngasilaké rincian saka deskripsi tugas lan gold patch kanthi tembung sing persis. Iki kalebu formula regex anyar kanggo validasi username lan nomer baris sing persis kanggo owah-owahan kuwi.
Pemancingan kontaminasi
Patch emas
Saka audit SWE-bench Verified iki, kita ndelok loro pelajaran sing luwih jembar kanggo rancangan evaluasi. Kaping pisan, benchmark sing asalé saka materi sing kasedhiya umum nduwé risiko kontaminasi, yaiku nalika paparan data latihan bisa nggelembungaké skor kanthi meneng-meneng. Yen data sing dikrawl umum digunakaké kanggo nyusun benchmark, pangembang model kuduné nindakake tes tambahan kanggo kontaminasi. Benchmark, malah solusi-solusiné, sing dipasang umum bisa waé mlebu data latihan. Perlu ngati-ati ekstra, loro-loroné ing cara dataset dipasang (contone dilindhungi sandhi) lan panyaringan data latihan (contone manut ketat marang canary strings).
Kaping pindho, penskoran otomatis angel digawé pas; kasus tes sing sampurna kuduné bisa mverifikasi fungsi sing bener kanthi pepak, yaiku loro-loroné ora gumantung marang rincian implementasi tartamtu sing ora penting lan uga tahan marang solusi trabasan. Masalah-masalah iki sakjané rumit lan angel dirampungaké. Ngenali masalah-masalah iki mbutuhaké pirang-pirang kampanye pelabelan manungsa sing ekstensif.
Kita wis nggabungaké temuan iki menyang upaya evaluasi anyar kita. Ing sawetara sasi pungkasan, kita milih nglaporaké asil saka split publik SWE-Bench Pro. Kita nyaranaké pangembang model liyane nindakaké perkara sing padha. SWE-bench Pro ora sampurna, nanging sacara empiris katon luwih sithik ngalami masalah kontaminasi. Pipeline kontaminasi kita nemokaké sawetara kasus kontaminasi, nanging kasus-kasus iki adoh luwih langka lan ora separah SWE-bench Verified, lan ora ana model sing bisa ngasilaké gold patch lengkap kanthi tembung persis.
Kita bakal terus nandur modal ing benchmark asli sing ditulis sacara privat lan njaluk pitulungan saka industri lan akademia supaya nindakaké perkara sing padha. Ing GDPVal, tugas ditulis sacara privat déning ahli domain, nyuda risiko paparan, lan solusi dinilai kanthi holistik déning reviewer sing dilatih. Pendekatan iki mbutuhaké sumber daya gedhé, nanging saya perlu kanggo ngukur peningkatan kapabilitas sing tenan.


