Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 6 — Đánh giá chất lượng: đo trước khi tin

Đã đọc 0/10 mục · còn khoảng 4 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

"Chạy thử vài câu thấy ổn" không phải đánh giá. Trước khi cho toàn công ty dùng, bạn cần một bộ đo (evaluation harness) để biết agent đúng bao nhiêu phần trăm và hỏng ở đâu.

Bước 1: Xây bộ câu hỏi vàng (golden set)

Thu 30–100 câu hỏi thật kèm đáp án đúng và nguồn mong đợi:

[
  {"q": "Nhân viên chính thức được bao nhiêu ngày phép?",
   "expected": "14 ngày/năm",
   "expected_doc": "hr-handbook-2026", "page": 5},
  {"q": "Công ty có hỗ trợ học phí không?",
   "expected": "KHÔNG CÓ TRONG TÀI LIỆU"}
]

Nhớ đưa cả câu không có đáp án để đo khả năng nói "không biết".

Bước 2: Tách hai loại lỗi

RAG hỏng ở hai chỗ, phải đo riêng:

  • Lỗi retrieval: chunk đúng có được lấy về không? Đo bằng Recall@k — tỷ lệ câu mà chunk đúng nằm trong top-k.
  • Lỗi generation: có chunk đúng rồi, LLM trả lời có đúng và có trích dẫn không? Đo bằng faithfulness (câu trả lời có neo vào chunk không) và answer correctness.
Tách như vậy để biết sửa ở đâu: Recall@k thấp → sửa chunking/retrieval (bài 3–4). Recall tốt nhưng trả lời sai → sửa prompt (bài 5).

Bước 3: Các chỉ số cốt lõi

  • Recall@k: chunk đúng có trong top-k? (đo retrieval)
  • Faithfulness: mọi khẳng định có nguồn chống lưng? (đo bịa)
  • Answer correctness: khớp đáp án mong đợi?
  • Abstention accuracy: có nói "không biết" đúng lúc?
  • Citation validity: trích dẫn có trỏ đúng nguồn?

Bước 4: Chấm điểm — con người + LLM-as-judge

Chấm tay 30 câu để có chuẩn. Muốn mở rộng, dùng LLM-as-judge: đưa câu hỏi + đáp án agent + đáp án vàng cho một LLM chấm.

JUDGE = """Chấm câu trả lời so với đáp án chuẩn.
Tiêu chí: (1) đúng sự thật, (2) có trích dẫn hợp lệ.
Trả JSON: {"correct": true/false, "grounded": true/false, "reason": "..."}"""

def judge(q, answer, gold):
    return llm.generate(JUDGE + f"\nHỏi:{q}\nĐáp:{answer}\nChuẩn:{gold}")

Cẩn trọng: LLM-judge cũng sai; hãy đối chiếu định kỳ với chấm tay.

Khung tư duy: vòng lặp cải thiện

Đo golden set → tìm lỗi tệ nhất
  → retrieval kém? sửa chunk/k/hybrid
  → generation kém? sửa prompt/nguồn
  → chạy lại golden set → so số trước/sau
Mọi thay đổi phải so điểm trước/sau trên cùng bộ vàng, đừng sửa mù.

Ví dụ chẩn đoán

Agent trả lời sai câu "số ngày phép". Kiểm tra:

  • Chunk đúng có trong top-5 không? → Không ⇒ lỗi retrieval. Chunk bị cắt ngang, thiếu heading "Nghỉ phép". Sửa chunking, Recall@5 tăng từ 0.7 → 0.9.
  • Nếu chunk có mà vẫn sai ⇒ lỗi prompt: LLM lấy nhầm con số từ chunk khác. Siết prompt, thêm re-rank.

Checklist đánh giá

  • [ ] Có golden set ≥30 câu, gồm cả câu "không có đáp án".
  • [ ] Đo tách retrieval (Recall@k) và generation (faithfulness/correctness).
  • [ ] Có ngưỡng chấp nhận trước khi lên production (ví dụ correctness ≥85%).
  • [ ] Ghi lại điểm mỗi lần thay đổi để so sánh.
  • [ ] Đối chiếu LLM-judge với chấm tay định kỳ.

Sai lầm thường gặp

  • Đánh giá bằng cảm giác vài câu → mù về lỗi thật.
  • Gộp chung retrieval và generation → không biết sửa ở đâu.
  • Quên đo abstention → không phát hiện agent bịa khi thiếu dữ liệu.
  • Tin tuyệt đối LLM-judge → bỏ sót lỗi judge cũng mắc phải.
  • Sửa nhiều thứ cùng lúc → không rõ thay đổi nào giúp/hại.

Mẹo: đánh giá là tài sản dài hạn

Golden set không chỉ dùng một lần trước khi ra mắt. Mỗi khi người dùng báo lỗi (bài 7), hãy thêm câu đó vào golden set. Dần dần bộ vàng phản ánh đúng những gì người dùng thật sự hỏi và những chỗ agent hay sai. Trước mỗi lần thay đổi chunking, đổi model, hay re-index lớn, chạy lại toàn bộ golden set và so điểm — đây là lưới an toàn giúp bạn cải tiến mà không vô tình làm hỏng những câu đang chạy tốt (tránh regression).

Bài 7: đưa lên vận hành thật và giữ cho tài liệu luôn cập nhật.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi