《Agent记忆错误的100个案例手册》第 6–10 案例
本辑为《Agent记忆错误的100个案例手册》连载内容。
案例 6:RAG与检索错误|negative-rejection-safe-answer-flooding
场景
企业内部知识库Agent配置了检索阈值:当所有检索结果的相似度分数低于0.7时,拒绝回答并返回”根据现有资料无法确认”。由于新上传的技术文档embedding质量较差,用户询问这些新文档中的内容时,系统频繁触发拒绝机制。
错误表现
一个月内用户查询的拒绝率高达45%,用户认为Agent”什么都不知道”,使用率急剧下降。实际上知识库中包含了答案,只是检索链路未成功召回。
解决方案
- 实施分级检索策略:先尝试精确检索,再放宽阈值进行模糊检索,最后fallback到全库扫描
- 对拒绝查询进行自动记录和离线分析,识别embedding质量问题或索引同步延迟
- 引入”尽力回答”模式:在检索结果不足时,允许Agent基于低置信度结果回答,但明确标注”此答案基于有限信息,请人工核实”
原理
硬性阈值虽然能防止幻觉,但过度保守会牺牲可用性。检索系统的置信度校准应与业务场景匹配,对内部知识库可降低阈值,对开放域可提高阈值。
案例 7:RAG与检索错误|embedding-model-domain-mismatch
场景
使用OpenAI text-embedding-3-small作为化学文献检索的embedding模型。用户查询”C-C键断裂的催化机制”,但模型将”C-C”(碳碳键)与”CC”(Copyleft许可证)的向量表示混淆,因为通用模型在训练时”CC”作为缩写出现的频率远高于化学语境中的”C-C”。
错误表现
检索结果中混入了软件许可证相关文档,Agent错误地将”CC协议”的内容作为化学催化机制的依据,产生荒谬回答。
解决方案
- 对专业领域使用领域适配的embedding模型(如PubMedBERT用于生物医学,Specter2用于学术论文)
- 在embedding前进行术语标准化和消歧(如将”C-C”扩展为”carbon-carbon bond”)
- 对通用模型进行领域微调(Fine-tuning),使用领域内的相似/不相似文档对进行对比学习
原理
Embedding模型的语义空间由其训练数据决定。通用模型在垂直领域的区分度不足,因为专业术语在通用语料中出现频率低或含义不同。领域适配能显著提升专业检索的精确度。
案例 8:RAG与检索错误|hybrid-search-weight-imbalance
场景
电商Agent的混合检索配置了稠密检索权重0.8、BM25权重0.2。用户搜索”iPhone 15 Pro Max 256GB 黑色”,稠密检索捕获了”iPhone”和”Pro”的语义,但对”256GB”和”黑色”这些精确属性的区分度不足。由于权重配置偏向稠密检索,BM25通道的精确匹配结果被压制。
错误表现
Agent推荐了iPhone 15 Pro Max 128GB 蓝色,用户下单后发现规格不符,产生退货。
解决方案
- 对不同类型的查询自动调整权重:含大量专有名词/规格参数的查询提高BM25权重,开放式查询提高稠密权重
- 使用学习排序(LTR, Learning to Rank)模型自动学习最优权重组合
- 实施召回-重排序分离架构:多路召回不设权重(取并集),由独立的重排序模型决定最终排序
原理
混合检索的权重配置对结果质量有决定性影响。固定权重无法适应查询类型的多样性。学习排序能通过用户点击反馈、购买转化等信号自动优化权重。
案例 9:RAG与检索错误|metadata-filter-race-condition
场景
企业RAG系统按用户部门进行元数据过滤(如department: "sales"),确保员工只能检索本部门文档。在一次系统更新中,向量索引先于元数据索引完成更新,导致某员工查询时,向量检索返回了其他部门的新上传文档,但元数据过滤由于索引延迟未生效。
错误表现
销售部员工检索到了财务部的”Q4裁员名单”文档,造成了严重的信息泄露。
解决方案
- 实施原子性更新:向量索引和元数据索引必须在同一事务中更新,或采用版本号机制确保一致性
- 在应用层进行后置过滤:即使检索结果返回,也在返回前再次验证用户权限和文档元数据
- 引入延迟队列:新文档上传后,在索引完全同步前标记为”不可检索”
原理
分布式系统中多索引的更新存在竞态条件。安全敏感场景下,应在最接近用户的位置(应用层)进行最终权限校验,不能依赖索引层的过滤。
案例 10:RAG与检索错误|retrieval-augmented-hallucination-feedback-loop
场景
某开放域问答Agent允许用户”采纳”AI回答并将问答对存入知识库。一次回答中,Agent对”量子纠缠的最新进展”给出了包含错误信息(虚构的论文标题和作者)的回答。用户未验证直接采纳,该错误问答对被存入向量库。后续用户查询相同主题时,检索到这条错误记录作为参考,进一步强化了错误输出。
错误表现
3个月后,该错误信息已被引用127次,成为知识库中”量子纠缠”主题的最高频结果,形成了难以消除的错误信息闭环。
解决方案
- 对用户采纳的内容实施人工审核或自动事实核查(Fact-checking)流程
- 对知识库中的内容设置可信度评分,新入库内容初始分数低,经过多轮验证后逐步提升
- 定期进行知识库审计(Knowledge Audit),对高频引用但缺乏权威来源的内容进行标记和复核
原理
RAG系统的知识库一旦被污染,污染内容会通过检索-生成-存储的循环不断自我强化。这类似于机器学习中的”数据中毒”(Data Poisoning),但发生在运行时的反馈回路中。
B. 长期记忆管理错误(案例11-20)
来源:Agent Search