Không đo được thì không cải thiện được
Câu hỏi PM phải trả lời được trước mọi cuộc họp: "Retrieval của chúng ta tốt đến đâu?" Nếu câu trả lời là "cảm giác cũng ổn", bạn đang lái xe bịt mắt. Bài này cho bạn thước đo cụ thể.
recall@k — chỉ số quan trọng nhất
recall@k = trong top-k chunk mà hệ thống truy hồi, có bao nhiêu phần trăm câu hỏi mà ít nhất một chunk đúng nằm trong đó.
Ví dụ: bạn có 50 câu hỏi test, mỗi câu đã biết chunk đúng (gold). Đặt k=5. Với 45/50 câu, chunk đúng nằm trong top-5 → recall@5 = 90%. Nghĩa là 10% câu hỏi, mô hình không hề được thấy bằng chứng đúng — nó buộc phải bịa hoặc từ chối.
> Vì sao recall@k là chỉ số bắc cầu quan trọng nhất: nó đặt trần cho chất lượng câu trả lời. Nếu recall@5 = 70%, thì tối đa 70% câu trả lời có cơ hội đúng (dựa trên bằng chứng). Không model nào vượt qua được cái trần này.
precision@k và vì sao "nhồi nhiều chunk" không phải lời giải
precision@k = trong k chunk truy hồi, bao nhiêu chunk thực sự liên quan. Bạn có thể tăng recall bằng cách tăng k (lấy nhiều chunk hơn), nhưng làm vậy sẽ:
- Kéo precision xuống (nhiều nhiễu vào context).
- Tăng chi phí token và độ trễ.
- Gây "lost in the middle": mô hình bỏ sót thông tin nằm giữa một context dài.
Bộ test vàng (golden set) — tài sản quý nhất của đội RAG
Một golden set gồm các bộ ba: (câu hỏi thật, chunk/tài liệu đúng, câu trả lời chuẩn).
Cách xây dựng
- Lấy 50–200 câu hỏi thật từ log người dùng hoặc phỏng vấn (đừng tự nghĩ câu hỏi "đẹp").
- Với mỗi câu, chuyên gia nội dung đánh dấu (các) chunk chứa câu trả lời đúng.
- Ghi câu trả lời chuẩn để về sau đánh giá cả generation.
- Bao gồm cả câu hỏi không có đáp án trong corpus — để đo xem hệ thống có biết nói "tôi không có thông tin" không.
- Phân tầng theo độ khó và theo chủ đề, để phát hiện điểm mù.
Checklist một golden set khỏe mạnh
- [ ] Câu hỏi lấy từ thực tế, không phải câu hỏi "phòng thí nghiệm".
- [ ] Có gold chunk/document rõ ràng cho từng câu.
- [ ] Có nhóm câu "không có đáp án" (để test độ trung thực).
- [ ] Được review chéo bởi hơn 1 người để giảm thiên lệch.
- [ ] Được đóng băng phiên bản (versioned) để so sánh qua các lần thay đổi.
Ví dụ ra quyết định bằng số
Đội A đề xuất đổi từ model rẻ sang model đắt gấp 4 lần, hứa "chính xác hơn". Bạn chạy golden set: recall@5 hiện tại chỉ 62%. Bạn kết luận: 38% câu hỏi mô hình không thấy bằng chứng — đổi model không giúp gì cho nhóm này. Ưu tiên đúng là cải thiện chunking/embedding để đẩy recall@5 lên trước. Một con số cứu bạn khỏi một quyết định tốn kém.
Các chỉ số nâng cao nên biết tên
- MRR (Mean Reciprocal Rank): chunk đúng nằm càng cao càng tốt; thưởng cho thứ hạng.
- nDCG: đánh giá chất lượng xếp hạng có tính đến mức độ liên quan theo bậc.
- Answer faithfulness: câu trả lời có bám sát context không (đo ở tầng generation, bài 5).
Sai lầm thường gặp
- Chỉ đo end-to-end "đúng/sai", không tách retrieval. Bạn sẽ không biết sửa ở đâu.
- Golden set toàn câu hỏi dễ, tự bịa. Số đẹp trên giấy, sập trong thực tế.
- Quên nhóm "không có đáp án". Sản phẩm sẽ bịa thay vì thừa nhận không biết.
- Đọc recall@k mà không nhìn precision và độ trễ. Tối ưu một chiều luôn phản tác dụng.
- Không đóng băng phiên bản golden set. Không so sánh được trước/sau, mọi cải tiến thành tranh cãi.