Anthropic研究Claude记忆系统:光记笔记不够,还得会“做梦”
Anthropic 最新研究揭示,Claude 的记忆系统不仅依赖实时记录,更关键的是利用空闲时间进行“睡眠计算”。通过对比不同模型在长程任务和游戏中的表现,文章分析了 AI 如何从杂乱记录进化到构建知识图谱(Wiki),以及“做梦”机制如何修正错误、优化记忆结构。这不仅是技术细节,更是智能体从被动响应转向主动认知的关
为什么 AI 也需要“睡觉”?
有位哲学家说过,人这一辈子,很多事只有回头看才看得明白,可日子只能往前过。

这话用来感慨人生,说的是人的无奈;放到 AI 身上,就成了一桩实打实的工程难题。
Anthropic 近日发了一篇研究文章,讲的是 Claude 的记忆系统,结论有点反直觉:想让 AI 记性好,光让它「记笔记」不够,还得让它学会「做梦」。

所谓“做梦”,跟 AI 产生意识或者幻觉没有关系,它是一个具体的工程概念,叫「睡眠时计算」(sleep-time compute)。做法是趁模型不跟人交互的空当,让它把已有的上下文重新理一遍,回头看看日志、把错误改掉、再写出新的笔记。

听上去有点玄,其实背后有神经科学撑腰。

向人脑借灵感:海马体与新皮层

人脑存记忆,不是来者不拒。生活里每时每刻捕捉到的信息,主要由海马体负责,它像个快速缓存区,记忆在那里迅速成形,随时取用。不过,并非所有经历都会沉淀成长期知识。

真正关键的巩固过程,大多发生在大脑「离线」的时候。人睡着或者安静休息时,海马体会把最近的经历「回放」一遍,再一点点提炼、整合进新皮层,而新皮层才是存放「知识」的主仓库。靠这套离线处理,人类能从海量日常琐事里总结出规律,不至于被细节淹没。

智能体的记忆设计,也能照这个路子分工。

AI 干活时留下的日志和对话记录(transcripts)数量很大,作用相当于海马体的即时捕捉。Letta 和 UC Berkeley 的研究者提出的「睡眠时计算」,模拟的正是大脑离线巩固的那套过程。Anthropic 发现,「做梦」是给
Claude 打造有效记忆的一把利器。

什么是智能体记忆?

聊技术细节之前,得先把范围说清楚。Anthropic 讲的「智能体记忆」,专指 Claude 从经验里得来的知识,涵盖与用户的交互、被派给它的任务,以及跨会话保留下来的内容。

有三种常见的「学习」不算在内:
- 改权重:即传统训练过程中调整内部参数。
- 上下文内学习:单次对话里获得的知识,对话结束即消失。
- 旧的对话轮次会被Claude整理成摘要,好让它在新上下文窗口里接着干活,这属于上下文管理,并不是在积累长期记忆。

把这些都排除掉,接下来要谈的才是「长期记忆」。它最难的地方在于:事情正在发生的那一刻,AI 凭什么判断哪件事值得记下来?它根本不知道后面会发生什么。

记忆是对未来的预测

说到底,记忆就是对未来的一种预测。写一条规则,就是在赌这个模式以后还会出现;记一条验证过的事实,就是在赌未来的自己会想直接拿来用、不再核对一遍。

