RAG Answer Quality Is Poor(RAG 回答质量差)
知识库位置:
FDE Knowledge Base/03 Engineering/Troubleshooting/RAG-Answer-Quality-Is-Poor.md
Problem(问题)
Section titled “Problem(问题)”用户反馈:
RAG(Retrieval-Augmented Generation,检索增强生成)的回答经常不准确、遗漏信息,或者答非所问。
Symptoms(症状)
Section titled “Symptoms(症状)”常见表现:
- 回答包含错误事实
- 正确知识存在,但回答没有使用
- 回答缺少关键细节
- 同一个问题结果波动较大
- Citation(引用溯源)与答案不一致
- 用户认为答案「不可信」
Important Principle(重要原则)
Section titled “Important Principle(重要原则)”不要直接得出:
模型不够强。
RAG 问题应该至少拆成:
Retrieval Problem(检索问题)vsGeneration Problem(生成问题)Diagnostic Flow(诊断流程)
Section titled “Diagnostic Flow(诊断流程)”Wrong Answer(回答错误)↓Was correct information retrieved?(正确信息被检索到了吗)├─ No → Retrieval Problem(检索问题)└─ Yes ↓Did model use the information correctly?(模型正确使用信息了吗) ├─ No → Generation / Prompt Problem(生成/提示词问题) └─ Yes → Evaluation / Requirement Problem(评估/需求问题)Possible Cause 1:Relevant Document Not Retrieved(相关文档未被检索)
Section titled “Possible Cause 1:Relevant Document Not Retrieved(相关文档未被检索)”检查:
- Query(查询)
- Retrieved chunks(检索到的内容块)
- Top-K(返回条数)
- Similarity score(相似度得分)
如果正确文档根本没进入 Context(上下文):
不应该先改 Prompt(提示词)。
Possible Fixes(可选修复)
Section titled “Possible Fixes(可选修复)”- 调整 Chunking(分块)
- 改进 Query Rewrite(查询改写)
- 调整 Embedding(向量化)
- 增加 Hybrid Search(混合检索)
- 使用 Metadata Filter(元数据过滤)
- 调整 Top-K
- 增加 Reranking(重排序)
Possible Cause 2:Correct Document Retrieved, Wrong Chunk(检索到正确文档但取错块)
Section titled “Possible Cause 2:Correct Document Retrieved, Wrong Chunk(检索到正确文档但取错块)”说明文档粒度可能有问题。
例如:
Policy Document(政策文档)↓Chunk 1: Policy title(块 1:政策标题)Chunk 2: Exception rule(块 2:例外规则)如果问题需要 Exception Rule(例外规则),但只取到了标题,就会失败。
Fixes(修复)
Section titled “Fixes(修复)”- 调整 Chunk Size(块大小)
- 增加 Chunk Overlap(分块重叠)
- 保留 Section Hierarchy(章节层级)
- 使用 Parent-child Retrieval(父子检索)
Possible Cause 3:Context Too Large(上下文过大)
Section titled “Possible Cause 3:Context Too Large(上下文过大)”Retrieved Context(检索上下文)太多可能导致:
- Noise(噪声)
- Conflicting information(冲突信息)
- Attention Dilution(注意力稀释)
尝试:
Top 20(取前 20)↓Rerank(重排序)↓Top 5(精简到前 5)而不是把所有内容都塞给模型。
Possible Cause 4:Prompt Does Not Enforce Grounding(提示词未强制有据回答)
Section titled “Possible Cause 4:Prompt Does Not Enforce Grounding(提示词未强制有据回答)”Prompt 应明确:
- 只能基于 Context(上下文)回答
- 不确定时明确说明
- 引用来源
- 不允许填补未知事实
Possible Cause 5:Conflicting Sources(来源冲突)
Section titled “Possible Cause 5:Conflicting Sources(来源冲突)”例如:
Policy v1(政策第 1 版)Policy v2(政策第 2 版)Policy v3(政策第 3 版)全部进入 Index(索引)。
系统可能检索到旧政策。
需要建立:
- Version(版本)
- Effective Date(生效日期)
- Active Status(生效状态)
- Source Priority(来源优先级)
Possible Cause 6:Question Is Not a RAG Problem(问题本身不适合 RAG)
Section titled “Possible Cause 6:Question Is Not a RAG Problem(问题本身不适合 RAG)”例如:
我的订单现在到哪里了?
这是 Transactional Data(事务数据)。
应该:
Order API(订单接口)而不是 RAG。
Prevention(预防)
Section titled “Prevention(预防)”- 建立 Golden Dataset(黄金数据集)
- 分别测 Retrieval(检索)和 Generation(生成)
- 保留 Retrieval Trace(检索链路记录)
- 文档带版本与 Metadata(元数据)
- 定期执行 Regression Evaluation(回归评估)
Escalation Criteria(升级条件)
Section titled “Escalation Criteria(升级条件)”如果多次调优后:
Retrieval quality good(检索质量良好)+Prompt stable(提示词稳定)+Data quality good(数据质量良好)但结果仍无法满足要求,才考虑:
- 更强模型
- 更复杂 Retrieval(检索)
- Domain-specific model(领域专用模型)
- Workflow redesign(工作流重设计)