我把关于 Claude 记忆功能真正有效的一切——官方文档、Dreaming 研究预览、实际生产配置——整合到了一篇操作指南中。
前往我的 Substack 获取最新 AI 动态:movez.substack.com
把这个页面加入书签,保存下来。当你看完时,你会得到一个能永久记忆的 Agent——不是“在聊天内”,而是跨越数周。
这并非夸大其词。直到 2026 年 3 月,这对普通用户来说都是不可能的。而现在,只需 12 步。
为什么你构建的每个 Agent 都像金鱼一样只有七秒记忆
每次你打开一个新的 Claude 聊天,它都从零开始。
它不知道你的名字。它不记得你昨天做的三次修正,不记得它上周发现的变通方法,也不记得你讨厌要点总结。
每次会话,它都会重新发现同样的事情,犯同样的错误,问你已经回答过的同样问题。
这不是 Claude 营销方式中的缺陷。这是语言模型工作的一个基本特性:每次会话都是全新的开始,除非你明确地把上下文重新输入进去。
对于聊天机器人来说,这没问题。但对于一个运行真实、重复工作的 Agent 来说,这是你的设置陷入停滞的单一最大原因。一个没有记忆的 Agent,在第 100 次运行时和第 1 次运行时一样有用。

第 1 层是一张便签纸。第 4 层是一个每周五反思一周、并变得更加敏锐的员工。这 12 个步骤构建了全部四层,共分三个部分。
基础 - 第 1 层和第 2 层
01. 开启 Claude 的内置记忆
从大多数人没有意识到已经存在的东西开始。2026 年 3 月,Anthropic 向所有 Claude 账户(免费版和 Pro 版)推出了持久记忆功能,名为“Chat Memory”。
Claude 现在会自动记住你的偏好、正在进行的项目和工作风格,覆盖所有对话,直到你告诉它忘记。
点击你的个人资料图标 → 设置 → 能力 → 滚动到记忆部分,确认“从聊天历史生成记忆”已开启。

底层运行的是 Memory Synthesis——Claude 大约每 24 小时将你的对话提炼成一个档案。这是其他一切的基础。
02. 主动播种你的记忆,而不是等待
文档明确指出的反直觉部分:不要等待 Claude 从历史中推断你的偏好——那个合成过程大约每 24 小时才运行一次。
在一个新的对话中直接告诉它。明确总比推断好,而且立刻生效,而不是一天之后。
Claude 将这些写入记忆。下一个对话开始时就已经知道它们。一条消息就消除了整个类别的重复解释。
03. 创建一个 Project 作为你的 Agent 的家
Project 是一个持久工作区,其中的指令在它内部的每个对话中保持加载。这是最强形式的第 1 层。

前往 Projects → New Project。根据工作命名,而不是主题。然后填写自定义指令框,包含 Agent 的角色、标准和约束条件。该 Project 内的每个聊天都会继承它们。
04. 了解 Projects 不记得什么
这是大多数人踩坑的地方。Projects 持久化指令。它们默认不持久化对话记忆。

你设置一个 Project,给它详细的上下文,工作几个对话——然后在同一个 Project 中开始新的聊天,之前讨论的一切都消失了。
架构决策、未完成的任务、调试会话——统统消失。Project 记得它的指令,而不是你的历史。
持久记忆 - 第 3 层(面向开发者)
05. 添加一个动态记忆文件
最简单且实际有效的持久记忆是一个单一文件,Agent 在开始时读取它,并在结束时追加内容。

在 Claude Code 中,这是 CLAUDE.md;对于任何 Agent,它可以是 Project Knowledge 中的 memory.md。
文档反复强调的规则:保持精简。一个新的会话在你还未输入任何内容之前,会花费大约 20,000 个 token 来加载指令。
不要把文件当作维基百科转储。如果你使用 Claude Code 的 /init 生成一个启动文件,反直觉的下一步是删除它生成的大部分内容——它陈述了模型已经知道的显而易见的事情。
06. 开启自动记忆
Claude Code 有一个自动记忆机制:它根据你的修正和偏好给自己写笔记,并在每次会话开始时加载它们。
现在 Agent 做轻量的自我文档化。当你纠正它时,修正可以延续到下一次会话,而不是蒸发。
07. 结构化记忆文件以保持其有用性
一个没有结构地增长的文件会变成噪音。给它分区:
每一条条目都应有其存在价值。这是 Agent 用来避免重复昨天错误的文件。
08. 决定什么值得记住
并非所有东西都应该保存。这里的纪律就是整个游戏的关键。每次重要会话后,Agent 回顾发生的事情,只提取值得保留的内容:一个决策、一个变通方法、一个偏好、一个失败模式。其他一切都被有意遗忘。
一个好的过滤器:这会改变 Agent 下一次的行为方式吗?如果是,就存储它。如果否,就放过它。什么都存储的记忆和什么都不存储的记忆一样无用。
自我提升记忆 - 第 4 层:Dreaming
09. 理解 Dreaming 究竟是什么
2026 年 5 月 6 日,在 Code with Claude 活动中,Anthropic 推出了 Dreaming,作为 Managed Agents 的研究预览。这个名字刻意借用了神经科学:当人类睡眠时,大脑将白天的经历巩固为长期记忆。Dreaming 对 Agent 做的也是同样的事。
它是一个定时后台进程。它读取 Agent 现有的记忆存储以及过去的会话记录,然后生成一个新的、重新组织的记忆存储:重复项被合并、过时条目被最新值替换、真实的新见解浮出水面。

