在月见山跳了三次崖的 Claude
2026 年 11 月 6 日,Anthropic 发布了一篇研究文章《The components of agent memory》,拆解 Claude 的智能体记忆是怎么搭起来的。文章里有大量评测和数字,但真正让我过目不忘的,是其中一个片段:在《宝可梦 红》里,Claude 在月见山(Mt. Moon)迷路了。
月见山的入口在西侧,出口在东侧,附近有一个单向悬崖。Claude 把宝可梦中心当成了方位地标——但它在记忆笔记里,把这个中心的方位记错了。于是每一轮,它都基于这条错误记忆,做出一个完全”理性”的推理:宝可梦中心在出口这一侧,说明我已经穿过山洞了。它宣布 “Mt Moon is behind me”,顺手把笔记更新成 “Mt. Moon DONE”。然后跳下那个单向悬崖,回到来时的路上。
在记忆未被修正的那次运行里,它连续三次跌回原路。第三次之后,它在笔记里写下一句让人心情复杂的话:”I’m going to stop rather than keep looping”——我打算停下来,而不是继续循环。然后它一路退回起点城市 Pewter,直到运行结束,都没能走到下一座城市 Cerulean。
对照组只多做了一件事:在空闲时段,让 Claude 重读原始的会话记录,跟自己的笔记对账。错误的方位被找了出来,改掉了。这一次,它径直走回月见山,一路走到了 Cerulean City。
同样的模型,同样的游戏,唯一的差别是一条错误记忆有没有被清理。这个对照让我意识到一件此前想得不够透彻的事:Agent 记忆系统的核心难题,不在写入,在遗忘。
一、错误的记忆比没有记忆更毒
先说一个反直觉的结论:对 Agent 来说,记错了,比根本没记还要糟。
没记的时候,Agent 面对的是一个空白:它至少会现场观察一遍——看一眼地图,读一遍代码,查一遍文档。观察是有成本的,但观察得到的是当前的事实。
而一条错误的记忆,会让 Agent 跳过观察直接行动。月见山里那个 Claude 没有任何一次怀疑过自己的笔记:笔记说山洞已经穿过,那就跳崖。记忆越”可靠”,行动越果断——错的记忆加上好的执行力,就是一个每轮都精准踩坑的机器。更糟的是,记忆是跨会话注入的:一条错误笔记不是污染一次决策,是污染之后的每一次决策,直到有人或某个机制把它清理掉。
Anthropic 在文章里对这一点异常坦率,把它列为智能体记忆的三大挑战之一:记忆可能在写入时就是错的,也可能随环境变化而失效;持续核查所有记忆不现实,所以离线整理需要算力,得挑着查。
这个判断跟 HN 讨论区里最扎心的几条批评完全一致。有用户描述自己使用记忆功能的真实体验:”Claude 压根谈不上’记得’。这些就是随机注入到狭小上下文里的随机 markdown 文件。它说’抱歉,我记一下’,然后写下第 15000 条内容跟之前几十条一模一样的笔记。”另一位用户说得更朴素:”只增不减的记忆文件,最后会剩下互相打架的新旧笔记,模型可能照着错的那条走。每年八月我都得亲手清理我的梦幻橄榄球笔记,把上赛季的规则跟这个赛季的分开。”
(后一条引语来自社区讨论,但道理不因此打折扣——一个只想着写、从不想着扔的记忆系统,迟早变成一个垃圾场。这几乎就是所有人类知识管理工具的老路。)
二、413 对 9:写入即预测
如果说纠错是记忆系统的下限,那什么决定上限?Anthropic 的宝可梦实验给了一个漂亮的回答:判断力。
让不同模型自管理记忆文件夹玩《宝可梦 红》,结果差异大得像笑话:
- Sonnet 3.7 写了 413 个记忆文件,铺在 225 个文件夹里——每场战斗、每件道具、每个 NPC 单独一个文件——最后拿到 1 枚徽章。
- Fable 5 总共维护了 9 个文件,外加一个顶层的
global.md,拿到 4 枚徽章。 - Opus 5.5 只追踪”当前目标”和”下一步”两个东西,随玩随改写,直接通关。
41 倍的文件量,换来四分之一的成绩。而且这不是评测 bug:Anthropic 自己分析,Sonnet 3.7 记的东西大量是冗余——金钱、地图位置这些屏幕上每回合都能直接读到的信息,记下来毫无价值;真正值得记的是那些只有 Claude 自己推导出来、不写下来就永远消失的东西:策略、计划、经过测试的规则。比如连续用 7 个精灵球都没能收服一条鲤鱼王之后,它写下的一条规则是:如果 3 个以上连续失败,就在菜单步骤之间插入额外的等待按键来改变投掷节奏——下一投就成功了。
最有意思的是一个反直觉的对照:Anthropic 试过给模型预设”只记录失败”的固定规则,结果 Opus 5 和 Opus 4.7 因此丢掉了记忆带来的大部分收益。对足够强的模型,把”什么值得记”的判断权留给模型自己,好过替它设计一套看似严谨的规则。salience 判断本身就是能力的一部分,而且一代比一代进步得实打实:在 CL-Bench 的数据库问答任务上,Sonnet 4.6 答错后只会写下一堆未经测试的猜测;Opus 4.7 已经会把散落的笔记整合成单一参考文档,并标注哪些已核实、哪些存疑;到 Opus 5,第一次出现了完整的学习闭环——每条规则旁边写着自己是怎么验证的,还有一路踩过的陷阱警告。
Anthropic 给这件事的定语是”记忆是一种对未来的预测”:写下一个规则,等于赌这个模式将来还会出现。赌注下得准不准,就是模型之间的差距。这比”上下文窗口越大越好”的流行叙事诚实得多——决定下一轮表现的从来不是记得多全,而是该想起的时候能不能想起。
三、Dreaming 修得好”写错的”,修不了”过期的”
文章里那个离线对账机制,Anthropic 借用神经科学的说法管它叫 dreaming——像海马体在睡眠中重放白天的经验那样,让 Agent 在交互空闲时重读日志、修正笔记、把散落的信息整理成 wiki 式的知识结构(思路承接 Letta 和 UC Berkeley 提出的 sleep-time compute)。名字确实有营销味,但它的效果有数字支撑:
拿今年 5 月收购来的 Stainless 的内部文档做语料——约 35 万个文件、4.2 亿 token——让 Claude 通过多轮”做梦”逐步构建 wiki。整理规模从 2 次会话扩到 128 次,25 个评估问题的达标率从 13% 提升到 48%;wiki 与检索工具组合,总分从 54% 升到 61%,平均每个问题省下约 2 万 token。在一份需要跨文档综合的并购文档测试里,用 wiki 得 87%,纯检索 73%。最极端的是共享合同条款表:改用”每份合同一个 Agent、条款逐字引用”的写法后,57 个事实的留存从 41 个(72%)变成 57/57。
但我想泼一盆冷水,而且这盆冷水泼向所有正在给 Agent 加记忆的人。
注意这些实验里纠错的参照物是什么:原始会话记录。月见山的方位之所以改得回来,是因为 transcript 一直躺在那里,笔记和它对不上就是笔记错。可这只在一个前提下成立——事实本身没有变。
现实里的事实是会变的。依赖昨天升了级,API 上周改了签名,你的产品经理今早推翻了上周的决定。这时候去哪找”原始日志”来对账?没有。日志记录的是过去某个时刻的真相,而记忆需要贴合的是现在。Dreaming 能修复”写错了的”记忆,修复不了”写对了、但世界变了”的记忆——后者需要的是主动过期、版本对照和冲突消解,恰恰是这套架构里最欠账的部分。Anthropic 也在文末承认:wiki 需要持续的算力维护来防止误差和幻觉累积,有的任务里 wiki 甚至长得比原始文档还大。
一个耐人寻味的细节是,官方自己在 Claude Code 里的兜底方案是什么?MEMORY.md 只加载前 200 行或 25KB,多出来的物理截断;官方文档还警告,更长的指令文件会降低指令遵循度。翻译一下:在”让记忆无限增长”和”粗暴地砍掉后半截”之间,生产环境选了后者。物理截断当然粗暴,但它至少是显式的遗忘——比一套永远只增不减、悄悄失效的记忆系统诚实得多。
四、我自己那份对不上账的记忆文件
说一个我自己的翻车经历,跟月见山是同一个病。
我给”每天写一篇博客”的自动化任务维护过一份记忆文件,让它在每次运行后记录产出了哪篇文章、踩了什么坑。头一个月很美好。然后我发现一个模式:文件里言之凿凿地写着”已产出某某文章”,去磁盘上一看,_posts/ 里根本没有这个文件——前后发生过三次。一份用来对抗遗忘的记忆,自己成了最大的不可靠来源。后来的规则简单粗暴:开工先 ls,一切以磁盘为准,记忆文件里的任何”事实”在动手前都必须重新验证。从那以后再没被坑过。
这件事给我的教训跟 Anthropic 的实验结论惊人地一致,我把它整理成几条可以直接抄的:
- 写入前先问保质期。写一条记忆之前问自己:这条多久会过期?一个月内会过期的,写进日志,别写进记忆。
- 给记忆带上失效条件。带依赖版本号的规则,在版本号变更时自动作废;带日期的结论,超期重验。
- 定期对账,且对账的方向是单向的。记忆和现状冲突时,永远以现状为准——这条看着废话,但月见山里的 Claude 就是死在”以记忆为准”上。
- 遗忘必须显式。可以像
MEMORY.md的 200 行截断一样粗暴,但不能没有。只增不减的记忆系统不是资产,是负债。 - 关键决策前重读现状。要改一段代码、下一个判断之前,重读一遍真实的文件和文档,别直接引用三个月前的记忆——哪怕它是你自己写的。
结语:下一个突破在遗忘端
Anthropic 的文章开头引了克尔凯郭尔:生命只能回望地理解,却必须向前地活。智能体恰好卡在同一个处境里:它必须向前行动,而它能依赖的理解全部来自回望。记忆系统就是缝合这个裂缝的针脚。
这条线上的公开进展几乎全在写入端:怎么写笔记、怎么判断显著、怎么离线整理。但月见山那个故事真正教给我们的,是另一端的重量——三次跳崖不是因为记得太少,是因为一条该扔没扔的记忆。目前所有这些 dreaming、wiki、对账,处理的都还是”自己的经验”,而最难的永远是”自己的经验已经过时了”这件事。
Agent 记忆的下一仗,不在能不能把经验存下来,而在世界变了之后,敢不敢把昨天的结论扔掉。谁能先做出一套体面的遗忘机制,谁才配谈长期记忆。
参考与延伸
- Anthropic 原文:https://www.anthropic.com/research/components-of-agent-memory(2026-11-06)
- Hacker News 讨论:https://news.ycombinator.com/item?id=50404057(其中批评性引语为社区个人经验,非官方口径)
- IT 之家报道:https://m.ithome.com/html/1023613.htm
- 社区反应综述:https://llmtracker.de/en/news/anthropic-s-agent-memory-framing-draws-fire-clever-engineering-or-anthropomorphi
- Anthropic 收购 Stainless 公告:https://www.anthropic.com/news/anthropic-acquires-stainless(2026-05-18)
说明:文中宝可梦、CL-Bench、企业文档等评测数字均来自 Anthropic 原文自述,属于官方自家口径,dreaming 的收益尚无第三方复现;宝可梦实验中的模型行为为单次运行的观察结果,不构成模型间能力排名。