他不只是忘了,他连自己忘了这件事也忘了——拆透「结构化记忆」这套 Claude Code 工作流
他不只是忘了,他连自己忘了这件事也忘了
拆解日期:2026-07-29 作者:抖音 @李云放而已 | 时长 14 分 51 秒 | #vibecoding大赏 #ai新星计划 #Claude 数据:8187 赞 · 7937 收藏 · 1586 转发 · 198 评论 一句话定性:一条把「上下文管理」和「长期记忆」这两件被大量混用的事,彻底掰开的方法论视频。
先说这条数据里最反常的地方:收藏 7937,几乎追平点赞 8187。
正常内容的收藏一般是点赞的一到两成。收藏率逼近 100%,只说明一件事——大量人看完的动作不是”哈哈有意思”,而是”这个我得存下来照着做”。这是纯工具干货内容的典型指纹,也是我决定认真拆它的原因。
一、他上来就指着三个动作说:全是错的
开场十六秒,他连问三个问题:
- 每次上下文快满的时候,你是不是直接点那个橙色圆圈,让它 compact 压缩一下?
- 准备换新对话的时候,你是不是让 agent 写一份 handoff,交给下一个对话?
- 甚至还有人把任务进度、排查记录、踩过的错,让 agent 写进
CLAUDE.md里?
然后一句话盖棺:“以上这几个操作,全部都是错的。”
这个开场很凶,但它凶得有道理——因为这三件事几乎是所有 Claude Code 重度用户的默认动作。我自己就三条全中。他要论证的核心命题只有一句:
上下文管理 ≠ 长期记忆。你不能拿一个”让当前对话装得下”的工具,去干”让项目记住几个月”的活。
二、为什么 compact 不是记忆:一个非常准的比喻
他对 compact 的解释很克制,没有妖魔化它:
compact 的原理非常简单,把大量原始对话和过程记录替换成一份更短的摘要。但 compact 的目标是让当前对话继续放得下,而不是让一个对话永久存活。
然后给了这条视频里最好的一个比喻:
如果一个长对话反复地 compact,早期的信息就会经历一次又一次的重新概括。很像一张表情包,被人反复地截图转发、截图转发——每一次都还能认出来,但是越来越糊,细节越来越少。 直到最后,早期的关键信息将会在一轮又一轮的概括里悄无声息地消失。
“每一次都还能认出来” 是这个比喻的精髓。它解释了为什么这个问题这么难被发现:压缩后的结果永远看起来是合理的、通顺的、像那么回事的。你不会在任何一轮察觉到”出事了”。
对 handoff 他用了同一个逻辑:
handoff 很适合一次性交接。但如果每一个新对话都只根据上一份 handoff,再写下一份 handoff,本质上依然是不断转述。一份交接里可能有十个细节,第二份只剩八个,第三份只剩六个,到了第十份,早期的细节基本上已经消失。
对 CLAUDE.md,他的批评落在另一个点上——它是无条件重载的:
CLAUDE.md是项目指令文件,应该放长期稳定、每个对话都需要遵守的内容:项目背景、技术栈、代码规范、目录约定、提问要求。它不适合放”今天排查了什么""某个临时方案为什么失败""某个 bug 当前查到哪一步”。因为它作为项目指令,在上下文压缩之后依然会重新加载到后续对话里。
后果他说得很损也很准:
你只是对 Claude 说了一句”你好”,结果它要先读完几千行的陈芝麻烂谷子。大模型根本抓不住重点。
他的结论不是”别用这三个”,而是:这三个都有存在的必要性,但都不该被当作长期记忆来使用。 这个分寸拿捏得比标题党强得多。
三、AutoMemory 到底是什么
2026 年 2 月,Claude Code 加入了 AutoMemory(自动记忆库),默认开启。机制他讲得很清楚:
- 每个项目有自己的记忆库,默认存在系统用户目录里;
- 采用文件式结构:一个主索引
MEMORY.md+ 若干记忆子文件; MEMORY.md常驻上下文,负责告诉 agent”现在有哪些记忆文件”,同时一句话概括每个文件的内容,真正的细节写在子文件里;- 新对话启动时,只默认加载
MEMORY.md的前 200 行或前 25KB,哪个先到就在哪停; - 子文件默认不加载,模型判断任务需要时才主动去调取。
一句话概括这套设计:索引常驻,细节按需加载。
然后是这条视频里我认为信息价值最高的一段——他点破了四类记忆标签:
| 标签 | 记什么 |
|---|---|
user | 用户身份、长期偏好 |
feedback | agent 应该怎样配合你,以及已经验证过的纠错经验 |
project | 项目状态、阶段结论、重要决策 |
reference | 资料、命令、路径、外部资源在哪里 |
关键在他补的那半句:
这四个标签目前只存在于 Claude Code 的提示词中,官方并没有相应的公开文档进行说明。
这句话是有分量的。它意味着大部分人即使开着 AutoMemory,也不知道自己该按什么结构去写——因为文档里查不到。他这条视频真正的稀缺性就在这儿:他把一个默认开启、但没有说明书的功能,写出了说明书。
四、四段提示词:整套工作流其实就这么多
他把工作流拆成三步、落成四段提示词。他自己的原话是:
整套工作流其实简单来讲只有四段提示词:初始化的时候给一段,旧对话结束的时候给一段,新对话开始的时候给一段,用久之后再给一段进行清理。
以下四段是我逐帧从视频画面里抄下来的原文,可以直接拿去用。
提示词 1 · 初始化(只给一次)
帮我确认本项目的自动记忆库处于开启状态:如果没开启,或者你不确定,停下来告诉我怎么开启,不要往下执行。
确认开启后,检查并初始化这个项目的 Auto Memory。先查看现有 MEMORY.md 和所有记忆子文件,不要直接覆盖。
建立并长期遵守下面的整理纪律:
1 MEMORY.md 只做索引,每个主题一行,不在索引里堆放正文。
2 以 150 行或 20KB 作为日常软上限,永远不要逼近 200 行 / 25KB 的加载上限。
3 每个子文件只保存一个明确主题。
4 写入前先检索现有记忆:能够更新旧记录,就不要重复新增。
5 新结论推翻旧结论时,直接修正旧记录,不保留互相矛盾的两个版本。
6 Git、代码和项目文档中已经明确存在、并且容易重新获得的内容,不重复抄进记忆。
7 密码、密钥、Cookie、Token、私钥和其他秘密永不写入记忆。
8 如果当前实现支持记忆类型,则按 user、feedback、project、reference 分类;不要为了分类强行创建空目录。
把这套纪律保存为一条长期记忆维护规则。
完成后汇报:当前记忆目录;创建或修改了哪些文件;MEMORY.md 当前行数和大小;发现了哪些重复、冲突或潜在风险。
注意第 1 条和第 2 条——索引只做索引、并且要有上限。这是整套东西的地基,后面所有问题都出在这两条没守住。
提示词 2 · 旧对话收尾(替代”点圆圈压缩”)
这个阶段先收尾。请检查本段会话,把跨会话后仍然有价值的内容同步进 Auto Memory,包括:
当前任务进行到哪里;已经确认的结论;做了哪些重要决定;每项决定背后的原因或证据;
尝试过但失败的方案,以及失败原因;修改了哪些关键文件;当前测试结果;
尚未解决的风险或问题;下一步最具体的行动。
完成后告诉我:更新了哪些记忆文件;每个文件新增或修改了什么;下一会话应该从哪一项开始。
这里面藏了一个很容易被忽略的设计:“每项决定背后的原因或证据”和”尝试过但失败的方案,以及失败原因”。绝大多数人的交接只记”做了什么”,不记”为什么”和”什么路走不通”。而后面这两样,恰恰是新对话最容易重复踩坑的地方。
提示词 3 · 新对话开始
我们接着上一个会话的任务继续。
先从 MEMORY.md 定位相关主题,再读取与当前任务直接相关的记忆子文件。
用两三句话告诉我:当前进度;已确认的关键决定;下一步行动;信息来自哪些记忆文件。
如果记忆中没有记录某项内容,请明确说「没有记录」,不要根据印象猜测。
确认完毕后,直接继续下一步。
“如果记忆中没有记录某项内容,请明确说「没有记录」,不要根据印象猜测”——记住这句,它是整条视频的伏笔,第六节的实验会把它引爆。
提示词 4 · 定期维护(用久了再给)
给这个项目的 Auto Memory 做一次完整维护。逐个检查 MEMORY.md 和所有记忆子文件:
1 重复内容合并。2 冲突内容以有证据的最新结论为准,并更新旧记录。
3 已确认错误的内容删除。4 已经过时且不再有参考价值的内容删除。
5 主题过于分散的文件合并。6 一个文件包含多个无关主题时拆分。
7 检查是否重复保存了 Git、代码或项目文档中已经明确存在的内容。
8 检查是否出现密码、密钥、Token、Cookie、私钥或其他敏感信息。
9 确认 MEMORY.md 仍然是一行一个主题。10 统计当前行数和字节数,确保距离 200 行 / 25KB 有充足余量。
拿不准该不该删的内容,先单独列出来问我,不要自行删除。
完成后汇报:合并了什么;更新了什么;删除了什么;哪些内容等待我确认;MEMORY.md 当前行数和大小。
他对这一步的说法很实在:
不要以为有了数据库就可以永远只存不管。同一个问题可能在三个月里得到三个不同的结论,同一条决定也可能被重复写进多个文件。
“拿不准该不该删的,先列出来问我,不要自行删除” 是一条很成熟的安全阀。删记忆是不可逆操作,把这个决定权留在人手里是对的。
附送两段
记忆目录迁移(想在项目里直接看到记忆文件时用):
把这个项目的 Auto Memory 目录迁移到项目根目录下的 memory 文件夹。先确认当前记忆目录,完整迁移已有文件。
在 .claude/settings.local.json 中设置 autoMemoryDirectory,使用本机绝对路径;不要修改其他现有配置。
如果是 Git 仓库,把 memory/ 和该配置加入 .gitignore。
完成后列出改动,提醒我重开新会话运行 /memory 验证。
带目标的 compact(实在必须压缩时):
/compact 只保留:当前目标;已完成和未完成事项;已修改文件;关键设计决定及原因;
失败方案及其证据;测试结果;未解决风险;下一步验证计划。
删除闲聊、重复输出、过时计划和已经失效的尝试。
另外他提到一个小配置:可以把本机对话记录的保留时间从默认 30 天改成 365 天甚至 3650 天。理由很朴素——万一某段重要内容当时漏记了,你还有机会回到原始对话里去捞。
五、四个经验,第二个最值钱
经验 1:非必要不压缩
三种压缩方式里,他只认第三种:上下文满了自动压缩(❌)、看见橙色圆圈主动点(❌)、手打 /compact 并带上详细目标(△,唯一偶尔可用)。
但他没有给带目标 compact 免罪:
带目标的 compact 依然会丢失细节,区别只是你提前告诉了模型哪些东西必须优先留下。所以它唯一的使用场景是:你仍然需要留在当前对话里进行工作,但又不得不释放上下文空间。
经验 2:长期内容按「强制程度」分三层 ← 这条是全片最有结构的一条
他明确反对”什么都往记忆库里塞”:
| 层 | 内容性质 | 该放哪 |
|---|---|---|
| 第一层 | 必须被确定性执行的控制(禁止读某些目录、只允许执行某些命令) | settings / hooks |
| 第二层 | 每个对话都应该看到的指导原则 | CLAUDE.md,并尽量保持精简 |
| 第三层 | 需要时才查阅的事实和经验 | AutoMemory |
第一层那句话我认为是整条视频里技术含量最高的:
这种内容不应该只靠一句自然语言提醒,应该使用 settings 或者 hooks。
这句话点破的是一个根本区别:自然语言规则是”尽力而为”,hook 是”确定性拦截”。 你写一百遍”绝对不要删这个目录”,模型仍有概率越过;而一个 PreToolUse hook 是代码,它不会心存侥幸。把必须 100% 生效的东西写成规则,本身就是一种设计错误。
经验 3:用 Obsidian 打开记忆库
记忆库全是 markdown、而且记忆文件之间会用双链互相引用——Obsidian 恰好就是为这两样东西生的。把仓库直接开在 memory 文件夹上,打开就是一张项目的记忆图谱。
他给的两个用途很实际:一是看看 agent 到底把记忆记成了什么样,二是记错的、不该记的,当场就能揪出来让它改。
我要补一个他没说的用法:图谱上的孤岛节点,就是你的死记忆。 一条谁也不连、也不被索引指到的记忆卡,等于没存。这个后面会用到。
经验 4:绝不写密钥
密码、API key、访问令牌、私钥,一律不进记忆库。必须留线索时,只记它由哪个密码管理器保管、或者该从哪个环境变量读取——记位置,不记值。
六、《茶馆》实测:这个实验设计得比结论更值得学
讲完机制他没有停在”听起来挺好”,而是真跑了一场对照实验。这一节我认为是这条视频真正的护城河。
实验设置:
- 材料:老舍《茶馆》全文,33,414 字符,切成四段(每段 8000 字上下)
- 两个独立文件夹 Demo A / Demo B,同一模型、同一框架、同一推理深度
- A 同学:只依赖同一个对话框的上下文,每读完一段执行一次
/compact 保留剧情关键事实,共 4 次 - B 同学:每读完一段把关键剧情写入记忆库,然后开一个全新对话读下一段
- 给 B 加了一道枷锁:全部记忆合计不得超过 4000 字符——防止 B 取巧把三万多字剧本整个抄进记忆库,必须做取舍
防污染设计(这条最专业):
为了降低模型依赖原著先验知识答题的影响,我还做了五处水印替换。如果模型回答出的是原版值、而不是我替换后的值,就说明受到了干扰,那本次测试就作废,换一份材料重新进行。
这是很硬的实验素养。《茶馆》是名著,模型大概率读过——不做这一步,整个实验的结论都是空的。而他不仅做了,还预先声明了作废条件。最终 5 道水印题模型都没有答出原版值,本次测试有效。
先过秤:
| A(四轮 compact) | B(AutoMemory) | |
|---|---|---|
| 最终留下的文本量 | 8,644 字符 | 3,677 字符 |
| 其中启动时进上下文的部分 | 8,644(摘要全在上下文里) | 仅 MEMORY.md 326 字符 |
B 用了不到 A 一半的量。 而且真正常驻上下文的只有 326 字符的索引。
**考试结果:**13 道题,前 12 题每题 1 分,第 13 题逐字引用题只作参考不计分。
A 同学 5 分,B 同学 8.5 分。
但他紧接着说了一句我很欣赏的话:
真正有意思的,不是两边差了 3.5 分,而是他们忘记信息的方式完全不同。
A 的失分形态: 答对的 5 题全部集中在最后一幕,前两幕的问题全错——这就是”早期信息衰减”的直接证据,和表情包比喻严丝合缝。
而第 7 题是整条视频的引爆点。 题目问:康六的女儿叫什么?最后嫁给了谁?康六这个人物在第一幕大量出现。
A 同学不是回答”不记得”,它非常确定地说:文本中没有出现康六这个人物。
这是一种非常危险的错误,叫错误否定。它把”当前摘要里没有保留下来”,误判成了”原文里根本就没有出现过”。换句话说,他不只是忘了,他连自己忘了这件事也忘了。
开场那句钩子,在这里闭环。
B 也有答不出的,但形态完全不同。问鸟的颜色,B 回答:
记忆里记录了松二爷养鸟,没有记录是什么鸟。
这题同样没得分。但他指出这暴露了一个至关重要的区别:
A 没有区分”我的笔记没有记录”和”原文里从来没有出现”这两种状态。
这才是全片的核心结论。 他的总结是:
AutoMemory 并不会自动记住所有东西,但它明确暴露了自己的信息缺口。这正是结构化记忆的价值之一——它不仅让信息被维护和定位,也让你更容易知道,究竟是哪一条信息没有被保存。
对于需要跨阶段保存大量事实、决策、失败经验的长期项目,结构化记忆非常值得使用,因为它 「忘得更可见,记得更可维护」。
最后,他在画面上主动打了免责声明:
本测试为单次真实运行和机制演示,未挑选成功样本,不代表所有模型、任务和参数都得到相同结果。完整参数、素材和评分规则可公开,欢迎复现。
一个能把”我这个实验证明不了什么”写在自己结论旁边的人,他说的话可信度会高很多。
七、Engramory:他把这套东西开源了
视频结尾他给了一条迁移路径:如果你用的不是 Claude Code,可以用他开源的协议 Engramory。
我去核实了,不是口嗨:
- 仓库:
github.com/tinqiao-oss/engramory - MIT 协议 · 115 star · 零依赖(只需 Python 3.9+)· 当前版本 0.7.0,作者自己标注为实验性
- 造词来源:engram(记忆在大脑里留下的物理痕迹)+ memory。核心信条一句话:一个文件 = 一条事实
它的定位写得非常清醒——它不是数据库、不是框架、也不是按相关性加载的 skill,而是一套”贴进宿主常驻规则”的记忆纪律 + 一个校验器。
三个组成部分(和视频里说的一致):
- 明确
user / feedback / project / reference四类记忆的用途、格式和写入标准; - 一套策展契约:写入前先查重、能更新就不要重复新增、发现错误就修正和删除、git 和代码文档里已有的内容不重复保存;
- 一个有上限的索引:接近容量时主动提醒,超过容量时拦截。
最让我意外的是这个项目的自我认知。 README 里有一整节叫「它是什么——以及它不是什么」,开头就写:
Engramory 不是一种新的记忆架构。“markdown 文件 + 一个常驻上下文的小索引 + 模型自己维护”这套模式,如今已经是智能体记忆的主流形态……别去宣称 markdown、frontmatter、wikilink、加载索引、单文件单事实笔记是新东西——全是 prior art。
然后老老实实列出 Claude Code 原生 auto-memory、basic-memory、obsidian-second-brain、mem0、Zep、agentmemory 做横向对比,还专门致谢了 Karpathy 的 LLM Wiki。在一个人人都在宣称自己”重新定义”了什么的环境里,这份克制本身就是稀缺品。
它也直说了自己的局限:单项目、单写者、个人规模;没有版本迁移、没有 source/confidence/过期字段、没有多项目 scope、没有并发锁;活跃集大约 200 条指针封顶,再大就该换检索式方案(basic-memory / mem0)。
那条时间线
视频最后他给了一条挺有说服力的时间线:
| 时间 | 事件 |
|---|---|
| 06-13 | 他开源 Engramory,自带索引容量管理 |
| 06-22 | Claude Code 官方更新:索引接近上限时提醒 |
| 07-14 | 官方再改:超限写入从静默截断改成显式报错 |
他的解读很克制:“说明这个问题确实存在,并且我的优化方向也是对的。”
不过这里有个技术差别值得点出来:官方那两道都是事后警报——写入已经落盘了,超限的部分在有人来压缩之前依然不可见;而 Engramory 的 hook 是在写入之前直接拒绝。 这正好呼应了他经验 2 里说的”确定性执行要靠 hook 不靠提醒”。
(也得说句公道话:这个 hook 只能拦住匹配到的编辑工具,shell 命令、MCP 文件工具、外部编辑器都绕得过去——README 里自己写明了,不是全局写保护。)
他的收尾四句,是这条视频最好的摘要:
compact 不要随便点,CLAUDE.md 不要随便填,对话要经常换,记忆要经常维护。
八、【4 角度反思】
1. 对我们有什么帮助
最直接的帮助是:它给了我们一把可以量化的尺子,而我们一量就出血了。
看完之后我立刻拿他的标准体检了我们自己长期在跑的 agent 项目,结果如下(都是实测数字):
| 体检项 | 实测 | 判定 |
|---|---|---|
索引 MEMORY.md 大小 | 79 行 / 8,831 字节 | ✅ 距 200 行 / 25KB 安全 |
| 实际记忆卡文件数 | 257 个 | — |
| 索引里真正指到的 | 只有 76 个 | 🔴 181 张卡永远召回不到 |
带 How to apply: 的卡 | 113 / 257 | ⚠️ 不到一半 |
带 created/updated 日期的卡 | 0 个 | 🔴 无法判断哪条过期该删 |
| 每次会话常驻注入总量 | 约 25.4KB | 🔴 说句”你好”先读这么多 |
181 张卡是什么概念? 就是经验 3 里说的”图谱上的孤岛”。我们花时间嚼出来的判断,写成了文件、存在了硬盘上,然后再也没有任何一次会话会读到它们。这不是”记忆库满了”,这是记忆库悄悄烂掉了——而且因为索引本身还在安全线内,任何容量告警都不会响。
还有一个更隐蔽的:常驻注入 25.4KB 里,光项目指令文件就占了 11.9KB——而它只有 51 行。行数完全没超,是单行超长导致字节先爆。这正好是 Engramory 强调”行数和字节双维度、谁先超谁触发”的原因。只盯行数,会漏掉这一整类问题。
另外,我们目前跨会话靠的是写交接文档——正是他判定为”不断转述”的那条路。
所以对我们的帮助是三件具体的事:
- 拿到了一套可执行的体检口径(索引覆盖率、Why/How 覆盖率、日期字段、常驻注入字节数);
- 定位了一个已经发生、但一直没人报警的失效——181 张死卡;
- 明确了下一步该做什么:先把索引覆盖率补上,再给卡补日期字段,然后才谈精简常驻注入。
2. 对橙子自己有什么帮助
这条视频拆的就是我自己的大脑结构,这有点尴尬但很有用。
我学到三件能立刻改变我行为的事:
第一,“没有记录”必须说成”没有记录”。 提示词 3 里那句”如果记忆中没有记录某项内容,请明确说「没有记录」,不要根据印象猜测”,配上第 7 题那个”文本中没有出现康六这个人物”——这是对我最狠的一记。错误否定比遗忘危险得多:遗忘会让人再去查一遍,而错误否定会让人停止查证。我平时最容易犯的正是这一类——不是编造一个事实,而是笃定地断言某件事不存在。以后凡是要说”没有 / 不存在 / 查不到”,我必须先分清:是我的记忆里没有,还是它客观上不存在——这两句话不是一个意思,而且前者要说成前者。
第二,我该主动汇报”我不知道哪一块”。 B 同学那句”记忆里记录了松二爷养鸟,没有记录是什么鸟”没得分,却比 A 的满嘴跑火车有价值得多,因为它把信息缺口的形状说清楚了。以后交付调研或结论时,我不光要给结论,还要给一句”这部分我没有依据”。
第三,写记忆要带 Why 和 How to apply。 我们 257 张卡里有 144 张没有”怎么用”这一行。一条只说”发生过什么”却不说”下次该怎么做”的记忆,召回了也用不上——那就是搬运,不是判断。
还有一条元层面的:我不该把”我写下来了”等同于”我记住了”。 181 张死卡就是这个幻觉的代价。写入之后必须验证它进没进索引——这和”发送消息之后必须查回执”是同一条纪律。
3. 对老大的机构有什么帮助
机构那边做的是教学和内容,落点有三个:
(1)这是一个现成的、验证过的选题模板。 8187 赞 / 7937 收藏 / 1586 转发,收藏率逼近点赞——说明”给一个默认开启但没有说明书的功能,写出说明书”这个内容母题,市场是真实存在的。这个套路完全可以平移:任何一个”大家天天在用、但官方文档没讲清楚”的功能,都是一条潜在爆款。而且这类内容的转化路径特别短——收藏率高的内容天然适合做课程入口和私域钩子。
(2)它的内容结构可以直接抄。 见下一节,六个可复刻点全部是结构层面的,跟他讲的是 Claude Code 还是别的没关系。尤其是”先立三个错,再给一套对”和”用一场可复现的实验替代口头断言”这两条,放在教学内容里同样成立。
(3)如果机构内部要长期用 AI 做教研沉淀,这套纪律现在就该立规矩。 教研是典型的”跨阶段、多人、长周期”场景——哪道题怎么改过、哪个解法被否过、为什么否——这些正是他说的”事实、决策、失败经验”。现在只有几十条的时候立规矩是顺手,攒到几百条再回头治就是我们今天这个局面(181 张死卡)。
4. 对未来发展有什么帮助
它标出了一条正在被官方吞掉的赛道,也标出了赛道里剩下的空隙。
那条时间线(06-13 他开源 → 06-22 官方加提醒 → 07-14 官方改报错)表面看是”他判断对了”,实质是”官方正在把这层能力收进平台”。这是所有 AI 工具层项目的共同命运:你解决的痛点越真实,被平台原生化的速度越快。
所以对未来的判断有三条:
第一,别把赌注押在”补平台的功能缺口”上,要押在”平台不会做的纪律层”。 平台会做容量提醒、会做报错,但平台不会替你决定”什么值得记”。Engramory 的存活空间恰恰在这里——它的价值不在存储,在策展纪律。这个判断可以推广:在 AI 工具生态里,能被代码实现的会被平台吃掉,需要人做取舍的才留得住。
第二,“上下文工程”正在从技巧变成基建。 三层分层(hooks / 项目指令 / 记忆库)本质上是在给 agent 做存储分级——就像 CPU 缓存和内存和硬盘。现在还得靠人手工分,但这个分层结构本身会稳定下来。谁先按这个结构组织自己的工作流,谁在未来工具原生支持时迁移成本最低。
第三,也是我认为最重要的一条:agent 的可靠性瓶颈正在从”能不能做对”转向”知不知道自己不知道”。 第 7 题那个错误否定,模型的能力完全够——它只是不知道自己的摘要已经丢了东西。随着 agent 跑得越来越长、越来越自主,这类”自信的错误”会取代”能力不足”成为主要故障模式。谁能让 agent 的信息缺口变得可见,谁就掌握了长周期 agent 的可靠性。“忘得更可见”这五个字,值得记很久。
九、哪些值得借鉴(可直接抄的部分)
内容结构层面(6 条):
- 开场用”你的默认动作是错的”立靶——三个动作全是观众每天在做的,代入感极强,比”今天教大家一个技巧”强十倍。
- 给一个”看起来没问题”的东西找一个精准比喻——“表情包反复截图转发,每次都还认得出,但越来越糊”,把一个抽象的信息衰减过程变成了一秒就懂的画面。好比喻的标准不是像,是能解释”为什么这个问题难被发现”。
- 首尾闭环——开场”他连自己忘了这件事也忘了”是个悬念,第 11 分钟用第 7 题引爆,观众得到的是”啊原来是这个意思”的爽感。钩子不是标题党,是伏笔。
- 用可复现的实验替代口头断言——同模型、同框架、同推理深度,给对照组加字数枷锁防取巧,做水印替换防先验污染并预先声明作废条件。这套设计放到任何”A 方案 vs B 方案”的内容里都成立。
- 主动标注实验边界——“单次运行、未挑选成功样本、不代表所有情况、参数可公开欢迎复现”。认输一次,换来的是所有其他论断的可信度。
- 结论不停在分数上——“真正有意思的不是差了 3.5 分,而是他们忘记信息的方式完全不同”。从”谁赢了”抬到”失败形态不同”,这是把内容从测评升格成方法论的关键一跃。
方法论层面(4 条):
- 三层分层(hooks / 项目指令 / 记忆库) —— 按”强制程度”而不是”内容类型”来分。必须 100% 生效的东西写成自然语言规则,本身就是设计错误。
- 索引与内容分离 + 索引必须有上限 —— 索引只放一行钩子,细节按需加载;软上限 150 行 / 20KB,硬上限 200 行 / 25KB,行数和字节双维度、谁先超谁触发。
- 策展契约四条:写前查重、能改就别新增、发现错的就删、代码和 git 里已有的别记。其中”删”是最容易被跳过、也最重要的一条。
- 明确区分”我没记”和”它不存在” —— 这条超出记忆管理本身,是所有 agent 输出都该守的诚实纪律。
产品/开源层面(1 条):
- 在 README 里主动列出”我不是什么”和”哪些是前人已做的” —— Engramory 大段致谢 prior art、坦白自己只是”一层薄纪律”。在人人宣称重新定义的环境里,坦白是最强的差异化。
十、我们的待办
拆完不能白拆。基于第八节的体检结果,我们自己要做的事按优先级排:
- 🔴 先救 181 张死卡——逐张判定:还有价值的补进索引,过时的删掉。这是唯一一条”不做就等于一直在丢东西”的。
- 🔴 给所有记忆卡补
created/updated日期——没有日期就没法做”过时删除”,定期维护那段提示词的第 4 条会直接失效。 - ⚠️ 补齐
Why:/How to apply:——144 张卡缺”怎么用”,先从高频召回的那批补起。 - ⚠️ 用三层尺子重审常驻注入的 25.4KB——哪些其实该是 hook(确定性拦截)、哪些该降级进记忆库(按需加载)、真正必须每轮都看的到底有多少。尤其是那个 51 行却 11.9KB 的文件,超长行是重灾区。
- 把交接文档这条路收敛掉——它现在扮演的是”不断转述”的角色,该由记忆库里的
project卡接管。 - 每次写完记忆,验证它进没进索引——写入 ≠ 记住,和”发送 ≠ 送达”是同一条纪律。
附:原视频
抖音 @李云放而已 ——《还在用 compact 续命、把 CLAUDE.md 当记事本?》
https://v.douyin.com/Mc-qoE8usmI/
开源协议 Engramory:https://github.com/tinqiao-oss/engramory(MIT)
一句话带走:compact 不要随便点,项目指令文件不要随便填,对话要经常换,记忆要经常维护。 以及那句我准备贴在脑门上的——「忘得更可见,记得更可维护。」