智能体记忆污染:一次错误工具响应如何毒害整个会话
你的智能体正确完成了一项多步研究任务的 80%,然后自信地给出了一个完全错误的结论。你翻查日志,在第三步找到了罪魁祸首:一次工具调用返回了过时数据,智能体将其作为事实整合,之后的每个推理步骤都建立在这个被毒化的前提之上。到会话结束时,智能体对一切都是正确的——除了最关键的那件事。
这就是智能体记忆污染——它是生产智能体系统中最隐蔽的可靠性故障之一。与崩溃或超时不同,它产生的是自信的错误答案。可观测工具记录的是一次成功运行,用户带着错误信息离开。
LLM 智能体如何积累和信任工作记忆
LLM 智能体通过上下文窗口维护状态。每次工具响应、每次观察、每个中间结论都会被追加到一个不断增长的对话缓冲区中。这个缓冲区是智能体的工作记忆,它有一个让污染变得危险的关键特性:其中的一切都带有隐式信任。
当语言模型处理上下文窗口时,它不会使用显式的可信度评分来权衡最近的工具输出与更早的输出。它将整个上下文视为下一步推理的证据。第三轮中写着"用户账户余额:$47,200"的工具输出,会影响智能体如何解读此后整个会话中的每一个财务查询——而模型并没有主动选择信任它。
对智能体失败模式的研究证实了这一规律。一项针对 40 个开源智能体仓库中 13,602 个生产问题的系统分析发现,"感知、上下文与记忆"故障占了 72 种独特的失败类型,仅次于运行时错误。共同主线是:正确执行了工具调用,但却将结果错误整合进信念状态,产生悄然级联的下游错误。
污染传播有三个方向。它在会话内纵向传播,随着智能体基于错误前提不断叠加;在多智能体系统中横向传播,当智能体共享记忆存储时;以及持久化传播,当会话记忆被写入长期存储并在未来会话中被检索时。
被毒化会话的解剖
想象一个被要求生成季度摘要的金融智能体。在第三步,它查询了一个汇率 API,返回了一个缓存的、一天前的汇率。智能体没有任何信号表明这个汇率是过时的——响应格式完好,HTTP 状态是 200,数值也在合理范围内。它存储了该汇率,对后续多项数字进行了换算,并围绕结果构建了叙述。
到第十二步时,智能体正在基于复合错误生成图表和建 议。每一步在局部看起来都是合理的;失败发生在边界处被接受的内容上。
这是经验跟随属性的反向运作。LLM 智能体记忆管理的实证研究表明,当有缺陷的观察被存储并重复使用时,智能体会像对待基本事实一样重放这些不对齐的经验。智能体不只是使用一次错误数据——它会不断将其作为佐证重新提取。
有三种失败模式值得区分:
事实过时:工具数据曾经正确,但现在已过期。没有外部时间戳或显式 TTL 元数据,智能体无法检测到这一点。
Schema 误解:工具返回了一个名为 balance 的字段,含义是可用信用额度而非总余额。智能体按 JSON 正确读取,但按领域语义错误推理。
对抗注入:工具响应在合法内容中嵌入了隐藏指令。模型将该指令作为上下文的一部分处理,以运营者未预期的方式更新其行为。
第三个向量受到了越来越多的审视。对间接提示注入的研究表明,智能体获取的内容——网页、文档、API 响应——可以携带嵌入式指令,在会话中途重定向智能体的行为。调用工具检索用户文档的操作,变成了注入指令的向量,智能体将在此后整个对话中遵循这些指令。
经验数据表明,这些复合错误带来的可靠性下降是显著的。长时程智能体任务的成功率从短任务的 76.3% 降至长任务的 52.1%——24 个百分点的下降呈非线性加速。污染是主要驱动因素:一旦错误信念进入上下文,后续步骤具有正向错误相关性,而非独立的失败率。
