这是「Obsidian + Claude Code 实践手记」系列教程的第五期。

第三期讲过 CLAUDE.md的基本写法。这一期往深推一步:怎么构建一套完整的记忆体系,让 Claude 真正越用越懂你。(文章中标题标红和添加⭐是重要内容,推荐重点阅读。)

本期目录:

  1. Auto Memory: Claude 自带的记忆机制

  2. CLAUDE.md

  3. 全局记忆模板:用户级 CLAUDE.md(可直接复制)

  4. 项目记忆模板:项目级 CLAUDE.md(可直接复制)

  5. 记忆管理:不是越多越好

  6. 两套记忆系统的关系

  7. 延伸工具:claude-mem


👀

一、Auto Memory:Claude 自带的记忆机制

很多人不知道这个功能的存在:Claude Code 会在工作过程中自动记录它认为值得记住的东西。

你纠正过它一次"不要用破折号开头",下次它就记住了。你告诉它"始终用 pnpm 不要用 npm",它会自动存下来。你不需要手动操作,Claude 自己决定什么值得记。

怎么开

Auto Memory 从 Claude Code v2.1.59 起默认开启。你不需要做任何事,它已经在工作了。

想确认版本,终端输入:

1claude --version2

想手动开关,在会话中输入 /memory,会看到一个 Auto Memory 的开关。

记忆存在哪

Auto Memory 的文件存储在:

1~/.claude/projects/<项目名>/memory/2
更完整的 AI 记忆系统:让 Claude 越用越懂你配图 1

Claude 用它来追踪"我记了什么、存在哪"。每次新会话启动时,前 200 行或前 25KB 会被自动加载(以先到者为准),超出部分不加载。

在 Claude Code 会话中输入 /memory,它会直接列出所有记忆文件,你可以选择打开。

你需要做什么

Auto Memory 是自动的,你可以放养。但也建议你定期审查:

输入 /memory,看看 Claude 记了些什么。删掉过时的、不准确的、无关的。这些文件就是普通的 Markdown,你可以随时手动编辑或删除。

一个重要细节:Auto Memory 是本地机器级别的,不跨设备同步,也不会提交到 Git。换一台电脑,这些记忆就不在了。


👀

二、CLAUDE.md

Auto Memory 是 Claude 自己做的笔记。CLAUDE.md 是你给它写的规矩:你希望它在每次会话里都遵守的指令。

两者每次会话都会被读取,共同构成 Claude 的"记忆"。区别是:MEMORY.md 有 200 行截断,而 CLAUDE.md 不管多长都会全量加载进上下文窗口。

这意味着:你在 CLAUDE.md里写的每一行,都在永久消耗 token 预算。

所以 CLAUDE.md 不是越多越好。官方建议:单个 CLAUDE.md 控制在 200 行以内。超过这个长度,遵循度会明显下降。

CLAUDE.md 怎么被读取:搞懂加载机制 ⭐⭐⭐

这一点非常重要,直接决定了你的记忆文件能不能生效。

Claude Code 启动时,会从你当前工作目录向上逐级搜索,沿途找到的所有 CLAUDE.md和 CLAUDE.local.md全部加载。比如你在 foo/bar/ 目录启动 Claude Code,它会同时加载 foo/bar/CLAUDE.md 和 foo/CLAUDE.md:一路往上,全部读进来。

子目录的 CLAUDE.md 则完全不同。 它们在启动时不会被加载。只有当 Claude 在工作过程中读取到某个子目录下的文件时,才会把该子目录的 CLAUDE.md 一起加载进来。

换句话说:

  • 项目级和更上层的 CLAUDE.md → 启动时自动加载,全量读入

  • 子目录级的 CLAUDE.md → 按需加载,Claude 碰到才读

来源:rodya.top/articles/ai-memory-system · 罗佳 Rodya 原创

这就解释了为什么子目录级的 CLAUDE.md 特别适合放"只在特定场景才需要的规则"

记忆该放哪一层

理解了加载机制,再来看分层就清楚了。Claude Code 的 CLAUDE.md 有多个层级,每层的作用域不同:

用户级~/.claude/CLAUDE.md

