Benchmark · agentic
SWE-bench Pro
Versi SWE-bench yang lebih sulit dan tahan terhadap kontaminasi dari Scale AI. Benchmark ini menarik ~1,865 issue GitHub nyata dari repositori enterprise, startup, dan open-source yang disisihkan (held-out) dan tidak dipakai untuk melatih model, dan perbaikannya biasanya membentang beberapa file.
Selengkapnya
- Contoh
- Diberikan sebuah issue nyata dan repositori lengkap, agen harus menghasilkan sebuah patch — yang sering menyentuh banyak file — agar test suite tersembunyi milik proyek lolos. Soal-soal berasal dari repo privat dan komersial secara khusus untuk menghindari kebocoran data pelatihan.
- Penilaian
- % issue yang terselesaikan, dilaporkan sebagai pass@1 (satu percobaan). Semakin tinggi semakin baik. Skornya lebih rendah dibanding pada SWE-bench Verified karena tugas-tugasnya lebih sulit dan belum pernah dilihat sebelumnya.
- Verifikasi
- Sepenuhnya otomatis dan disisihkan (held-out): patch yang dihasilkan diterapkan dan unit test tersembunyi asli milik repositori dijalankan di dalam sandbox. Sebuah tugas hanya dihitung jika setiap test target lolos dan tidak ada bagian lain yang mengalami regresi.
- Mengapa penting
- Dirancang untuk menahan kontaminasi dan saturasi yang menggelembungkan skor pada SWE-bench Verified, sehingga menjadi sinyal yang lebih bersih tentang kemampuan coding-agent yang nyata dan tergeneralisasi pada kode yang belum pernah dilihat model.
Contoh penyelesaian
Tugas
Repositori
acme/payments pada base commit yang tetap. Issue: Money('0.05').allocate([1, 1, 1]) kehilangan satu sen — ketiga bagian berjumlah $0.04, bukan $0.05. Hasilkan sebuah patch agar suatu alokasi selalu berjumlah kembali sama dengan nilai aslinya.Solusi
--- a/payments/money.py
+++ b/payments/money.py
@@ def allocate(self, ratios):
- total = sum(ratios)
- return [self._from_minor(self.minor * r // total) for r in ratios]
+ total = sum(ratios)
+ shares = [self.minor * r // total for r in ratios]
+ remainder = self.minor - sum(shares)
+ for i in range(remainder):
+ shares[i] += 1
+ return [self._from_minor(s) for s in shares]
Penjelasan
Pembagian integer memangkas (truncate), sehingga unit minor sisa (sen) hilang tanpa terdeteksi. Perbaikannya menghitung setiap bagian, lalu mendistribusikan sisanya satu unit demi satu unit ke bagian-bagian pertama, menjamin bahwa bagian-bagian yang dialokasikan selalu berjumlah sama dengan totalnya. Test tersembunyi memverifikasi
sum(m.allocate(ratios)) == m di beberapa nilai dan rasio.| Tanggal | Model | Skor | Sumber |
|---|---|---|---|
| 2026-07-08 | Grok 4.5 | 64.7% | xAI merilis Grok 4.5 dengan biaya rendah dan kinerja benchmark campuran |
| 2026-04-23 | GPT-5.5 | 58.6% | OpenAI merilis GPT-5.5 dan GPT-5.5 Pro melalui API |
| 2026-04-23 | GPT-5.5 | 58.6% | OpenAI merilis GPT-5.5 dengan kemampuan agentic dan penggandaan harga API |
| 2026-04-23 | Claude Opus 4.7 | 64.3% | OpenAI merilis GPT-5.5 dengan kemampuan agentic dan penggandaan harga API |
| 2025-12-11 | GPT-5.2 Thinking | 55.6% | OpenAI memperkenalkan GPT-5.2 dengan kemampuan coding, konteks panjang, dan penalaran yang ditingkatkan |
| 2025-12-11 | GPT-5.2 Thinking | 55.6% | OpenAI merilis GPT-5.2, mengungguli Gemini 3 dalam benchmark pemrograman dan penalaran |