Bedrock Evaluations
Tanpa evaluasi, satu-satunya detektor penurunan kualitas adalah keluhan pengguna. Bedrock evaluations memberi angka yang bisa dibandingkan antar rilis.
Intisari
- Tiga bentuk: otomatis (metrik terhitung), judge model (LLM menilai LLM), dan manusia.
- Judge model memberi skor beserta penjelasan untuk setiap respons.
- Bisa memakai dataset prompt bawaan, atau dataset buatanmu sendiri untuk kasus spesifik.
- Bisa mengevaluasi model dan knowledge base di dalam maupun di luar Bedrock.
- Evaluasi manusia dipakai saat kualitasnya bernuansa dan butuh penilaian pakar.
Tiga bentuk evaluasi
| Bentuk | Cara kerja | Cocok untuk |
|---|---|---|
| Otomatis | Metrik terhitung atas dataset prompt | Perbandingan cepat antar model dan konfigurasi |
| Judge model | LLM kedua menilai respons dan menjelaskan alasannya | Kualitas yang tidak bisa diukur metrik sederhana |
| Manusia | Tim penilai — karyawan atau pakar bidang | Nuansa, kepatuhan, dan preferensi yang halus |
Judge model adalah titik tengah yang praktis. Ia jauh lebih murah dan cepat daripada penilai manusia, dan lebih peka terhadap nuansa daripada metrik string. Penjelasan yang menyertai skor juga berharga: ia memberi tahu kenapa sebuah jawaban dinilai buruk, bukan sekadar angkanya.
Dataset evaluasi
{"prompt":"Berapa hari cuti tahunan karyawan tetap?","referenceResponse":"12 hari kerja per tahun."}
{"prompt":"Bisakah cuti tahunan diuangkan?","referenceResponse":"Tidak. Cuti tahunan tidak dapat diuangkan."}
{"prompt":"Siapa yang menyetujui cuti lebih dari 5 hari?","referenceResponse":"Kepala departemen dan HR."}
Dataset yang baik punya empat golongan, dan yang ketiga paling sering hilang:
| Golongan | Contoh | Menguji |
|---|---|---|
| Pertanyaan lugas | "Berapa hari cuti tahunan?" | Jalur normal |
| Perlu penalaran | "Kalau saya masuk Maret, berapa jatah cuti tahun ini?" | Kemampuan menyimpulkan |
| Di luar cakupan | "Berapa gaji manajer?" | Apakah model menolak — bukan mengarang |
| Ambigu | "Bagaimana soal cuti itu?" | Apakah model meminta klarifikasi |
Golongan ketiga adalah pengukur halusinasi. Model yang menjawab "gaji manajer adalah 25 juta" untuk pertanyaan yang jawabannya tidak ada di dokumen mana pun adalah kegagalan yang jauh lebih berbahaya daripada jawaban yang kurang lengkap.
Menjalankan
kelola = boto3.client("bedrock")
kelola.create_evaluation_job(
jobName="eval-asisten-hr-2026-08",
roleArn=ROLE_EVAL,
evaluationConfig={"automated": {
"datasetMetricConfigs": [{
"taskType": "QuestionAndAnswer",
"dataset": {"name": "cuti-2026",
"datasetLocation": {"s3Uri": "s3://eval-ku/cuti.jsonl"}},
"metricNames": ["Builtin.Accuracy", "Builtin.Robustness", "Builtin.Toxicity"],
}]
}},
inferenceConfig={"models": [{"bedrockModel": {
"modelIdentifier": MODEL_ID,
"inferenceParams": json.dumps({"temperature": 0.0}),
}}]},
outputDataConfig={"s3Uri": "s3://eval-ku/hasil/"},
)
Menjadikannya gerbang rilis
Angka evaluasi baru berguna kalau ia bisa menghentikan deploy. Ini menyambung langsung ke stage evaluasi di pipeline Fase 2:
- Simpan skor baseline dari rilis yang sekarang berjalan.
- Setiap perubahan prompt, model, atau konfigurasi RAG memicu evaluasi.
- Bandingkan dengan baseline.
- Turun melewati ambang → pipeline gagal, deploy berhenti.
- Naik → jadikan baseline baru.
Perubahan prompt adalah perubahan produksi. Ia tidak membuat satu pun tes unit gagal, tidak memunculkan error, dan tidak terlihat di metrik operasional. Tanpa gerbang evaluasi, satu-satunya alarmnya adalah pengguna yang mengeluh beberapa minggu kemudian.
Apa yang layak dievaluasi
| Keputusan | Bandingkan |
|---|---|
| Pilihan model | Model besar vs kecil pada dataset yang sama |
| Strategi chunking | Fixed vs hierarchical (latihan Fase 4) |
| Reranker | Dengan dan tanpa |
| Perubahan prompt | Versi lama vs baru |
| Ambang guardrail | Berapa banyak jawaban benar ikut terblokir |
Latihan: susun dataset 20 pertanyaan dengan keempat golongan di atas — minimal lima di antaranya di luar cakupan. Jalankan evaluasi untuk dua model berbeda dan catat skornya. Simpan angka yang menang sebagai baseline untuk gerbang rilis.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.