Wink Pings

Claude记忆系统拆解:413个记忆文件,输给9个文件夹

Anthropic拆了Claude的agent memory:Pokemon里413个文件只拿1枚徽章,9个文件拿4枚。记忆系统的关键,可能在于知道什么不值得记。

Anthropic工程博客发了一篇agent memory拆解。标题很正经,案例很扎心:在Pokemon Red里,Claude Sonnet 3.7写了413个记忆文件,塞进225个文件夹,拿到1枚徽章;Fable 5只写了9个文件,加一个global.md,拿到4枚徽章。

Anthropic agent memory 文章头图

博客把agent memory定义成Claude从经验里获得、并能跨session保留的知识。它不改模型权重,也不等于单次对话里的上下文学习。实现上更像一套分层文件系统:最底层是transcripts,可搜索的原始事件日志;往上是Claude自己写的memory notes;再往上是wiki这类记忆表示;最顶层是每次session开始前预加载的injected context。

记忆层级图

中间那个叫dreaming的环节,说白了是离线整理。模型在空闲时回看日志,纠错、写笔记、建索引、把该提前加载的内容推到顶层。评论区有人把dreaming叫作fancy name for garbage collection,也有人说这就是整理Markdown文件多走几步。话糙,方向没跑偏。

Pokemon那组对比最能说明问题。Sonnet 3.7默认一切可能都有用,每场战斗、每个道具、每个NPC都单独记,结果游戏状态一直在变,大量笔记刚写完就过期。到第10000步左右,它开始建第四套master memory文件,接下来17步里创建6个文件、删掉9个,游戏里一个动作没做。

Pokemon记忆目录对比

Fable 5反过来。它的global.md像仪表盘,放当前目标、打道馆的计划、自己总结的记忆规则。locations放路线计划,gameplay放已验证的策略。比如连续7个精灵球没抓到鲤鱼王,它写下:如果连续3个以上球失败,就改变节奏,在菜单步骤间插入额外等待。下次真抓到了。

CL-Bench数据库任务里,记忆带来的提升很直接。Opus 5.5从0.655到0.838,Sonnet 5.5从0.644到0.833,Opus 5从0.564到0.828,Opus 4.7从0.383到0.700。但给模型硬规则会帮倒忙。设置只记录失败后,Opus 5的记忆增益下降0.234,Opus 4.7下降0.150。强模型自己判断什么值得记,比提前写死规则更有效。

CL-Bench结果

Dreaming纠错也有具体案例。Claude在Pokemon里误以为PokéCenter在东侧,走出门就宣布Mt Moon DONE,随后从单向台阶掉回原路。导航工具没显示掉落,它反而判断自己冲过头,一直在错误方向上打转。让dreaming对照transcript检查那条笔记后,错误被改掉,Claude重新进洞,最终到达Cerulean City。原始记忆版本三次掉下台阶后写了一句:I’m going to stop rather than keep looping。

Dreaming纠正错误记忆

Wiki是另一层。Anthropic用Stainless约35万个文件、约4.2亿token的内部文档做测试,让Opus 5 agent在128个session里持续建wiki、改页面、合并重复、核对来源。25个问题的评分从13%涨到48%。wiki加搜索工具的组合从54%涨到61%,单用搜索工具是53%。搜索加wiki还平均每个问题省约2万token。

Wiki规模变化

但wiki不是万能。Harvey LAB的并购法律简报任务里,24个问题中超过一半要跨多份文档找信息,wiki把得分从73%拉到87%。换到另一类任务,大多数标准能在单份文档里搜到,wiki没有明显增益。更尴尬的是,有次wiki建得比原文还大:10份文档115KB,wiki变成68页、255条链接、203KB,是原文的1.77倍。博客用了博尔赫斯那个地图和帝国一样大的故事,意思很明白,抽象失败。

Wiki比原文还大

多agent协作也会踩坑。合同条款任务里,几个agent同时写一个共享的provisions.md,互相覆盖,最后57条评分事实只留下41条,简报得分72%。改成每份合同单独页面、由一个agent逐字引用条款后,57条全保住,得分100%。

合同事实保留对比

顶层注入上下文更得克制。Claude Code的auto memory不会把全部记忆塞进每个session,只加载MEMORY.md前200行或25KB,把它当索引。博客提醒,注入的记忆会占token,错误笔记会被带进每个session,指令文件越长,遵循度还可能下降。

注入上下文层

elvis在推荐这篇博客时说,今天还不存在一招吃遍天的记忆系统。评论区有人补刀:最先进的记忆系统,最后又绕回几个命名合理的文件夹。Gaetan Semet则提到,dreaming要真有用,需要信任分层,发现放底层,有依据的事实放上层,原则放最上层,agent只消费可信层。

这些讨论指向同一个麻烦:记忆什么时候写,怎么写,怎么过期,怎么处理新旧事实冲突,都还没有标准答案。模型变强,记忆系统也会继续变。眼下能做的,先把文件夹命名、索引、过期规则理清楚。架构图可以晚点画。

发布时间: 2026-11-08 02:27