Benchmark · coding
Aider Polyglot
Aider Polyglot adalah benchmark penyuntingan kode dari alat pemrograman Aider yang menguji seberapa baik sebuah LLM menyunting kode yang sudah ada di banyak bahasa pemrograman. Skornya adalah persentase tugas yang suntingannya menghasilkan kode benar dan lolos tes tugas tersebut.
Selengkapnya
- Contoh
- Item tipikal berupa latihan pemrograman bergaya Exercism dalam salah satu dari beberapa bahasa (Python, Rust, Go, Java, JavaScript, atau C++), di mana model harus menyunting berkas sumber yang disediakan untuk mengimplementasikan fungsi yang diminta agar tesnya lolos.
- Penilaian
- Metriknya adalah persentase tugas yang berhasil diselesaikan: sebuah tugas dihitung hanya jika kode yang disunting lolos semua tes otomatisnya. Aider juga melacak seberapa sering suntingan kembali dalam format yang benar dan dapat diterapkan.
- Verifikasi
- Hasil diperiksa secara otomatis: berkas yang disunting dijalankan terhadap rangkaian unit test setiap latihan, dan sebuah tugas lolos hanya jika semua tes lolos — tanpa suara manusia maupun perbandingan kecocokan persis.
- Mengapa penting
- Ini mencerminkan alur kerja pengembang yang nyata — menyunting berkas yang sudah ada di banyak bahasa alih-alih menulis potongan kode dari nol — sehingga menjadi sinyal praktis seberapa berguna sebuah model sebagai asisten pemrograman.
Contoh penyelesaian
Tugas
Aider Polyglot mengambil latihan dari Exercism dalam 6 bahasa: model diberi spesifikasi soal beserta berkas rangka (mis.
acronym.py berisi def abbreviate(words): ...) dan harus menyuntingnya agar suite pytest tersembunyi lulus. Contoh spesifikasi: mengubah sebuah frasa menjadi akronimnya — 'Portable Network Graphics' → 'PNG', memperlakukan spasi, tanda hubung, dan garis bawah sebagai pemisah serta mengabaikan tanda baca lainnya.Solusi
import re
def abbreviate(words):
return "".join(w[0].upper() for w in re.findall(r"[A-Za-z']+", words))
Penjelasan
Ekspresi reguler mengekstrak token kata (huruf plus apostrof di dalam kata), mengambil huruf pertama tiap token, membuatnya kapital, lalu menggabungkannya sehingga 'Portable Network Graphics' → 'PNG'. Penilaian menjalankan uji unit tersembunyi latihan itu; item baru mendapat nilai jika semua uji lulus (aider melaporkan pass@2 atas seluruh suite).