检索级联失效:文档删除如何毒害你的 RAG 流水线
· 阅读需 11 分钟
一个用户询问你的支持机器人退款期限何时结束。机器人带着愉快的自信给出了“60 天”的回答并附带了引用。然而,那个写着“60 天”的策略页面早在三个月前就从 CMS 中删除了。新策略是 14 天。直到有客户投诉,你的团队中才有人意识到机器人出错了。
这就是检索级联失效(retrieval cascade failure):文档已从事实源中消失,但其嵌入(embedding)仍留在索引中,在余弦相似度排名中依然靠前,不断为模型提供一个“幽灵”。RAG 流水线将向量索引视为源内容的缓存,但大多数团队在构建缓存时并没有构建失效机制。插入操作得到了所有的工程关注,而删除操作只得到了一个 TODO 注释。
这种故障很难被察觉,因为系统看起来是健康的。检索依然返回前 k 个结果。模型依然引用来源。来源 URL 甚至可能依然能解析为 404 或重定向。从外部看,唯一的信号是对于那些已经更新过的内容,回答会出现细微的错误。等人类捕捉到这一点时,错误的答案已经提供给了成千上万的用户。