Anthropic 拿 Continual Learning Bench(CL-Bench)1.0 基准测了智能体靠记忆做长程任务的本事。其中一个任务是:Claude 去查数据库,连续回答一串问题,每答完一题都会被告知正确答案,然后它有机会写一条记忆,帮自己答好后面的题。
这就转成了一个学习闭环:答错了,先记下失败,再提出「错在哪」的假设,然后验证假设,最后把结论固化成一条以后答题用的规则。
实验结果显示,不同模型搭起这个闭环的能力差得很远:
- Sonnet 4.6:只走到「提出假设」那一步,记忆目录里塞着一堆零散文件,每个文件列几条没验证过的猜测,乱得很。
- Opus 4.7:开始把笔记归拢成一份参考文档,哪些事实查过了、哪些还没确认都标出来,有了点结构化的意识。
- Sonnet 5:评分器批改之后,它会把自己的答案标成「已确认」,答错了就补一条更正,自我纠错算是有了雏形。
- Opus 5:第一个真正跑通闭环的模型。它的大多数条目里都带着一条规则,外加这条规则是怎么被确认是对的、之前问题的答案,还有一路上踩过的坑的明确警告。
- Opus 5.5 和 Sonnet 5.5:这两个模型都完整闭环了,用记忆把「以后怎么答好问题」的验证过的规则沉淀下来。
有意思的是,带上记忆之后,Opus 5.5 和 Sonnet 5.5 的得分跟 Opus 5 大致持平,而它们不用记忆的基线本来就略高一些。这说明模型自身能力往上走,用记忆的方式也在变——从「靠记忆补能力」转向「靠记忆提效率」。
宝可梦实验:少即是多
另一个实验更好玩,也更直观:让 Claude 去打《宝可梦・红》。
这游戏要走通复杂的长程任务,正好能测 Claude 判断「什么该写进记忆」的本事。每局开始,模型都会拿到一个可读写的记忆文件夹。
拿 Sonnet 3.7 和 Fable 5 各玩到大约一万步时的表现一比,差距相当惊人。
Sonnet 3.7 走的是「囤积」路线,它的假设是「什么信息都可能有用」,于是见什么记什么:打一场战斗建一个文件,捡一个道具建一个文件,碰上一个 NPC 也建一个文件。最后它攒出 413 个记忆文件,散在 225 个文件夹里。结果只拿到一枚徽章。
为什么行不通?宝可梦的游戏状态一直在变,它那份详尽记录不停过期。玩得越久,Claude 耗在翻记忆上的时间和资源越多,正经玩游戏的越少。到一万步左右,Sonnet 3.7 甚至开始建第四套「主」记忆文件夹——接下来 17 步里,它建了六个文件、删了九个,游戏里一步没动。它被自己的记忆淹没了。
Fable 5 反过来,走「极简」路线,只记游戏不会直接告诉它的东西。像「玩家有多少钱」「人在地图哪个位置」,每回合屏幕上都有,存下来纯属冗余。而策略、计划、验证过的规则这些,Claude 不想明白就不存在,不写下来就会消失。
Fable 5 到头来只用了 9 个文件、2 个文件夹,外加一个顶层的 global.md,却拿到四枚徽章。
它的记忆结构很清楚:
- global.md:当仪表盘使,放当前目标、打道馆的预写计划,还有它给自己定的记忆使用规则。
- locations 文件夹:放各条路线的导航方案。
- gameplay 文件夹:放它摸出来的游戏机制策略。
比如有一回连着扔了七个精灵球都没逮住鲤鱼王,Claude 自己写下:「如果连续 3 个球以上失败,改变按键节奏(在菜单步骤之间插入额外的等待)—— 这么做之后立刻抓到了。」
靠着一个体积小得多的记忆文件夹,Fable 5 的游戏进度把 Sonnet 3.7 甩在了后面。Opus 5.5 用的是相近办法:薄薄一叠记忆笔记,盯着当前目标和下一步,边玩边改,最终通关。
那 Claude 写记忆这件事,该怎么去「指挥」?
Anthropic 摸出一条规律:跟 Claude 讲清记忆是干什么用的,有效;把具体用法一条条规定死,反倒不必要。
在 CL-Bench 上,他们只对 Claude 说了一句「有个记忆文件夹你可以用」。就这么点笼统的提示,已经让 Opus 4.7 和 Opus 5 把记忆用出了效果,性能提升明显。
具体规矩他们也试过,一次只测一条。结果显示,规矩定成「只记录失败」时,Opus 5 和 Opus 4.7 都丢掉了记忆带来的大部分增益。模型越强,让它自己判断什么重要,越比事先把规则定死管用——规则没定好,还会拖后腿。
有意思的是,提示词对旧模型的提升最明显。Sonnet 4.6 往往根本不打开记忆目录里的文件,也不会去核实自己「答错原因」的假设。只要加一句提示——答题前先读记忆文件、再明确验证假设——它的基准得分就接近翻倍。Sonnet 5 不必人催:无人提示时,它十次中有九次会主动先读记忆再作答,而 Sonnet 4.6 能做到这一点的不到一半。
所以 Anthropic 眼下对前沿 Claude 模型的做法是:只给简单指引——有人让它记、或者有明确值得记的东西时,就建一条记忆笔记——具体怎么判断,交给 Claude 自己。
「做梦」到底管哪三件事
实时记录既然有局限,那「做梦」究竟补上了什么?Anthropic 归纳出三个核心功能。
1. 把写错的记忆纠正过来
Claude 写记忆,依据的是会话当下对「什么重要」的判断。于是一条一开始就写错的笔记,或者随环境变化慢慢跑偏的笔记,可能在往后的会话里被 Claude 读出来,还被它当真。
做梦,就给了 Claude 一次把笔记和原始记录摆在一起核对的机会。
宝可梦实验里有一段要穿过月见山。入口附近埋着个陷阱——一个单向下坡,玩家掉下去就回到来时的路。Claude 一直拿山口的宝可梦中心当路标。某一刻,它错误地记下:「宝可梦中心在东侧。」走出宝可梦中心时,它宣布「月见山在我身后了」,还更新了笔记。但几步之后,它掉下那个坡,回到了来时的路。
缺少「做梦」这一步,Claude 或许会一直困在这个错误认知中。测试中,团队对存有错误位置的记忆文件夹执行了一次「做梦」流程:Claude 将笔记与会话记录比对后发现了错误,并重写了笔记。凭更正后的笔记,Claude 直接返回月见山,最后走到了华蓝市。
而在没有做梦修正的对照组里,Claude 三次掉回早先的路上,最后放弃治疗,写道:「我还是停下吧,别再循环了。」
2. 搭出新的记忆形态(Wiki)
借助做梦,Claude 还能构建一些辅助自己「浏览」记忆的表征。wiki 是其中一种:由 Claude 自行编写和维护的一组页面,把某个主题的相关了解汇集在一起,并链接到其他笔记。这些链接相当于一张给 Claude 用的地图,需要时能帮它快速找到记忆。
团队用内部文档语料库做了一次实验,材料来自 5 月收购的软件公司 Stainless,约 35 万个文件。围绕这个语料库,他们出了 25 道题,要求 Claude 依据这些文件、通过做梦来搭建 wiki。
结果显示,做梦的规模从 2 个会话扩到 128 个,25 道题上达成的评分标准比例从 13% 涨到了 48%。
Claude 搭建 wiki 是逐轮推进的:先做出初版,之后借一轮轮做梦不断补充、编辑和删减。做梦初期,Claude 的知识水平像新员工,仅凭 wiki 答题能力有限;梦越多,知识地图越完整,也就越像老员工。
实验还发现,wiki 配上搜索工具时帮助最大:搜索加 wiki,总分从 54% 涨到 61%;只用搜索是 53%;只用 wiki 最好成绩是 48%。而且搜索加 wiki 的组合,每道题还省大约两万个 token。
当然,wiki 也有失灵的时候。任务简单、单个文件就能找到答案时,wiki 相比搜索没有明显优势。极端情况下,wiki 甚至会膨胀到比原始文件还大——正如博尔赫斯小说中那张与帝国等大的地图,Claude 做出了一个极其详尽的 wiki,却没有抽象出任何东西,反倒添了负担。
3. 填上会话留下的缺口
Claude 写记忆笔记的时候,视野只限于当前这一个会话的上下文。做梦就不一样了,它能跨多个会话去检索,找出共性的模式,也能把共性的错误纠正过来。
建 LAB 基准的 wiki 时,Claude 偶尔会链到尚未创建的页面。第二轮做梦把这类缺口补上了不少。有个任务里,做梦发现 wiki 中有九个链接指向一个并不存在的页面,于是把这九个链接全部重定向到同一份文档已有的页面上,另外还新增了三个页面,wiki 的内容织得更密了。
开放问题:记忆系统的未来
进展归进展,智能体的记忆系统究竟该怎么设计,没解决的问题还有一大堆。
记忆该在什么时候建?边干活边写,能在源头抓住「什么重要」,重要细节立刻就能用上,可记笔记这件事本身会分走 Claude 对主任务的注意力;做梦把记忆创建挪到后台,产出的东西却不一定马上能被 Claude 用上。实时性和准确性之间,得权衡。
记忆怎么才能可靠地保鲜?Claude 可能做出错误的预测,也可能写下一条从一开始就错的规则;环境一变,记忆还会漂移、失效。做梦是修正手段之一,代价是要算力。让 Claude 不停检查所有记忆并不现实,也许更该把做梦对准那些容易变化的信息,或者仔细调节做梦的节奏。
检索与表征怎么平衡?就算 Claude 判断「什么重要」的能力长了,也没有哪个模型真能预知未来。做梦给了 Claude 一个往回看的机会——用算力整理记忆、修正错误、维护表征,让以后的会话更容易取用。
记忆系统会跟着 Claude 的能力一起进化。对开发者来说,弄懂「做梦」的价值,或许比单纯把上下文窗口加长更要紧。记得多,不等于记得住;记得住,也不等于用得好。真正的智能,常常发生在「离线」的那一刻。