Lewati ke konten utama
menjadi.dev
Chapter 37.2 AI Product Lanjutan

LLM-as-Judge: Evaluasi Otomatis Output AI

Menggunakan LLM sebagai 'juri' untuk mengevaluasi output LLM lain — methodology dan best practices

Tujuan Pembelajaran

  • Memahami konsep LLM-as-judge dan kapan valid menggunakannya
  • Mampu mendesain evaluation prompt yang menghasilkan penilaian konsisten
  • Mampu mengimplementasikan automated evaluation pipeline dengan LLM judge

Analogi

Diagram

      LLM-as-Judge = Peer Review Akademik:

Paper (Output AI) dikirim ke 2-3 reviewer (LLM judge) yang menilai:
- Factuality: Apakah klaim didukung evidence?
- Clarity: Apakah penjelasan mudah dipahami?
- Completeness: Apakah semua aspek dibahas?
- Safety: Apakah ada konten berbahaya?

Setiap reviewer beri skor 1-5 + justifikasi.
Final score = rata-rata skor reviewer.
    

LLM-as-judge seperti peer review — multiple LLM reviewers menilai output berdasarkan kriteria yang didefinisikan.

Penjelasan Konsep

LLM-as-judge adalah teknik menggunakan LLM untuk mengevaluasi output LLM lain. Ini scalable dan relatif murah dibanding human evaluation — tapi perlu implementasi yang hati-hati untuk menghindari bias.

Cara kerja: (1) Definisikan evaluation criteria (factuality, completeness, relevance, tone, safety). (2) Tulis evaluation prompt yang spesifik: “Kamu adalah evaluator AI. Nilai output berikut berdasarkan kriteria X. Beri skor 1-5 dan justifikasi.” (3) Beri contoh evaluasi (few-shot) agar LLM judge konsisten. (4) Jalankan evaluasi — input → model produce output → judge evaluate output. (5) Aggregate scores.

Best practices: (1) Multiple judges — minimal 3 LLM judges, ambil rata-rata. Kurangi variance. (2) Position bias — LLM cenderung favor output yang muncul lebih awal/akhir. Rubah urutan. (3) Self-enhancement bias — LLM cenderung menilai output dari model yang sama lebih tinggi. Gunakan model berbeda untuk judge. (4) Chain-of-Thought judging — minta judge menjelaskan reasoning sebelum memberi skor.

Kapan valid: evaluasi kualitas subjektif (clarity, helpfulness, tone). Kapan TIDAK valid: evaluasi factuality (LLM juga bisa hallucinate), evaluasi safety untuk domain kritis.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami konsep LLM-as-judge dan kapan valid menggunakannya., mampu mendesain evaluation prompt yang menghasilkan penilaian konsisten., dan mampu mengimplementasikan automated evaluation pipeline dengan LLM judge. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca LLM-as-Judge, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

LLM-as-judge seperti peer review — multiple LLM reviewers menilai output berdasarkan kriteria yang didefinisikan. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Saat Melihat Contoh Kode

Contoh kode pada chapter ini memakai bahasa typescript. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. Tiga judge paralel dengan kriteria berbeda. Masing-masing beri skor + justifikasi. Aggregate untuk final score. Ini lebih reliable dari single judge.

Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Contoh Kode

typescript
// LLM-as-Judge evaluation
async function evaluateWithJudge(output: string, criteria: string) {
  const judgePrompt = `You are an expert AI evaluator. 
Evaluate the following AI output based on: ${criteria}.

Scoring:
1 = Poor, 2 = Below Average, 3 = Average, 4 = Good, 5 = Excellent

First explain your reasoning, then provide the score.

Output to evaluate:
---
${output}
---

Evaluation:`;

  const judge = await callAI(judgePrompt);
  return parseScore(judge);
}

// Aggregate multiple judges
async function evaluate(output: string) {
  const scores = await Promise.all([
    evaluateWithJudge(output, 'factuality and accuracy'),
    evaluateWithJudge(output, 'clarity and readability'),
    evaluateWithJudge(output, 'completeness of answer'),
  ]);
  return { avg: average(scores), scores };
}

Penjelasan Kode

Tiga judge paralel dengan kriteria berbeda. Masing-masing beri skor + justifikasi. Aggregate untuk final score. Ini lebih reliable dari single judge.

Prompt AI

Buat evaluation dataset 10 input-output pairs. Jalankan LLM judge evaluation dengan 3 kriteria berbeda. Analisis: apakah skor konsisten antar judge? Ada bias?

Pertanyaan Reflektif

Test LLM judge: beri output yang jelas salah. Apakah judge mendeteksi? Beri output yang ambigu. Apakah judge konsisten antar multiple runs?