乐于分享
好东西不私藏

AI测试日报8.24|带你了解最新的AI测试方向

AI测试日报8.24|带你了解最新的AI测试方向

日期:2026-08-24范围:Agentic RAG 测试、检索精度与召回率、知识库投毒、分块策略影响、上下文组装质量、多跳推理、检索幻觉、嵌入模型漂移

今日摘要

  1. Agent 在检索到的文档与问题无关时,仍有 25-40% 的概率基于无关文档生成答案——而非承认"我不知道"。这就是"检索幻觉":agent 把无关文档当成相关依据,编造出看似有据可查的答案。
  2. 知识库投毒是 RAG 特有的隐蔽攻击面:在知识库中混入 5-10% 的不准确文档后,agent 基于错误文档回答的比例上升到 35-50%。投毒文档不需要很精致——只要"看起来相关"就能被检索到并被 agent 采信。
  3. 分块策略对检索质量的影响可达 20-30%:同样的知识库,换一种分块方式(固定长度 vs 语义分块 vs 段落分块),检索精度显著不同。分块过大导致噪声多,分块过小导致上下文不完整。
  4. 多跳推理是 RAG 的最大短板:需要综合多个文档才能回答的问题,准确率比单文档问题低 30-40%。Agent 倾向于从单个最相关的文档中提取答案,而不是综合多个文档的片段。
  5. 嵌入模型漂移是隐性质量杀手:嵌入模型更新后,所有文档的向量表示都会变化,检索结果可能完全不同。但知识库内容和查询都没有变化——"什么都没改但检索质量突然下降"。
  6. 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%。
三种常见分块策略的对比:
分块策略
优势
劣势
检索精度影响
固定长度分块
实现简单,块大小均匀
可能在句子/段落中间截断,破坏语义完整性
基线
语义分块
按语义边界切分,块内语义一致
块大小不均匀,小块可能丢失上下文
+15-25%
段落/章节分块
保留文档结构,上下文完整
大段可能包含多个主题,增加噪声
+10-20%
分块策略的选择取决于知识库的内容特征:
结构化文档(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. 检索精度与忠实度

用 100 个标准查询测量检索精度和召回率。
对 agent 的每个回答做引用溯源:引用的文档片段是否支持回答。
提出知识库中无答案的问题,测量"拒绝回答率"(agent 是否说"不知道")。
测量检索幻觉率:agent 基于无关文档生成答案的比例。

2. 知识库投毒韧性

注入 5% 和 10% 的错误文档,测量 agent 基于错误文档回答的比例。
验证投毒检测能力:系统是否能识别知识库中的异常文档。
测量投毒影响范围:一条投毒文档影响了多少个查询。
验证投毒恢复能力:删除投毒文档后回答是否恢复正确。

3. 分块策略与上下文组装

对比固定长度、语义、段落三种分块策略的检索质量。
在不同分块大小下测量检索精度,找到最优区间。
验证块间重叠对检索质量的影响。
对多跳查询验证所有相关文档是否被检索到并正确组装。

4. 多跳推理

构建需要综合 2/3/5 个文档的标准查询集。
测量不同跳数下的准确率衰减。
验证 agent 是否综合了所有相关文档,而非只依赖最相关的一个。
对推理链的每一步做独立验证。

七、今日关键指标建议

指标
定义
用途
Retrieval Precision
检索到的文档中相关文档的比例
检索质量基线
Retrieval Recall
相关文档中被检索到的比例
检索覆盖度
Answer Faithfulness
agent 回答中可溯源到检索文档的比例
幻觉控制
Hallucination Under Irrelevance
无关文档场景下 agent 仍生成答案的比例
检索幻觉风险
Poisoning Susceptibility
知识库投毒后 agent 基于错误文档回答的比例
投毒韧性
Multi-Hop Accuracy Drop
多跳问题相比单文档问题的准确率下降幅度
多跳推理能力
Chunking Strategy Impact
不同分块策略的检索精度差异
分块策略选择
Embedding Drift Sensitivity
嵌入模型更新后检索精度的变化幅度
模型变更影响
Context Assembly Completeness
多跳查询中所有相关文档被正确组装的比例
上下文组装质量
Rejection Rate
知识库中无答案时 agent 正确拒绝回答的比例
知识边界感知

八、风险提醒

  1. 不要假设 RAG 消除了幻觉。RAG 改变了幻觉的形态——从"凭空编造"变成"有据可查地编造",后者更隐蔽。
  2. 不要忽视知识库投毒。5-10% 的投毒文档就能让 agent 在 35-50% 的相关问题上给出错误答案。
  3. 不要默认分块策略无关。不同分块策略的检索精度差异可达 20-30%,需要根据内容特征选择。
  4. 不要假设多跳推理与单文档推理同样可靠。多跳推理准确率显著低于单文档,需要专门测试。
  5. 不要忘记嵌入模型漂移。嵌入模型更新后检索质量可能显著变化,需要回归测试。
  6. 不要把 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