Benchmark · coding
HumanEval
HumanEval mengukur kemampuan model menulis kode Python yang benar dari deskripsi dalam bahasa alami; dinilai dengan pass@1, yaitu proporsi soal yang berhasil dipecahkan pada percobaan pertama.
Selengkapnya
- Contoh
- Soal umumnya memberikan signature fungsi dan docstring-nya — misalnya "kembalikan daftar semua bilangan prima di bawah n" — dan model harus mengisi badan fungsi tersebut.
- Penilaian
- Metriknya adalah pass@1: setiap solusi yang dihasilkan dijalankan terhadap unit test tersembunyi, dan skornya adalah persentase dari 164 soal yang solusinya lolos semua tesnya.
- Verifikasi
- Sepenuhnya otomatis: sebuah solusi dianggap benar hanya jika lolos semua unit test tersembunyi untuk soal itu; tanpa penilaian manusia maupun pencocokan string yang persis.
- Mengapa penting
- Ini salah satu benchmark pembuatan kode pertama yang dipakai luas dan menjadi acuan standar kemampuan pemrograman, meski model-model terbaik kini mencetak skor begitu tinggi sehingga praktis sudah jenuh dan nyaris tak membedakannya.
Contoh penyelesaian
Tugas
Lengkapi isi fungsi Python ini agar lolos unit test tersembunyi:
```python
from typing import List
def below_zero(operations: List[int]) -> bool:
"""You're given a list of deposit and withdrawal operations on a bank account starting at zero balance. Detect whether the balance ever drops below zero and return True at that point; otherwise return False.
>>> below_zero([1, 2, 3])
False
>>> below_zero([1, 2, -4, 5])
True
"""
```
Solusi
from typing import List
def below_zero(operations: List[int]) -> bool:
balance = 0
for op in operations:
balance += op
if balance < 0:
return True
return False
Penjelasan
Simpan saldo berjalan, tambahkan setiap operasi secara berurutan, dan kembalikan True begitu saldo turun di bawah nol; jika loop selesai berarti saldo tidak pernah negatif, jadi kembalikan False. HumanEval menilai dengan menempelkan completion model ke prompt lalu menjalankannya terhadap unit test tersembunyi (pass@k) — item dianggap terpecahkan hanya jika semua assert lolos.
| Tanggal | Model | Skor | Sumber |
|---|---|---|---|
| 2026-07-16 | Granite 4.0 3B | 83.5% | IBM membuka sumber CodeAlchemy, dataset sintetis masif berisi kode berkualitas tinggi |
| 2024-07-15 | Qwen2-72B | 64.6% | Laporan Teknis Qwen2 memperkenalkan model padat dan MoE hingga 72B |
| 2024-07-15 | Qwen2-72B | 64.6% | Tim Qwen merilis seri Qwen2 dengan model padat dan MoE 72B |
| 2024-06-20 | Claude 3.5 Sonnet | 92.0% | Anthropic merilis tambahan untuk Claude 3.5 Sonnet dengan peningkatan benchmark pemrograman dan visi |
| 2024-06-20 | Claude 3.5 Sonnet | 92.0% | Anthropic |
| 2024-05-13 | GPT-4o | 90.2% | OpenAI |
| 2024-03-28 | Grok-1.5 | 74.1% | xAI merilis Grok-1.5 dengan penalaran yang ditingkatkan dan konteks 128K |
| 2023-03-14 | GPT-4 | 67.0% | OpenAI |