RAG có hai chặng nên phải đo cả hai. Chỉ chấm câu trả lời cuối thì biết là sai nhưng không biết sai ở đâu — retrieval lấy nhầm tài liệu, hay tài liệu đúng mà model vẫn bịa.
RAGAS đưa ra bộ chỉ số dùng chính LLM làm giám khảo, phần lớn không cần đáp án chuẩn. Cơ chế chung của nó là tách nhỏ thành mệnh đề rồi kiểm từng mệnh đề.
Đo chặng retrieval:
- Context Precision — trong các đoạn lấy về, bao nhiêu phần thực sự liên quan. Hỏi giám khảo từng đoạn "có giúp trả lời câu hỏi không" rồi lấy tỉ lệ. Chỉ số này đo nhiễu: precision thấp nghĩa là đang nhồi rác vào ngữ cảnh.
- Context Recall — những dữ kiện cần để trả lời có nằm trong ngữ cảnh không. Đây là chỉ số cần đáp án chuẩn: tách đáp án thành các mệnh đề rồi kiểm từng mệnh đề có căn cứ trong ngữ cảnh không.
Đo chặng generation:
- Faithfulness — chỉ số quan trọng nhất của RAG, đo mức bịa. Tách câu trả lời thành các mệnh đề rồi kiểm từng mệnh đề có suy ra được từ ngữ cảnh không; điểm = số mệnh đề có căn cứ / tổng số mệnh đề. Cái hay là nó chấm được mà không cần biết đáp án đúng — chỉ cần biết model có bịa thêm hay không.
- Answer Relevancy — câu trả lời có đúng trọng tâm câu hỏi không, vì đúng sự thật mà lạc đề vẫn là hỏng. Cách đo khá khéo: từ câu trả lời sinh ngược ra vài câu hỏi rồi so độ tương đồng với câu hỏi gốc.
Ghép bốn chỉ số này lại thì khoanh được vùng lỗi: recall thấp → lỗi retrieval; recall cao mà faithfulness thấp → lỗi generation; faithfulness cao mà relevancy thấp → model bám ngữ cảnh nhưng trả lời lạc đề.
Quy trình chuẩn: dựng bộ chuẩn 100–500 câu gồm (câu hỏi, tài liệu đúng, đáp án chuẩn) → chạy pipeline và log lại toàn bộ → chấm bằng giám khảo → theo dõi điểm qua từng phiên bản chunking/prompt/model → đưa vào CI làm suite hồi quy.
Cảnh báo quan trọng: giám khảo LLM có thiên lệch — ưu ái câu dài, ưu ái văn phong của chính dòng model đó, và bị ảnh hưởng bởi thứ tự trình bày. Nên định kỳ cho người chấm tay khoảng 10% mẫu để kiểm lại chính bộ chấm. Coi điểm RAGAS là tín hiệu định hướng, không phải sự thật tuyệt đối.
Công cụ: RAGAS gần như là chuẩn mặc định; DeepEval tích hợp pytest nên tiện đưa vào CI; TruLens, Arize Phoenix, Langfuse cho phần theo dõi và trace.