对你所有项目生效。放你的个人偏好:写作风格、禁忌词、思考习惯、格式要求。不管打开哪个项目,这些规则都会加载。只对你自己生效。

项目级./CLAUDE.md 或 ./.claude/CLAUDE.md

只对当前项目生效。放项目的结构说明、操作协议、命名规范、常用命令。可以提交到 Git,团队共享。

子目录级 项目子目录下的 CLAUDE.md

只在 Claude 读取该子目录下的文件时才会加载。适合给不同模块定不同规则:比如公众号文件夹和小红书文件夹各自有不同的写作风格。

简单对照:

你想让 Claude 记住的内容

放哪里

你的写作风格、禁忌词、格式偏好

用户级 ~/.claude/CLAUDE.md

知识库的文件夹结构、操作流程

项目级 ./CLAUDE.md

公众号/小红书/报告各自的风格

对应子目录的 CLAUDE.md

还有两种进阶文件:CLAUDE.local.md(个人的项目级偏好,不提交 Git)和 .claude/rules/ 目录(把规则拆成多个主题文件,可以按文件类型按需加载)。我们暂时用不太上,知道它们存在即可,需要时再查官方文档。


👀

三、全局记忆模板:用户级 CLAUDE.md

下面这份模板放在 ~/.claude/CLAUDE.md,对所有项目生效。你可以直接复制,然后按自己的情况修改,或者和AI交流一轮过后,让AI替你总结生成,然后随着项目推荐反复迭代。(推荐第二种)

1# 关于我23## 身份4- 我是 [你的职业/角色],主要工作是 [核心工作内容]5- 我的专业领域:[列出 2-3 个]67## 写作风格8- 口语化但不随意,像在跟朋友讲专业话题9- 多用短句,一段不超过 3-4 句10- 多用类比和具体例子,少用抽象概念11- 禁用词:赋能、抓手、闭环、生态、颗粒度、对齐、拉通12- 不用 Emoji1314## 思考习惯15- 先给结论,再给论据16- 遇到复杂问题先拆解再逐个解决17- 不要给我"一方面……另一方面……"的骑墙回答1819## 格式偏好20- 标题用 ## 和 ###,不用 #21- 代码块标注语言类型22- 不要在回复开头写"好的"、"当然"、"没问题"2324## 纠错规则25- 我纠正你的错误后,记住这个纠正,以后不要再犯26- 如果同一类错误出现两次,主动提醒我是否需要写进 CLAUDE.md27

每一项为什么要写:

"身份":让 Claude 知道你的专业背景,回答时不会给你解释常识。

"写作风格":你说一次"不要用赋能"它可能下次忘,写进 CLAUDE.md 它每次都能看到。

"思考习惯":决定了 Claude 回复的结构。不写这条,它默认会给你"既有好处也有坏处"的安全回答。

"格式偏好":小事但高频。每次手动改格式的时间乘以几百次对话,累计起来很可观。

"纠错规则":每次纠错都应该沉淀为永久规则,而不是下次重新犯。

注意:本文是以知识库为例的记忆写法。其他场景并不能照搬。


👀

四、项目记忆模板:项目级 CLAUDE.md

下面这份模板放在你的知识库根目录 ./CLAUDE.md,只对这个项目生效。同样可以直接复制修改。

1# 项目:[知识库名称]23## 项目结构4- Inbox/:未整理的原始资料入口5- Wiki/:整理后的知识归档,按主题分子文件夹6- Output/:所有输出成品(文章、PPT、报告等)7- Wiki/Index.md:全局索引,记录所有文件的位置和摘要89## 操作协议10- 对任何文件执行写入、修改、删除操作前,必须先告诉我你打算做什么,等我确认11- 读取文件不需要确认,随时可以读12- 新建文件时自动更新 Wiki/Index.md1314## 任务流程15- 接到任务后,先出方案(要做什么、用哪些素材、预计输出什么),等我确认后再动手16- 复杂任务拆成步骤,每完成一步汇报进度17- 完成后告诉我:输出了什么文件、在哪里、引用了哪些素材1819## 内容规范20- 所有引用必须标注来源(我的哪篇笔记、哪个外部出处)21- 不要编造我没有的素材,如果知识库里找不到相关内容,告诉我22- 术语以我知识库里的用法为准,不要自作主张替换2324## 文件命名25- 文件名用中文,简洁描述内容26- 日期格式:YYYY-MM-DD27- 不用空格,用连字符分隔28

