Two soft glowing lights joined by a thin line on a dark monitor in a moonlit room, like two AI agents resting overnight
Back to blog
EngineeringAI Automation

为什么我们的 AI 智能体要睡觉:打造会自行更新的记忆

AI 智能体的记忆工具已经不少。我们还是自己做了一套,让它在智能体闲下来时纠正错误。这篇文章讲讲原因、运作方式,以及我们测到了什么。

S
Sno AI Team
September 30, 2026
|
1 min read
|
116 views
Share:

三月,你把预发布服务器的地址告诉一个 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。

S

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

为什么我们的 AI 智能体要睡觉:一套会自己更新、自己纠正错误的本地记忆系统,共享给多个 AI 智能体