Auto memory:Claude Code 的自动记忆功能详解
Claude Code的Auto Memory功能是一个自动记忆系统,它会在工作过程中记录重要信息(如构建命令、调试经验、API规范等),并在新对话时读取这些记忆快速上手。记忆以Markdown文件形式存储在项目目录下,包含一个索引文件(MEMORY.md)和多个分类记忆文件。系统采用按需加载机制,启动时只读取索引文件前200行,需要时才加载具体内容,以节省上下文空间。用户可通过/memory命令
今天来聊一下 Claude Code 的 Auto Memory,也就是它的自动记忆功能。
简单说,就是一个随身笔记本——Claude 在工作过程中,会自动把它觉得有用的东西记下来,下次打开新对话的时候,再把这些笔记读一遍,直接上手干活,不用你重新介绍一遍项目。
官方文档:https://docs.anthropic.com/en/docs/claude-code/memory
文件结构
用文件夹结构来直观展示就是这样:
~/.claude/projects/你的项目/memory/
├── MEMORY.md ← 目录页(每次启动只读这个,前200行)
├── debugging.md ← 调试经验的详细记录
├── api-conventions.md ← API设计决策
├── build-commands.md ← 构建命令和工具配置
└── preferences.md ← 你的个人偏好
MEMORY.md 里面大概长这样:
# 项目记忆索引
## 构建命令
见 build-commands.md — 使用 pnpm,测试命令有特殊 flag
## 调试经验
见 debugging.md — CORS 问题、Redis 连接超时的解法
## API规范
见 api-conventions.md — 错误格式、验证规则
常见问题解答
第一,它什么时候会触发记录?
有两种情况。一种是你主动让它记,比如你说"记住,我们这个项目用 pnpm 不用 npm",它就直接存下来。另一种是它自己判断,觉得这个信息将来还用得上,就自动存。官方没有公开具体的判断算法,但从实际表现来看,它主要会记这几类东西:构建工具的命令、调试过程中遇到的问题和解法、项目里那些不成文的规矩,还有你个人的风格偏好。
第二,Auto Memory 和 CLAUDE.md 有什么区别?
一句话:CLAUDE.md 是你写给 Claude 看的,Auto Memory 是 Claude 自己写给自己看的。前者是你定规则,后者是它记经验。就像一个实习生,你给他一份入职手册,他自己还会有一个工作笔记本,两个都在用。
第三,怎么用?
默认就是开启的,不用任何配置。你可以在会话里输入 /memory 查看它记了什么,也可以在这里把功能关掉。
第四,存在哪?
路径是 ~/.claude/projects/你的项目名/memory/,每个项目都有自己独立的记忆文件夹,里面全是普通的 Markdown 文件,你随时可以打开来看、编辑、或者删掉。
第五,文件结构是怎样的?
记忆文件夹里会有一个主文件叫 MEMORY.md,它的作用是目录页——列出其他文件的索引,比如"调试经验在 debugging.md,个人偏好在 preferences.md"。具体的内容分散在各个子文件里,MEMORY.md 只负责导航。
第六,Claude 什么时候读这些记忆?
每次对话启动的时候,它只读 MEMORY.md 的前200行,大概了解"我有哪些记忆、在哪个文件里"。真正需要用到某块知识的时候,才去按需读对应的文件。这个设计是为了节省上下文空间——如果每次启动把所有记忆文件全塞进来,内容太多,真正干活的空间就被压缩了。
设计思路
这个机制其实跟 Skill 的设计思路很像。Skill 文件夹里每个 skill 也有一个描述文件,Claude 启动时先扫一眼描述,判断这个会话需不需要用到这个 skill,需要了再去深入读它的详细规则。本质上都是同一个思路:先看目录,按需加载,节省空间。
更多推荐



所有评论(0)