在你费心之前,有一个重要条件:Dreaming 只帮助那些重复运行同一类任务的 Agent。它巩固跨多个会话的模式,所以一次性的 Agent 没有什么可巩固的。把它用在工作马(长期运行)的 Agent 上,而不是观光客(偶尔使用)的 Agent 上。
10. 运行一次梦(Dream)——确切的 API 步骤
Dreaming 是一个研究预览版,所以在写任何代码之前有三个先决条件:一个 Managed Agents API 密钥、通过 Anthropic 的表单申请访问 Dreaming(它是限制发布的),以及一个安装了最新 Anthropic SDK 的 Python 或 TypeScript 环境。
每次 dream 调用需要两个 beta 头叠加在一起——如果你使用的是支持 Dreaming 的版本,SDK 会自动设置这两个头:
调用本身接收两种输入:你想要巩固的现有记忆存储,以及最多 100 个会话 ID——Claude 将从中挖掘模式的近期 Agent 运行。
你还可以传递指令来引导 dream 关注的内容:
预览期间支持的模型包括 claude-opus-4-7 和 claude-sonnet-4-6。Dreams 按照所选模型的标准 API token 费率计费,成本大致与输入会话的数量和长度成线性比例。
文档明确指出:从小批量的会话开始,当对整理质量满意后再扩大规模。
11. 在提交前检查输出存储
输入记忆存储在整个过程中保持只读。Dream 生成一个单独的输出存储,一旦运行开始,其 ID 会出现在 dream 的 outputs[] 数组中:
然后读取它。检查合并的条目是否正确,被替换的条目是否确实过时,浮出的见解是否真实而非噪音。
这个审查步骤是决定 Agent 变得更聪明还是悄悄偏移的关键。由于输出是你选择加入的全新存储,一次 dream 绝不会默默破坏你已有的东西。
12. 切换进去,安排日程,让它复合增长
一旦你信任输出,切换到生产环境只需一行更改——将你的 Agent 指向新的存储 ID 而不是旧的。
然后给 dreaming 安排一个日程:每晚或每周,取决于 Agent 运行的频率。
现在循环闭合了。Agent 白天工作,在运行之间做梦,每个周期回来时变得更敏锐,无需重新训练,无需手动重新配置。
归档旧的 dream 绝不会影响其输出存储——你可以通过 Memory Stores API 单独管理它们。
它在大规模中有效的证据:法律 AI 公司 Harvey 报告称,在启用 Dreaming 用于法律起草工作流后,Agent 任务完成率大约提高了 6 倍。
那些以前因为 Claude 不断忘记文件类型特点和工具变通方法而失败的相同任务,突然开始可靠地完成。
破坏 Agent 记忆的错误
- 将 Projects 当作记忆。Projects 持久化指令,而不是对话历史。否则你会丢失上下文而不明白原因。
- 把所有东西都倾倒进 CLAUDE.md。臃肿的记忆文件浪费 token,埋没信号。精简且结构化胜过又长又完整。
- 无过滤地存储记忆。如果每样东西都值得记忆,那就没有东西值得。只保存会改变未来行为的东西。
- 自动部署 dream 输出。单独输出存储的全部意义就在于审查。跳过它就失去了安全网。
- 在低频 Agent 上运行 Dreaming。Dreaming 巩固跨多个会话的模式。一个月只运行两次的 Agent 从未积累足够。
结论:
大多数人会继续以他们一贯的方式打开 Claude——每次都是一个全新、健忘的聊天,每次运行都要重新解释自己,纳闷为什么他们的 Agent 从未变得更好。
那些构建了四层的人将会拥有不同的东西:一个了解他们、积累所学知识、并每周重写自己记忆以变得更敏锐的 Agent。
选择前四个步骤。今晚就设置好。仅此一项就会改变你下一次会话的感觉。





