Benchmark · agentic
SWE-bench Verified
Menguji apakah sebuah agen AI mampu menyelesaikan issue GitHub nyata dari awal hingga akhir. Himpunan "Verified" berisi 500 tugas yang divalidasi manusia dari repositori Python open source populer.
Selengkapnya
- Contoh
- Diberi laporan bug dan repositorinya, model harus menghasilkan patch kode — misalnya memperbaiki fungsi parsing tanggal yang gagal agar suite tes proyek lolos.
- Penilaian
- % issue yang berhasil diselesaikan — biasanya dilaporkan sebagai pass@1 (satu percobaan). Makin tinggi makin baik.
- Verifikasi
- Sepenuhnya otomatis: patch yang dihasilkan diterapkan dan unit test tersembunyi asli milik proyek dijalankan di dalam sandbox. Sebuah tugas hanya dihitung jika setiap tes target lolos dan tidak ada yang mengalami regresi.
- Mengapa penting
- Benchmark agen coding dunia nyata terdepan sekaligus angka utama di setiap rilis frontier; kemajuan di sini menunjukkan seberapa dekat agen dengan rekayasa perangkat lunak otonom.
Contoh penyelesaian
Tugas
Repositori
django/django pada base commit yang tetap. Laporan bug: django.utils.text.slugify("___This-is-a-Test___", allow_unicode=True) mengembalikan '___this-is-a-test___', padahal garis bawah dan tanda hubung di awal/akhir seharusnya dipangkas sehingga hasilnya menjadi 'this-is-a-test'. Model hanya diberi teks issue beserta repositorinya dan harus mengeluarkan patch dalam format unified diff.Solusi
--- a/django/utils/text.py
+++ b/django/utils/text.py
@@ def slugify(value, allow_unicode=False):
value = re.sub(r"[^\w\s-]", "", value.lower())
- return re.sub(r"[-\s]+", "-", value)
+ return re.sub(r"[-\s]+", "-", value).strip("-_")
Penjelasan
slugify menyatukan pemisah di dalam string tetapi tidak pernah memangkas
-/_ di sekelilingnya, sehingga menambahkan .strip("-_") pada re.sub terakhir menghapusnya; patch ini minimal dan mempertahankan seluruh perilaku lainnya. SWE-bench Verified menerapkan patch ke repositori pada base commit dan menilai dengan menjalankan suite tersembunyi — dinyatakan lolos hanya jika setiap tes FAIL_TO_PASS berubah menjadi lolos sementara semua tes PASS_TO_PASS tetap hijau.