今天来聊一下 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,需要了再去深入读它的详细规则。本质上都是同一个思路:先看目录,按需加载,节省空间。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