LLM-as-a-judge là dùng một LLM mạnh để chấm output của LLM khác theo các tiêu chí như đúng/sai, hữu ích, bám đề, an toàn. Nó thay được phần lớn công chấm tay: rẻ hơn khoảng ba bậc và chạy được trên hàng chục nghìn mẫu.
Ba cách dùng:
- So cặp — cho judge hai câu trả lời A và B, chọn cái tốt hơn. Phù hợp nhất cho A/B test giữa hai prompt hoặc hai model, vì so sánh tương đối dễ hơn chấm điểm tuyệt đối.
- Chấm theo thang — chấm một câu trả lời theo rubric 1–5 trên từng tiêu chí. Chi tiết hơn nhưng khó hiệu chỉnh.
- Có đáp án chuẩn hoặc không — có đáp án thì chấm được độ đúng; không có thì chỉ chấm được các tiêu chí hình thức như mạch lạc, bám đề.
Các thiên lệch phải biết trước khi tin vào điểm số:
- Thiên vị chính mình — model chấm cao cho văn của chính dòng model đó. Khắc phục: chọn judge khác dòng với model bị chấm.
- Thiên lệch vị trí — trong so cặp, judge nghiêng về phương án đứng trước. Khắc phục: chạy hai lần với thứ tự đảo rồi lấy trung bình. Đây là lỗi dễ sửa nhất mà nhiều người bỏ qua.
- Thiên vị độ dài — câu dài hơn được chấm cao hơn dù không hay hơn. Khắc phục: nói thẳng trong prompt rằng độ dài không phải tiêu chí.
- Dồn điểm về giữa — judge ngại cho 1 hoặc 5, nên thang 5 mức thực chất chỉ dùng được 3.
- Không chấm được độ đúng về dữ kiện nếu bản thân judge cũng không biết sự thật đó — bắt buộc phải cấp đáp án chuẩn hoặc ngữ cảnh.
Cách dùng cho đáng tin:
- Kiểm chính bộ chấm trước khi tin nó: cho người chấm tay 100–200 mẫu, đo mức đồng thuận giữa người và judge. Đồng thuận thấp thì mọi con số sau đó vô nghĩa. Đây là bước hay bị bỏ nhất.
- Bắt judge lập luận trước rồi mới cho điểm — chất lượng chấm tăng rõ.
- Hội đồng nhiều judge khác dòng rồi lấy đa số, nếu quyết định quan trọng.
- Duy trì đối chiếu định kỳ với người thay vì kiểm một lần rồi thôi, vì đổi model hay đổi prompt là bộ chấm cũng lệch theo.
Công cụ: RAGAS, DeepEval, TruLens, Arize Phoenix, LangSmith, Braintrust.