完整题目
当RAG系统输出错误结果时,如何通过实验设计或分析方法系统性地判断错误根源是来自检索模块(Retriever)还是生成模块(Generator)?请结合具体指标、验证步骤和实际案例说明判断逻辑。
本文目录
核心方法:隔离变量而不是凭症状归因
问答偏题、细节错误或文档外陈述只能作为排查线索,不能直接判定是 Retriever 或 Generator。生成器可能忽略正确证据,检索器也可能召回相关但不足以回答的材料,两者还可能同时失败。
1. 先建立可判定样本
为查询标注参考答案、支持答案的黄金证据及可回答性。没有黄金证据时,无法区分“知识库里没有答案”和“检索器没找到答案”。
2. 黄金证据替换实验
固定模型、prompt、解码参数和问题,把线上检索结果替换为人工确认的黄金证据:
- 使用黄金证据后稳定答对,说明检索、排序或上下文组装是主要瓶颈。
- 黄金证据足够且清晰但仍答错,说明生成阶段的理解、指令遵循、证据忠实度或输出解析需要排查。
- 结果时好时坏,应重复运行并控制随机性,不能用一次生成下结论。
3. 检索与生成消融
- 检索侧:检查黄金证据 Recall@K、MRR/NDCG、chunk 完整性、过滤条件和重排前后位置。
- 生成侧:在相同黄金证据上比较原 prompt、简化 prompt、抽取式基线和不同模型,检查答案 claim 是否被证据支持。