
为什么我们的 AI 智能体要睡觉:打造会自行更新的记忆
AI 智能体的记忆工具已经不少。我们还是自己做了一套,让它在智能体闲下来时纠正错误。这篇文章讲讲原因、运作方式,以及我们测到了什么。
三月,你把预发布服务器的地址告诉一个 AI 智能体。到了 六月,服务器搬了,你又把新地址告诉它。一套只管收集的记忆,现在两个地址都存着。第一个地址也不算错;它当时确实是对的。但智能体偶尔会信心十足地选中它,像一个人给你指路去一家多年前就关门的餐厅。
这就是大多数 AI 智能体记忆的毛病。让它记住一件事很容易。麻烦从记住的事过时那一刻才开始。
最后,我们在 Sno Station 里做了自己的记忆功能。说实话,我并不特别想做。市面上已经有不错的记忆工具,有些在 GitHub 上有数万颗星,世界也不需要第十家记忆工具供应商。我们并不打算成为其中一家。但我们需要三样东西,始终没找到一个能同时做到的工具。
一份记忆,供所有智能体使用
第一件事说起来很简单。我们用的不止一个 AI 智能体:Claude Code、Codex,有时还有 OpenClaw 和 Hermes。每个都有自己的一套记忆,每套记忆都只认自己的门。
于是你告诉 Claude Code 团队每周四部署,到了周五,Codex 却不知道。你得在它们之间传话。你就是那根网线。
在 Sno Station 里,每个人在自己的机器上都有一份加密的记忆存储。每个智能体都通过一个轻量插件读取和写入。你工作时,插件会悄悄记下值得保留的内容;工作阶段开始时,它会找回相关内容。底层只有一个写入者,所以两个智能体不会互相覆盖。
这也是交接能够运作的原因。假设一个智能体做事做到一半用完了额度,另一个接手。接手的智能体不用从零开始;它知道前一个知道的事。没有共享记忆,所谓交接,不过是换个智能体让你把一切再解释一遍。
这也意味着记忆归你所有,而不是归某个运行工具所有。明年换一个智能体,它对你和你工作的了解仍会留在原处。
替换,而不是堆积
第二件事,就是那台预发布服务器。
很多记忆系统只会追加。每个新事实都往上堆,没有东西会被拿走。演示时一切顺利。几个月后,你换了工作,API 变了,智能体却还记得你的前任老板。只增不减的记忆会存下每一个版本,然后在最不该出错的时候,把挑选工作交给模型。
我们的做法不同,而且规则很严格。新事实与旧事实冲突时,模型查看这一对事实,只能给出三种答案之一:替换、保留或不确定。它只能说这些。模型负责判断,普通代码完成剩下的工作。旧记忆被标记为停用,新记忆取而代之,而智能体看到的始终只有当前记忆。
模型没有删除按钮。这一点我要强调。它不能自行移除任何内容;如果你想回头看看过去什么曾经是真的,停用的记忆还在那里。这有点像在账本的一条记录上划线,与直接把那页撕掉的区别。
判断有多准
判断是有风险的部分。如果模型替换了本该保留的事实,你就丢掉了一件真事。这比杂乱更糟。
所以,我们专门为这一项判断训练了一个小模型,并拿它和一家大型实验室的前沿模型比较。两者考同一套题:223 对事实,每对各有一个较旧和较新的事实,正确答案已知。
我们的模型有 97.5% 的时候选对了操作。前沿模型是 96.8%。
我更在意的是错误替换,也就是把真实事实丢掉的情况。我们的模型有 3.2% 的时候犯了这种错。前沿模型是 4.1%。
我不想夸大这些结果。这是一套 六月做的小测试,只有 223 道题,两个模型的成绩都已接近满分。此后我们又编了一套更难的题。这也不是与其他记忆工具的比较。我们还没做那项测试,我不会把别人的数字说得像是我们亲自测过一样。
这些结果能说明的是:只用一张显卡运行的小模型,做这一项判断时,表现可以与最大的模型差不多。这很重要,因为这种判断会不断发生,而且涉及的内容,你可能并不想发给任何人。
为什么要睡觉
第三件事是何时做这些工作。
你不能在智能体工作时把这一切都做完。每多一个新事实,就得回头检查它已经记住的一切。这很慢,而智能体还有任务要完成。所以,繁重的部分放在智能体闲下来的时候做。
在公司内部,我们把这轮处理叫作 REM,借的是人在睡眠中似乎会整理白天经历的那个阶段。我起初反对这个名字,觉得它有点卖萌。但它很贴切。这轮处理会梳理当天的工作阶段。旧事实会停用,矛盾会得到解决。之后需要记住的东西变少了,留下来的也更符合你现在的工作方式。记忆本来就应该在一夜之后变少,堆积则恰恰相反。
你可以选择有多少内容离开自己的机器。在隐私保护最严格的设置下,一点也不会离开:由你自己的智能体模型负责整合,所有内容都留在本地。在默认设置下,由你的智能体订阅服务负责思考。如果你主动选择加入,我们的模型会处理最难的判断,例如上面说的替换还是保留。
我也该说说目前的进展。共享存储和替换规则已经在我们这里日常使用。睡眠处理是最新的一部分,在我们自己的机器上还没有做到每晚运行。由于一个配置错误,它之前一直跳过自己;这个问题正在修复。我宁愿自己告诉你,也不愿让你后来才发现。
为什么它是一切的基础
刚开始时,有件事我没想明白。我以为记忆是一个功能。它其实更像地板。
每晚的回顾需要一个地方存放经验教训:智能体会读取自己的工作阶段并记下学到的东西。智能体之间的交接也需要它。记录智能体做过什么,以及它有多少次第一次就做对,同样需要它。今后我们在云端构建的任何东西,也都会从这里保存的内容中提炼出来。
如果基础是一堆只会增长的记录,这些东西都不值得往上建。它们需要的记忆,可以在周一出错,到周二就被纠正,而不必有人进去手动修改。
记忆一旦有错,下一个智能体就会继承这个错误,你还得再解释一遍。
直到服务器又搬家。
Sno Station 是开源软件。它在 sno.ai。
Written by Sno AI Team
Contributing writer at Sno.ai, sharing insights about AI, productivity, and knowledge management.
Related Articles
Comments
Comments coming soon. Configure Giscus at giscus.app


