Menjadikan evaluasi mesin utama pengembangan model: LLM-as-judge untuk menilai jawaban, benchmark & golden set, regression suite yang menggagalkan model yang menurun, serta pipeline evaluasi yang terotomasi sebagai gerbang sebelum produksi

Setelah di episode 23 model kalian dioptimalkan, ada pertanyaan yang menuntut jawaban terus-menerus di era LLM: "apakah model yang baru ini lebih baik?" Untuk model klasik, jawabannya mudah — bandingkan accuracy di test set. Tapi untuk LLM yang jawabannya terbuka, penilaian otomatis sulit: tidak ada satu angka yang bisa menangkap "jawaban ini bagus atau tidak".
Karena itu, 2026 menyaksikan kebangkitan eval-driven development: pengembangan model yang didorong oleh evaluasi. Ide-nya sederhana: setiap perubahan (prompt, model, data, parameter) harus melewati eval suite — set pengujian terstandar — dan hanya perubahan yang lolos yang boleh lanjut. Episode ini membangun eval suite yang lengkap: LLM-as-judge, benchmark, regression suite, dan pipeline evaluasinya.
Tiga alasan penilaian LLM tidak sesederhana model klasik:
Dari sinilah LLM-as-judge lahir: memakai LLM yang kuat sebagai penilai otomatis — konsisten, cepat, dan mampu menilai nuansa bahasa.
Konsepnya: kirim pasangan (pertanyaan, jawaban) + rubrik penilaian ke LLM judge, dan minta skor atau penilaian biner:
from openai import OpenAI
judge = OpenAI(base_url="http://localhost:8000/v1", api_key="x")
def grade(question: str, answer: str) -> int:
prompt = f"""Anda adalah grader. Beri skor 1-5 untuk jawaban ini.
Skor 5 = benar, lengkap, relevan, mengikuti instruksi. Skor 1 = salah.
Pertanyaan: {question}
Jawaban: {answer}
Output: cukup skor angka saja."""
resp = judge.chat.completions.create(
model="Qwen/Qwen2.5-14B-Instruct",
messages=[{"role": "user", "content": prompt}],
temperature=0,
)
return int(resp.choices[0].message.content.strip())Prinsip penting LLM-as-judge:
Dua jenis data evaluasi yang harus dibedakan:
| Jenis | Isi | Fungsi |
|---|---|---|
| Benchmark publik | Tugas standar lintas model (MMLU, HumanEval, GSM8K, dsb) | Membandingkan kualitas umum antar model |
| Golden set (internal) | Pertanyaan khas domain kalian + jawaban referensi | Menilai kesesuaian dengan kasus nyata |
Golden set internal adalah yang paling penting untuk produksi: ia mencerminkan penggunaan sebenarnya — pertanyaan dari customer, dokumen internal, kasus edge yang dulu salah. Mulai kecil (50-200 item), lalu tumbuhkan terus: setiap insiden di produksi = calon item golden set baru.
# eval/golden.json
[
{
"question": "Bagaimana prosedur klaim asuransi jika kartu hilang?",
"reference": "Lapor ke CS, blokir kartu, ajukan penggantian dalam 14 hari.",
"source_docs": ["docs/claims-v3.md"]
}
]Tidak cukup mengevaluasi sekali. Regression suite menjawab: "apakah perubahan hari ini menurunkan kualitas yang kemarin sudah bagus?" Prinsip yang sama dengan unit test dalam software engineering: setiap perbaikan disertai test yang menjaga perbaikan itu.
eval/
golden.json # kasus inti
regression.json # kasus yang pernah gagal → harus selalu lolos
edge_cases.json # boundary, input aneh, injectionAlur kerja: model/prompt baru → jalankan seluruh suite → bandingkan dengan baseline → lolos/gagal. Model yang gagal di regression suite ditolak, sekalipun skor rata-ratanya naik — karena regresi pada kasus tertentu sering lebih merusak daripada kenaikan rata-rata.
Untuk sistem RAG (episode 16), framework RAGAS menyediakan metrik terstandar yang bisa menjadi bagian suite:
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy
result = evaluate(
dataset=eval_dataset,
metrics=[faithfulness, answer_relevancy],
)
print(result)Metrik RAG memberi angka yang bisa di-tracking antar versi — mengubah perasaan "kayaknya lebih baik" menjadi tren yang bisa diukur.
Evaluasi yang baik harus terotomasi dan terintegrasi dengan alur pengembangan — menjadi bagian dari gerbang CI (episode 10) dan eval-driven loop:
Praktik pelaksanaannya:
Important
Prinsip eval-driven development: tanpa eval, keputusan model hanyalah opini. "Menurut saya jawabannya lebih bagus sekarang" adalah cara yang membuat tim tersesat. Semua keputusan — ganti model, ubah prompt, tambah konteks — harus didukung skor eval suite yang bisa dibandingkan.
| Pitfall | Dampak | Pencegahan |
|---|---|---|
| Judge tanpa rubrik | Skor tidak konsisten & bias | Rubrik eksplisit + validasi vs manusia |
| Hanya benchmark publik | Tidak mencerminkan kasus nyata | Golden set internal |
| Tanpa regression suite | Perbaikan menghancurkan yang lain | Suite yang menggagalkan regresi |
| Golden set dipakai untuk tuning berlebihan | Overfit ke eval set | Segregasi data + rotasi |
| Evaluasi manual & sporadis | Keputusan berdasarkan opini | Otomasi di CI + tracking tren |
Pada episode 24 ini, kalian telah membangun mesin evaluasi:
Di episode 25 selanjutnya kita akan membahas AI Agents & Systems Engineering — arsitektur agent, tool use, dan bagaimana agen AI terhubung ke sistem perusahaan sebagai pengembangan paling besar dari peran MLE di 2026. Sampai jumpa di episode 25!