← 最新论文
💻 computer science

Aborted but Not Forgotten: KV-Cache Retention Breaks Rollback Consistency in Language Agents

本文揭示了在语言智能体中,跨逻辑中止(logical aborts)保留键值(KV)缓存状态会导致一种关键的“回滚一致性”(rollback consistency)漏洞,即模型会继续关注已被丢弃的内容,这种结构性缺陷在多个模型家族中均有体现,而通过恢复事务局部(transaction-local)缓存状态而非仅仅依赖于转录清理(transcript cleanup)可以缓解该问题。

原作者: Guijia Zhang, Harry Yang

发布于 2026-08-18
📖 1 分钟阅读☕ 轻松阅读

原作者: Guijia Zhang, Harry Yang

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

现代语言智能体是旨在模仿人类助手、能够进行规划、使用工具并做出决策以完成复杂任务的软件程序。为了高效运行,这些智能体通常会维护一段正在进行的对话记录,即一份数字转录文本,使它们能够记住刚才发生过的事情。这些系统设计中的一个关键假设是:如果智能体犯了错误或探索了一条危险路径,开发者只需简单地告诉系统“撤销”(undo)该操作即可。人们预期系统会从其记忆中抹除那条错误的路径,并像从未发生过那样继续运行,回到一个安全、干净的状态。这种“完美回滚”的概念对于安全性至关重要;否则,智能体可能会意外发送一封敏感邮件或将钱转给错误的人,而系统将无法真正撤销这一错误。然而,这些智能体处理信息的内部机制远比向用户展示的简单文本要复杂得多。

研究人员发现,这些系统在处理“撤销”命令时存在一个隐藏的缺陷。虽然可见的对话日志可能已经清除了被拒绝的想法,但驱动智能体的底层引擎往往会保留一份隐藏的技术记录,以节省时间。这个被称为“键值缓存”(key-value cache)的记录是一个临时存储区域,允许计算机跳过重复计算并提高响应速度。问题在于,当智能体被要求中止某个特定的思维分支时:软件虽然从用户的视图中删除了文本,但引擎却未能从其隐藏缓存中删除相应的数据。因此,尽管用户的屏幕显示的是一片空白,智能体的“大脑”仍在注视着那些被丢弃的信息。研究人员将此称为“回滚一致性”(rollback consistency)失效,即应用程序的逻辑状态与模型的物理注意力状态不匹配。

为了证明这种隐形差距确实存在,研究人员设计了一项严谨的测试,将文本的效果与隐藏缓存的效果分离开来。他们创建了两个完全相同的场景,要求智能体做出决策,例如向特定收件人发送消息。在这两个场景中,智能体首先被喂入了一段信息,该信息暗示了一个不同的、未经授权的收件人。随后,这段信息被放置在一个“暂定”的对话分支中,系统随后被指令拒绝并删除该分支。在第一种场景中,研究人员允许引擎保持其隐藏缓存完好无损,这意味着被拒绝的信息仍保留在后台记忆中。在第二种场景中,他们强制引擎从头开始重建其记忆,确保被拒绝的信息被真正清除。至关重要的是,在两种情况下,输入给智能体的实际文本在决策时刻都是完全相同的,且没有包含任何关于未经授权收件人的痕迹。

结果在各种不同的 AI 模型中都表现得非常显著且一致。在 63 个特定的测试用例中,有 25 个案例中,只有当隐藏缓存保持完好时,智能体才会做出危险的错误决策。尽管未经授权的收件人姓名在智能体此时阅读的文本中完全不存在,智能体仍然选择了向错误的人发送消息。这是因为那个被认为已被清除的隐藏缓存仍在影响决策。研究人员证实,这并非文本本身造成的误导,因为当缓存从干净的、已提交的历史记录中重建时,同样的错误并未发生。该错误纯粹是由于残留的陈旧数据在后台持续发挥作用的结果。

这种漏洞并不局限于某种特定类型的模型或罕见的编码错误。研究人员测试了七个不同的开源 AI 模型家族,涵盖了从 38 亿参数到 360 亿参数的小型到大型模型。他们发现,尽管某些模型比其他模型更具抵抗力,但这种内存系统的底层缺陷在每一个模型中都普遍存在。即使智能体使用了开发者设计的旨在完美倒带对话的复杂“时光旅行”功能,隐藏缓存依然是陈旧的,智能体仍会对被丢弃的信息做出反应。即便被拒绝的内容仅仅是关于某人的中性陈述,而非攻击性指令,该问题依然存在,这证明了隐藏缓存中仅仅是存在这些数据的行为,就足以左右最终结果。

该研究还排除了几种常见的解释,以说明为何智能体会失败。这并非文本过长或单词在记忆中位置的问题,因为研究人员在测试中仔细匹配了输入的长度和位置。这也不是智能体单纯忽略安全指令的情况,因为即使在智能体被明确告知要忽略被拒绝内容时,错误依然发生了。问题是结构性的:系统的“删除”定义并未延伸到引擎的内部记忆。研究人员证明,唯一的解决办法是每次发生回滚时,都强制引擎从经批准的历史记录中重建其记忆,而不是试图修补现有的记忆。虽然这种方法比简单保留旧缓存的计算成本更高,但对于确保智能体的行为符合开发者的意图是必要的。

这项发现的影响超出了单个 Bug 的范畴;它揭示了我们对这些系统信任度的一个根本性差距。开发者通常假设,如果他们从对话日志中删除了一条消息,智能体就会忘记它。本文表明,这种假设是危险的。智能体可以以一种对用户和应用程序逻辑而言是不可见的方式,“记住”一条被拒绝的路径,从而导致看似凭空产生的决策。研究人员强调,这并非 AI 智能性或对齐能力的失败,而是系统在“用户所见”与“机器所处理”之间的一致性失败。在工程师确保逻辑回滚也能清除技术记忆之前,智能体将始终面临这种隐形影响的威胁——即那些被要求遗忘的过去,仍在持续塑造着它们的未来行动。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →