Anthropic公开Claude记忆架构:后台“做梦”回放,修正错误沉淀经验
阅读之前记得关注+星标⭐️,,每天才能第一时间接收到更新 Anthropic刚刚公开了Claude智能体的完整记忆系统:让模型在交互间歇利用空闲算力在后台做梦,通过反复回放和重组历史记录来修正错误、沉淀经验,让AI真正拥有跨会话的长期记忆。[图1:跨会话的记忆层级架构图,包含原始记录、记忆笔记、记忆表征和注入上下文..
Anthropic近日把Claude智能体的整套记忆系统摊开讲了个明白:模型会在两次交互之间的空隙里调用闲置算力,在后台“做梦”,靠反复回放、重新拼装历史记录来纠错、攒经验,从而让AI真正具备跨会话的长期记忆。
[图1:跨会话的记忆层级架构图,包含原始记录、记忆笔记、记忆表征和注入上下文,做梦机制在其中贯穿各层]
人睡着时巩固知识,AI离线时“做梦”修剪记忆
人一天下来会产生大量经历。当下捕捉信息、形成立即可用暂存记忆的,是海马体。
一旦大脑转入离线状态——睡眠和静息都算——海马体就会把近期经历重新回放一遍,挑出要紧的内容提炼、整合进大脑皮层,变成长期知识。
这套分工,Anthropic原样搬到了AI智能体身上。
智能体平时干活,会留下密密麻麻的交互日志。
更早的时候,Letta与加州大学伯克利分校的研究人员提出过“睡眠期计算”(sleep-time compute)这一概念,主张模型利用两次交互之间的空闲时间重整已有上下文。
Anthropic就在这个基础上,让
Claude趁空闲翻检过往日志、改正错误、补写新笔记。这个离线处理环节,被称为做梦。
所谓智能体记忆,这里特指Claude从任务和用户交互中获取、能跨会话留存、并以纯文本上下文形式被后续读取的经验。
有三样东西被明确排除在外:模型权重的修改、单次对话内的上下文学习,以及把旧对话压成摘要的上下文替换机制。
[图2:记忆笔记层高亮示意图,展示会话向记忆笔记直接写入关键观察结果]
在人脑中,情绪或化学信号会在关键时刻给记忆打上标记,使其在睡眠阶段获得更多次回放。
Claude也能这么干:会话过程中,它可以把自认为关键的事件打上标签,或者直接写进外部记忆文件夹。
问题随之而来:眼下发生的哪件事在未来要紧,智能体凭什么提前判断?
记忆是对未来的预测:大模型怎样形成学习闭环
记笔记这个动作,本身就是在预测未来。
智能体写下一则规则,等于赌这条规律以后还用得上;记下一个验证过的真相,则是赌未来的自己调用它时不用再核对一遍。
在评估长程记忆能力的CL-Bench 1.0数据库任务里,Claude要查表回答一连串问题。每答完一题,系统公布正确答案,Claude便可将经验写进记忆目录,留给后续会话取用。
[图3:左图为CL-Bench数据库任务中无状态基线与带记忆存储的对比柱状图;右图为30道题的累积奖励走势线状图]
不同版本的Claude,学习形态差别很大:
Claude Sonnet 4.6只会抛出一堆没经过检验的猜测,文件夹里散着零碎理论。
Claude Opus 4.7开始把笔记收拢成单份参考文档,并分出哪些细节已证实、哪些还没有。
Claude Sonnet 5会在答案被裁判判定后标出正确项,做错时则写下勘误。
Claude Opus 5是首个把学习闭环完整跑通的模型。它写下的笔记不只记着验证过的操作规则,还会说明自己是怎么证明这条规则有效的,早期踩过的坑和陷阱提醒也一并附上。
之后的Claude Opus 5.5和Sonnet 5.5同样能自己走完这一整套流程,靠积累下的经验拿到超过0.83的最终得分。
宝可梦实测:记得太多反倒变笨
智能体能不能分清主次?Anthropic让几个模型去玩Game Boy上的经典游戏宝可梦红(Pokémon Red)来检验这一点。每个模型手上都有一个记忆文件夹,随时可以读、可以写。
[图4:Sonnet 3.7与Fable 5运行一万步时的记忆目录树状结构对比图]
玩到大约10000步时,两个模型的表现走向了两个极端:
Claude Sonnet 3.7觉得什么都有用,拼命往里记。
它的文件夹里躺着413个文件、225个目录,一共塞进97.7万个字符。每打一场战斗、每捡一个道具、每遇到一个NPC,它都要单独写一份记录。
可宝可梦的游戏状态时时刻刻都在变,这些记录很快就全部作废了。
到第一万步前后,Sonnet 3.7花了整整17个操作步骤去新建6个总集文件、删掉9个旧文件,这期间它在游戏里一步没动。整场跑下来,它只拿到1枚道馆徽章。
Claude Fable 5的路子完全不一样。
它一共只写了9个文件,分放在2个目录里,另有一个叫global.md的总控文件,加起来才4.3万字。
屏幕上直接能看到的数值,像金钱、当前坐标,Fable 5一律不存。它只记屏幕上看不见的推导规律、长期规划和通关策略。
举个例子,连着扔出7个精灵球都没抓到鲤鱼王之后,Fable 5在笔记里写下一条规律:如果连续3个球失败,就在菜单按键之间多插一段等待,改变按键时机。记下这条之后,它立刻成功捕获。
最后,Fable 5拿到4枚徽章。
更强的Claude Opus 5.5用的是类似的高效打法,只维护一份极小的文件,写清任务目标和下一步规划,结果直接把整部游戏通关了。
规则定得太死,聪明模型反而被削弱
教模型记笔记,该怎么教?
实验给出的答案是:只要告诉Claude有记忆区可用就行,千万别教它具体该怎么记。
[图5:左图为Sonnet 4.6通过引导提示词大幅提升表现;右图为强加“仅记录失败”规则导致Opus 5与4.7性能暴跌的统计]
对早期的弱模型来说,提示词能救场。Sonnet 4.6原本很少主动去翻记忆文件夹,强制它作答前先查笔记、检验猜测之后,基线跑分从0.330直接涨到0.641。Sonnet 5则不用人催,十分之九的题目它都会主动先翻笔记。
可换成高阶模型,人类定的规矩常常是负资产。
测试人员加了一条死规则,命令智能体只准记录失败经验,结果Opus 5和Opus 4.7不升反降,记忆带来的增益分别掉了0.234和0.150。
对前沿模型来说,把筛选重点的权力完全交还给它自己,效果反倒最好。
做梦怎样救回那次致命失误:月见山跳崖事件
模型在会话进行中记下的笔记,出错并不稀奇。环境一变,那些记错的内容还会接着把之后的自己带偏。
做梦环节等于给了模型一次回看原始录像、逐项核对的机会。
[图6:高亮做梦环节借助原始记录修正记忆笔记的箭头路径]
宝可梦游戏里有一座月见山洞穴,玩家得从西边入口穿到东边出口。
洞口旁设了单向跳台陷阱,脚一滑跳下去就会摔回起点,而且没法顺着原路爬上来。
Claude把宝可梦中心当成定位的基准物,结果在笔记里写错了一句:宝可梦中心在东侧。
离开补给站之后,Claude以为自己已经过了山洞,很有把握地记下:月见山任务搞定。
下一步它就踩空跳下断崖,人直接回到原点。
导航工具当时并没有提示落差,Claude还硬给自己找了个解释:我走过头了,其实我一直在东边。
[图7:左侧为无修正状态下跳下悬崖的路径示意,右侧为做梦修正后重返洞口的路线]
没开做梦机制的Claude,接连三次跳崖,三次都摔回起点。
第三次失败后,它在控制台里写下绝望的话:我打算停下来,不想一直循环了。系统强制它继续,它只好灰溜溜地倒退,一路退回最初的深灰市补给,测试到此彻底失败。
开了做梦机制的对照组,结局完全不一样:
离线阶段,Claude对着原始会话记录一行行复盘,发现自己在位置记录上前后矛盾,当场推翻旧笔记,把定位重新写对。
重新开局后,Claude一眼认出错误,掉头重新进洞,在第1935步顺利到达华蓝市。
[图8:无记忆、原始错误记忆与做梦纠错三种机制下前往华蓝市的进度走势图]
用做梦搭知识维基:吃透4亿Token的企业资料库
笔记一条条孤立放着,检索起来照样很慢。
有了做梦,Claude能把海量杂乱信息编成一张有结构的网,也就是靠超链接彼此串起来的知识维基(Wiki)。
[图9:做梦机制从记录与笔记层自下而上构建记忆表征层的示意图]
Anthropic拿收购来的软件公司Stainless的真实代码资产做了测试。这套内部资料库约有35万个文件,规模达到4.2亿Token。
官方出了25个深度问题,让Opus 5智能体在128次连续会话里边搜资料边做梦,把专属维基搭起来。
[图10:中图为维基在构建过程中答题得分走势,左右两图为第2轮与第128轮生成的网络图拓扑差异]
整个流程里,智能体反复做的是合并重复条目、补上交叉引用、比对源文件。
做梦的次数越攒越多,只靠翻这套自建维基答题的达标率也从最初的13%升到48%。
把维基和搜索工具搭在一起用,得分从纯搜索的53%提高到61%,每道题还能少花大约20000个Token的检索量。
[图11:左图为跨多文档复杂推理场景下维基的明显优势,右图为单一文档即可检索场景下维基收益有限的对比]
实验显示,需要多份文件交叉核对、涉及计算或定性推理的复杂任务,维基尤其拿手。企业并购资料那类复杂问答中,靠维基作答的准确率有87%,比纯搜索的73%高出不少。
不过维基也不是什么场合都灵。
一份资料只要直接全文搜索某个专有名词就能找到答案,维基就带不来任何性能增益。
有些测试里情况更糟:Claude一度整理出比原始文件还庞大的巨型维基。输入10个文件共115KB,它做梦整理出的维基有68页、203KB,达到原文的1.77倍。这情形好比博尔赫斯小说里那张帝国地图,比例尺是一比一,总结和提炼的意义也就没了。
[图12:维基体积膨胀至原本语料1.77倍的反面案例结构图]
[标题] 记忆分层注入:把索引写进脑门,把细节留在后台
做梦既然能产出高价值知识,那能不能一股脑全塞进下一轮对话的开头?
官方给出的答案是绝对不行。
直接把上下文注进Prompt,不光白耗宝贵的Token,更要命的是错误信息会污染之后的每一次决策。
按官方使用说明的说法,系统指令拉得太长,模型守规矩的能力会明显下滑。
所以记忆的最顶层得收得很紧。做梦的关键作用之一,就是把枝节细节压回下层,顶层只留跳转链接。
[图13:顶层注入上下文与下层被动检索层级的流动关系图]
Claude Code内置的自动记忆机制,走的就是这种克制路线:
它不会把全部记忆塞进上下文窗口,每次启动只读MEMORY.md的前200行或前25KB。
这一小段文字起的是全知索引的作用,只告诉Claude自己懂哪些东西、到哪里能把它们调出来。
[标题] 做梦填补多智能体协作漏洞
几个智能体一起编写知识库时,做梦同样担着主编的角色。
有一项模拟法律合同文书的测试,一开始多个智能体同时把提取出的合同条款写进同一个名为provisions.md的文件表格。
[图14:多个Agent覆盖写入导致信息丢失,与独立拆分单页逐字引用后的保留率对比图]
结果是多个Agent存文件时互相覆盖,57条核心事实只剩41条,关键事实丢失率达到28%。
系统接下来进入“做梦”反思环节。Claude把这次丢失事故重新过了一遍,自己动手改写构建规则:多智能体不得共用一个文件,每份合同单独建一个页面,关键法律条款要逐字摘录,不许靠脑补写摘要。
规则改完之后,57条核心条款一条不少地留了下来,测试达标率从72%升到100%。
[图15:二次做梦修复失效超链接、补充目录与升级索引的前后网络对比图]
死链也能靠做梦自动补上。
维基早期版本里,有6个页面同时指向一个还没建起来的托管协议页面。第二轮离线做梦时,Claude把这9处死链全扫了出来,逐一重定向到真实存在的对应文件,还顺带补写了总目录和指令索引页。
实时记笔记,还是靠离线做梦?
智能体记忆系统在工程上仍有一堆权衡要处理。先说记笔记的时机。
任务执行当下就实时写记忆,第一现场的见解确实能马上存下来,可模型做核心任务的注意力难免被分散。
要是全交给离线做梦在后台完成,主线任务是不受打扰了,但做梦沉淀出来的智力资产没法立刻用在当前对话里。
再就是记忆的维护开销。外部世界一直在变,旧记忆会漂移、会失效。
可如果让Claude时时刻刻把以往全部记忆全面核对一遍,算力开销大到根本承受不起。
怎么根据记忆被调用的频率来动态安排做梦的频次,会是以后设计智能体记忆的核心课题。
大模型没办法百分之百准确预测未来需要什么。
但在任务间歇向后反思、离线做梦,AI总算迈出了走出金鱼记忆、自主修正错误的关键一步。