Interview: RAG系统的评估为什么比端到端模型评估更难?RAGAS框架的指标设计思路是什么?
题目解析
RAG系统包含检索和生成两个核心模块,每个模块都可能出错,且错误会相互传播。评估需要回答:是检索没找到正确文档?还是找到了但生成模块没有正确利用?还是两个都没问题但用户问题本身就超出知识范围?这种多模块的错误归因是评估的核心难点。
解答思路
RAG评估难于端到端模型的原因:1)错误来源多——检索失败、排序错误、上下文过长被截断、LLM幻觉都可能导致错误答案;2)没有统一的ground truth——检索的”正确性”和生成的”正确性”标准不同;3)评估维度多——不仅要评估答案质量还要评估答案的归因性(attribution)。RAGAS框架的设计思路是分解评估为独立维度:Faithfulness(忠实度)——答案是否忠于检索到的上下文;Answer Relevancy——答案是否回答了问题;Context Precision——检索结果中相关文档是否排在前面;Context Recall——相关文档是否都被检索到。
关键要点
- Faithfulness评估:将答案分解为原子声明,逐一验证每个声明是否能从context中推导出
- Answer Relevancy评估:用LLM从答案反向生成可能的问题,与原始问题比较相似度
- RAGAS的巧妙之处:大部分指标不需要人工标注的ground truth,用LLM自动评估
- 端到端评估(如用ROUGE/BLEU)无法区分检索和生成的贡献,不利于优化
加分回答
可以讨论RAGAS的局限性:依赖评估LLM的质量,可能存在评估偏差(evaluator bias)。还可以介绍其他评估框架如ARES(自动化RAG评估)和TruLens(基于反馈函数的评估)。更深入地可以讨论面向多轮对话RAG的评估挑战——需要考虑上下文连贯性和长程依赖,现有框架覆盖不足。
常见踩坑
- 只用最终答案质量评估RAG——无法定位优化方向
- 用少量样本评估RAG系统——RAG的表现对查询分布高度敏感
- 忽略了评估本身的一致性——不同评估LLM给出的分数可能差异很大