跳到主要内容

你的智能体内存需要垃圾回收机制

· 阅读需 11 分钟
Tian Pan
Software Engineer

持久化记忆是每个人都会给自己的智能体添加、但几乎没人维护的功能。这个提议令人无法抗拒:智能体会记住你的模式、你的偏好、上周二的决定,并且每一次会话都比上一次更聪明。而失败模式则更加隐蔽:默认情况下,记忆呈单调增长,而一个关于不断变化的世界的“仅追加”事实存储库,无异于一种缓慢的投毒。被迁移的 API、被重组的团队、被推翻的架构决策 —— 所有这些都与新鲜事实并排存在于存储库中,以同样的权威性被检索,并以同样的自信心被注入到上下文中。

无状态的智能体会犯下孤立的错误。而配备了记忆的智能体可以将一个错误变成重复性的错误,因为它存储了该错误,随后又将其作为证据检索出来。一个被自信写下的错误记忆 —— “支付服务拥有退款逻辑” —— 会污染未来每一个召回它的运行过程,而每一个基于它执行的运行过程又可能写下源自它的新记忆。这不仅仅是一个存储问题。这是一个垃圾回收问题,而大多数智能体记忆系统在发布时都没有配备回收器。

记忆腐烂有两种方式,只有一种是攻击

安全文献在过去两年中一直关注记忆“投毒” —— 向智能体的长期存储中恶意注入条目。MINJA 攻击证明,针对使用朴素记忆存储的智能体,仅使用普通查询,注入成功率就超过 95%。这项工作很有意义,它推动了团队将记忆写入路径视为不可信的输入。

但大多数腐烂并非来自敌对攻击,而是源于熵增。一个在写入时真实的事实不再真实,而系统中没有任何部分察觉到这一点:

  • 世界变了。 端点从 v1 迁移到了 v2。表被重命名了。“拥有部署权限”的人调离了团队。一个学习了上季度模式的智能体会不断查询已不再存在的表。
  • 决策逆转了。 “我们正在标准化使用库 X”在 3 月份是真的,但在 5 月份是假的。这两个陈述都是忠实地从真实对话中提取出来的。存储库现在持有矛盾,而检索将呈现出在嵌入空间中与查询最接近的那一个。
  • 记忆在诞生时就是错的。 智能体读错了日志,得出了错误的结论,并将其记录了下来。与随着会话结束而消失的幻觉不同,这个错误现在是持久的且可引用的。

最近的研究量化了智能体处理这一问题的糟糕程度。STALE 研究测试了 LLM 智能体是否能识别其存储的记忆何时不再有效,结果发现大多数智能体无法注意到“作废(supersession)” —— 即使在存在矛盾证据的情况下,它们仍继续基于过时的假设采取行动。检索系统按语义相似度排名,而陈述过实的事实与替换它的新鲜事实在与查询的相似度上是完全一致的。相似度搜索没有“不再真实”的概念。

一个令人不安的含义是:一个被自信召回的过时记忆比没有记忆更糟糕。遗忘不是你容忍的缺陷,而是你需要构建的子系统。

为什么“存储一切”依然是主流选择

如果生命周期管理显而易见是必要的,为什么大多数系统都跳过了它?因为删除是可怕的,而且基准测试并不惩罚囤积行为。

流行的记忆基准测试(如 LoCoMo、LongMemEval)测试跨多会话对话的召回率。它们奖励“记住”;它们几乎不测试“取消记忆(unremembering)”。LoCoMo 的对话运行约 16k–26k 个 token,短到足以放入现代上下文窗口,而且问题关注的是“说了什么”,而不是“它是否仍然真实”。一个从不删除任何内容的系统也能获得不错的分数。

这种激励机制也体现在真实系统中。Mem0 在 2026 年重新设计了其流水线,放弃了更新/删除合并,转而采用单次、仅追加的提取方式,让旧事实和新事实并存 —— 这是一个为了保留时间历史而采取的可辩护选择,也揭示了压力点所在。仅追加模式更容易构建、更容易调试,并且能防止因删除所需内容而导致的灾难性失败。而成本 —— 逐渐的污染 —— 永远不会出现在演示中。

TTL(生存时间)是另一个默认方案,但它是一个粗笨的工具。基于时间的失效对所有记忆一视同仁:关键的约束条件和琐碎的观察结果会按照相同的时间表失效。30 天的 TTL 会删除关于你部署流程的真实事实,却保留了三周前关于昨天已更改的模式的事实。TTL 限制了垃圾的“年龄”,它无法识别什么是真正的垃圾。它是一个有用的保底手段 —— 被投毒的记忆无法超过其 TTL 存活,这就是为什么安全指南推荐它 —— 但它在记忆层面上相当于为了修复内存泄漏而每晚重启服务器。

真正的回收器长什么样

运行时中的垃圾回收之所以有效,是因为可达性是可计算的:一个没有任何引用的对象就是垃圾。记忆的真实性无法以同样的方式计算,但 GC(垃圾回收)框架仍然为你提供了正确的组件 —— 活跃度信号、压缩轮次,以及追踪并释放死数据的方法。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates