在 RAG 系统中,检索模块负责“找到可能相关的资料”,生成模块负责“基于资料产出最终回答”。但即便检索命中了对的文档,大模型仍然有可能“跑偏”:要么脱离资料自行发挥,要么虽然基于资料却答非所问。因此,评估和提高答案质量需要聚焦两个关键的生成质量指标:忠实度(Faithfulness) 和 相关性(Relevance)。
理解这两者的原理,是搭建可靠知识问答系统时无法绕开的一环。它们分别从不同维度守卫答案的正确性:忠实度管住“是不是照着材料说的”,相关性管住“是不是在回答用户真正想问的”。
4.5.1 忠实度:答案是否忠于检索到的上下文
定义
忠实度衡量的是生成答案中所包含的所有事实性陈述,是否都可以在提供给模型的检索上下文(即检索到的文档片段)中找到依据。一个完全忠实的答案,不会凭空添加任何上下文里不存在的信息,不会扭曲原文含义,也不会遗漏关键限制条件。
在 RAG 场景中,忠实度不高最典型的表现就是“幻觉”:模型拿到了相关文档,但还是编造了一些看起来合理但原文并未提及的细节。
为什么对 RAG 至关重要
RAG 的出发点就是让模型依赖外部知识库回答,如果模型拿到正确资料后仍然随意发挥,那么知识库的价值就大打折扣。高忠实度意味着你可以信任“答案来自资料”,从而通过审核文档质量来控制最终答案质量。
实现和保障忠实度的关键手段
- 明确限定生成范围
在提示词中清晰指令:“请严格基于以下提供的资料回答问题,不要添加任何资料中没有的信息。如果资料不足以回答问题,请明确说明‘根据现有资料无法确定’。”这种硬约束能显著降低模型自由发挥的冲动。
- 要求逐句可溯源
可以在提示中要求模型在回答时自然引用出处,例如“每个要点后标注出自哪个片段”。当模型知道自己必须为每一句话负责时,会更谨慎地贴近原文措辞。
- 事实性校验(可选增强)
在一些对准确度要求极高的场景,可以引入一层轻量的后处理校验:用自然语言推理(NLI)模型判定生成文本中的每个陈述,是否与检索上下文存在“蕴含”关系。对判定为“矛盾”或“中立”的陈述进行标记、修正或直接过滤。这是自动评估忠实度的常用方法。
实用建议
忠实度问题不能只靠后验证,更要在提示词设计和检索策略上“防患于未然”。实践中,当你发现答案经常出现虚构的日期、比例或人名时,优先检查:模型是否有被明确告知“只能引用给定资料”,以及检索片段是否包含足够的信息量。
4.5.2 相关性:答案是否精准回应用户提问
定义
相关性衡量的是生成答案与用户原始问题之间的匹配程度。一个高相关性的答案,会直击问题的核心,不旁生枝节,不遗漏关键点,也不会用一堆技术背景介绍来敷衍一个只需 Yes/No 的简单问题。
注意,相关性不是答案“写得有多详细”,也不是“语法有多正确”,而是它多大程度上解决了用户提问所表达的真正需求。
为什么对 RAG 至关重要
在 RAG 系统中,相关性出问题通常有两种表现:一是检索环节拉回来的是不直接相关的文档,模型只能基于这些跑偏的材料回答;二是检索材料本身没问题,但模型生成的回答啰嗦、避重就轻,或者回答的是另一个相似但不同的问题。如果不加控制,最终用户体验会很差:“我问库存,它给我讲产品发展史”。
影响相关性的环节与改进原理
- 检索侧的相关性保证
如果检索模块无法把真正相关的片段排到前面,生成答案的任何努力都是空中楼阁。需要持续优化:嵌入模型选择、分块策略、多路召回、重排序(Re‑rank)等。相关性在检索阶段通常通过 top‑k 准确率、MRR 等指标度量。
- 生成侧的相关性控制
即使给了完美材料,模型仍有可能生成跑题的答案。可以通过提示词明确要求:“请用简洁的语言直接回答以下问题,避免冗长的背景介绍。”如果问题是封闭式的(如“是否支持 65W 充电”),可以要求模型先给出明确结论,再补充说明。
- 上下文长度的副作用
检索到的片段过多、过长时,模型容易“迷失”在海量上下文里,抓不住重点。这也是为什么在 RAG 实践中,常常需要压缩或总结检索到的片段,而不是把所有原文一股脑塞进去。保持提供给模型的上下文精炼,是保障生成相关性的一条实践经验。
忠实度与相关性的关系
两者经常会相互影响。一个极端的例子:当用户问“能否在 24 小时内发货?”,如果检索到的资料中根本没有提到发货时效,模型出于“忠实度”应该回答“现有资料未提及”。这个回答忠实度极高,但对用户而言相关性可能偏低——因为用户仍然没有得到有决策价值的明确指引。此时更好的处理是让模型在“不知”的同时,附带可操作的建议,例如“资料未明确 24 小时发货承诺,建议联系仓库确认,或查看《配送说明》。”这样就在忠实的前提下,尽可能提高了回答的实用性,间接提升了相关性。
实践中的权衡与评价方法
- 人工抽查:最真实但不可规模化。可以定期抽检一批问答,分别就“是否胡编乱造(忠实度)”和“是否回答了核心问题(相关性)”打分,作为系统健康度基线。
- 自动评测:用另一 LLM 作为评委(LLM‑as‑a‑judge),按预设标准评分,如让评判模型一边对照检索文本,一边对照问题和回答,给出忠实度和相关性的 1‑5 分判定。这是目前性价比最高的持续评估方式。
- 前端反馈:在应用界面加入“有帮助/无帮助”或“点踩”按钮,并将低分回答纳入人工复检,可以很快发现系统性的忠实度或相关性偏差。
一个真实的调试案例
某企业内部知识库助手上线后,发现对于“如何申请远程办公?”这类问题,回答常常包含大量不相关的《网络接入安全规范》内容。排查后发现,向量检索召回的片段中包含了“远程办公需要连接 VPN……”等无关细节,模型在没有明确约束下展开了大段描述。优化措施:调整了提示词,加入“请优先回答申请流程步骤,其他技术细节仅在必要时提及”,同时在检索侧将《远程办公申请流程》文档的切块赋予更高先验权重,最终相关性得到明显提升。
一句话总结
忠实度要求“你说的话有据可查”,相关性要求“你说的话正好是我要问的”。在 RAG 系统建设过程中,需要从检索策略、提示词设计、片段压缩到评测反馈,多环节协同,才能让生成答案既忠于资料,又直击问题核心。