几条设计说明:

"操作协议"中的确认机制:告诉AI别擅自改我的文件,先说清楚你要干什么。 这条非常重要。没有这条,Claude 可能会在整理文件时误删你的东西。

"任务流程"中的先出方案: 接到任务先给方案,别直接动手。 这能避免它理解错你的意思然后做一堆无用功。

"不要编造素材": 这条看着简单但极关键。AI 的本能是"有问必答",如果你知识库里没有相关内容,它可能会编一个听起来像你的观点但实际不是你的东西。


👀

五、记忆管理:不是越多越好

CLAUDE.md写起来容易,管起来才是真功夫。

这是官方文档里明确写的:CLAUDE.md 文件会在每次会话开始时全量加载进上下文窗口,消耗 token。文件越长,留给实际对话的空间越小,Claude 对规则的遵循度也会下降。

几条管理原则:

第一,200 行是上限。 官方建议单个 CLAUDE.md 不超过 200 行。如果你发现写到了 300 行,说明该拆了:把部分内容拆到子目录的 CLAUDE.md 里,或者转移到 Skill 中(Skill 只在被调用时才加载,不占启动时的 token)。

第二,判断标准:删掉这条,Claude 会犯错吗? 如果不会,就删。很多人喜欢往 CLAUDE.md 里堆"最佳实践",但如果 Claude 不写这条也能做对,那这条就是浪费 token 的废话。

第三,高频规则写 CLAUDE.md ,低频规则放别处。 每次会话都要用到的规则(写作风格、操作协议)才值得放 CLAUDE.md。只在特定场景用到的规则(某类 PPT 的格式要求),放 Skill 或子目录级 CLAUDE.md 更合适。

第四,定期重构。 你的工作方式在变,知识库结构在变,Claude 的能力也在升级。一条三个月前写的规则,可能现在已经不需要了。建议每个月过一遍 CLAUDE.md,删掉过时的规则。

第五,HTML 注释不占 token。 如果你想在 CLAUDE.md 里给自己留备注(比如"这条规则是因为 Claude 在 3 月连续两次误删文件才加的"),用 HTML 注释 <!-- 你的备注 -->,Claude 加载时会自动跳过这些注释,不消耗 token。


👀

六、两套记忆系统的关系

最后用一张表把两套系统的差异说清楚:

CLAUDE.md (你写的)

Auto Memory(Claude 写的)

谁写的

你

Claude 自动

存储位置

项目目录或 ~/.claude/

~/.claude/projects/<项目>/memory/

加载方式

全量加载(不管多长)

MEMORY.md 前 200 行/25KB,主题文件按需

是否共享

项目级可提交 Git

本地机器,不跨设备

管理方式

你手动维护

Claude 自动写,你可以编辑/删除

适合存什么

规则、指令、协议

偏好、纠正记录、调试经验

一句话总结:CLAUDE.md 是你给 Claude 立的规矩,MEMORY.md 是 Claude 自己做的笔记。 前者你说了算,后者它说了算。两者配合,就是一套完整的记忆系统。


👀

七、延伸工具:claude-mem

如果是开发者,可以关注一下 claude-mem 这个开源工具(GitHub 搜 "thedotmack/claude-mem")。它是专为 Claude Code 打造的持久化记忆插件,能自动捕获每次工具调用的输出,压缩成可搜索的语义化记忆存入本地数据库。适合重度编程场景下需要跨会话保留大量技术上下文的开发者。对知识库场景暂时用不上,了解就可以了。

1项目地址2https://github.com/thedotmack/claude-mem3

👀

下期预告

前五期我们从"为什么搭"讲到"怎么搭"、"怎么扩展"、"怎么用"、"怎么管记忆"。下一期是收尾篇:把所有东西串起来,跑一个完整的工作流。

第六期见。

更完整的 AI 记忆系统:让 Claude 越用越懂你配图 2

风骨