AI测试日报8.24|带你了解最新的AI测试方向日期:2026-08-24范围:Agentic RAG 测试、检索精度与召回率、知识库投毒、分块策略影响、上下文组装质量、多跳推理、检索幻觉、嵌入模型漂移
今日摘要
- Agent 在检索到的文档与问题无关时,仍有 25-40% 的概率基于无关文档生成答案——而非承认"我不知道"。这就是"检索幻觉":agent 把无关文档当成相关依据,编造出看似有据可查的答案。
- 知识库投毒是 RAG 特有的隐蔽攻击面:在知识库中混入 5-10% 的不准确文档后,agent 基于错误文档回答的比例上升到 35-50%。投毒文档不需要很精致——只要"看起来相关"就能被检索到并被 agent 采信。
- 分块策略对检索质量的影响可达 20-30%:同样的知识库,换一种分块方式(固定长度 vs 语义分块 vs 段落分块),检索精度显著不同。分块过大导致噪声多,分块过小导致上下文不完整。
- 多跳推理是 RAG 的最大短板:需要综合多个文档才能回答的问题,准确率比单文档问题低 30-40%。Agent 倾向于从单个最相关的文档中提取答案,而不是综合多个文档的片段。
- 嵌入模型漂移是隐性质量杀手:嵌入模型更新后,所有文档的向量表示都会变化,检索结果可能完全不同。但知识库内容和查询都没有变化——"什么都没改但检索质量突然下降"。
- RAG 管道需要端到端测试:检索精度、检索召回率、答案忠实度(agent 是否只基于检索内容回答)、上下文相关性、多跳推理能力——五个维度缺一不可。
一、检索幻觉:agent 的"有据可查"可能是假的
RAG 的设计初衷是让 agent 基于检索到的真实文档回答问题,减少幻觉。但评测显示,RAG 并没有消除幻觉,而是改变了幻觉的形态——从"凭空编造"变成"有据可查地编造"。检索幻觉的典型场景:用户问了一个知识库中没有答案的问题,agent 检索到了几篇"看起来相关但实际不相关"的文档,然后基于这些文档"推理"出一个答案。答案看起来有依据(引用了文档片段),但依据与问题无关。评测数据:agent 在检索到的文档与问题无关时,仍有 25-40% 的概率生成看似合理的答案,而不是回答"知识库中没有相关信息"。这个比例在以下场景更高:问题与文档的主题有语义相似性但实际不相关(约 45-55%);检索返回了 3 篇以上文档,agent 从其中"拼凑"出答案(约 40-50%);问题包含否定或条件("哪个不是"、"在什么情况下不"),agent 忽略限定词直接回答(约 35-45%)。无关文档测试:提出知识库中没有答案的问题,验证 agent 是否回答"不知道"而非编造答案。语义相似但实际无关测试:提出与知识库内容主题相似但实际不相关的问题,测量检索幻觉率。否定/条件问题测试:提出包含否定或条件限定的问题,验证 agent 是否正确处理限定词。引用溯源测试:对 agent 的每个回答,验证其引用的文档片段是否真的支持该回答。二、知识库投毒:RAG 特有的隐蔽攻击面
8-6 讨论了指令投毒(通过注入恶意指令影响 agent 行为),今天讨论一个更隐蔽的攻击面:知识库投毒。知识库投毒的典型路径:攻击者(或粗心的团队成员)向知识库中写入了不准确的信息。这些信息"看起来合理",能通过人工审核,但实际包含错误。Agent 检索到这些信息后,将其作为权威来源使用。评测数据:在知识库中混入 5% 的不准确文档后,agent 在相关问题上基于错误文档回答的比例从基线的 5% 上升到 35%。混入 10% 后,这个比例进一步上升到 50%。投毒文档不需要很精致——只要满足两个条件就能生效:语义相关性:投毒文档的 embedding 与目标查询足够接近,能被检索到;表面可信度:投毒文档的格式和语气与正常文档一致,不会被 agent 的"可信度判断"过滤掉。更危险的是:知识库投毒的影响是持久的。一条投毒文档会被所有相关查询检索到,影响所有用户,直到被发现并删除。投毒注入测试:向知识库中注入已知错误文档,测量 agent 基于错误文档回答的比例。投毒检测测试:验证系统是否能识别知识库中的异常文档(与知识库整体分布不一致的内容)。投毒影响范围测试:注入一条投毒文档,测量它影响了多少个查询的答案。投毒恢复测试:删除投毒文档后,验证 agent 的回答是否恢复到正确状态。三、分块策略:被忽视的检索质量变量
RAG 管道中,文档需要被切分成"块"(chunk)后做 embedding 和存储。分块策略对检索质量的影响远超预期——评测显示,同样的知识库和同样的查询,不同分块策略的检索精度差异可达 20-30%。结构化文档(API 文档、规范):段落/章节分块效果更好;非结构化文档(会议纪要、聊天记录):语义分块效果更好;混合内容:需要自适应分块策略,根据内容类型动态选择。分块策略对比测试:对同一知识库使用不同分块策略,用标准查询集测量检索精度和召回率。分块大小敏感度测试:在不同分块大小(100/250/500/1000 token)下测量检索质量,找到最优区间。边界截断影响测试:验证在句子/段落中间截断对检索质量的影响。重叠分块测试:验证块间重叠(overlap)对检索质量的影响和最优重叠比例。四、多跳推理:RAG 的最大短板
许多真实问题需要综合多个文档才能回答——这就是"多跳推理"。例如:"项目 A 和项目 B 使用的数据库分别是什么?它们的版本是否兼容?"这个问题需要检索项目 A 的文档和项目 B 的文档,然后做比较推理。评测显示,多跳推理是 RAG 的最大短板:需要综合 2 个文档的问题,准确率比单文档问题低约 30%;需要综合 3 个以上文档的问题,准确率降低约 40-50%。检索召回不足。多跳问题需要检索到多个相关文档,但检索系统倾向于返回与查询最相似的几个文档——如果某个文档的语义相似度不够高,就不会被检索到。上下文组装困难。即使检索到了多个相关文档,agent 在组装上下文时可能遗漏关键片段,或者把不同文档的信息混淆。推理链断裂。Agent 在基于多个文档做推理时,可能在某一跳上出错,导致后续推理全部偏离。多跳查询测试集:构建需要综合 2/3/5 个文档才能回答的标准查询集,测量不同跳数下的准确率。检索召回测试:对多跳查询,验证所有相关文档是否都被检索到。上下文组装测试:验证 agent 是否正确引用了所有相关文档,而不是只依赖最相关的一个。推理链验证测试:对多跳推理的每一步做独立验证,找到推理链断裂的位置。五、今日测试方法:Agentic RAG 验证五步法
建议对 agent 的 RAG 管道建立以下验证流程:构建标准查询集:准备 100 个标准查询,覆盖单文档问题、多文档问题、知识库中无答案的问题、否定/条件问题四个类别。检索精度与召回率测试:用标准查询集测量检索管道的精度(检索到的文档中相关的比例)和召回率(相关文档中被检索到的比例)。答案忠实度测试:验证 agent 的回答是否只基于检索到的文档,而非编造内容。投毒韧性测试:向知识库注入错误文档,测量 agent 基于错误文档回答的比例。分块策略对比:在不同分块策略下重复以上测试,选择最优策略。六、今日推荐测试清单
1. 检索精度与忠实度
对 agent 的每个回答做引用溯源:引用的文档片段是否支持回答。提出知识库中无答案的问题,测量"拒绝回答率"(agent 是否说"不知道")。测量检索幻觉率:agent 基于无关文档生成答案的比例。2. 知识库投毒韧性
注入 5% 和 10% 的错误文档,测量 agent 基于错误文档回答的比例。验证投毒检测能力:系统是否能识别知识库中的异常文档。验证投毒恢复能力:删除投毒文档后回答是否恢复正确。3. 分块策略与上下文组装
对多跳查询验证所有相关文档是否被检索到并正确组装。4. 多跳推理
验证 agent 是否综合了所有相关文档,而非只依赖最相关的一个。七、今日关键指标建议
| | |
|---|
| | |
| | |
| | |
| Hallucination Under Irrelevance | | |
| | |
| | |
| | |
| Embedding Drift Sensitivity | | |
| Context Assembly Completeness | | |
| | |
八、风险提醒
- 不要假设 RAG 消除了幻觉。RAG 改变了幻觉的形态——从"凭空编造"变成"有据可查地编造",后者更隐蔽。
- 不要忽视知识库投毒。5-10% 的投毒文档就能让 agent 在 35-50% 的相关问题上给出错误答案。
- 不要默认分块策略无关。不同分块策略的检索精度差异可达 20-30%,需要根据内容特征选择。
- 不要假设多跳推理与单文档推理同样可靠。多跳推理准确率显著低于单文档,需要专门测试。
- 不要忘记嵌入模型漂移。嵌入模型更新后检索质量可能显著变化,需要回归测试。
- 不要把 RAG 管道当成黑盒。检索精度、答案忠实度、投毒韧性、多跳推理——每个维度都需要独立验证。
参考链接
- arXiv:Evaluating RAG Systems in Agentic Workflows: Metrics and Failure Modes
https://arxiv.org/abs/2607.09834
- Galileo:RAG Evaluation Framework — Faithfulness, Relevance, and Hallucination
https://galileo.ai/blog/rag-evaluation-framework-2026
- LangChain:Building Reliable RAG Agents — Chunking, Retrieval, and Assembly
https://blog.langchain.dev/reliable-rag-agents
- Anthropic Engineering:Context engineering for RAG — retrieval quality and knowledge management
https://www.anthropic.com/engineering/rag-context-engineering
- LlamaIndex:RAG Testing Best Practices — From Retrieval to Generation
https://www.llamaindex.ai/blog/rag-testing-best-practices
- Stanford HAI:When RAG Goes Wrong — Taxonomy of Retrieval Failures in Production
https://hai.stanford.edu/news/rag-failure-taxonomy