📚AI 编程官方教程中文版
官方教程中文版核心配置与能力

使用记忆机制

基于官方 Claude Code memory 教程,面向新手讲清 CLAUDE.md、CLAUDE.local.md、.claude/rules、auto memory 和排障方法。

Claude Code 每个会话都是新上下文。它能跨会话带上项目知识,主要靠两套机制:你写的 CLAUDE.md,以及 Claude 自己维护的 auto memory。

新手要先分清:记忆是上下文,不是权限系统。它能影响 Claude 怎么做事,但不能强制阻止读文件、改文件或执行命令。真正的安全边界要靠 settings permissions。

先理解:CLAUDE.md 和 auto memory 的分工

CLAUDE.md 是你写给 Claude 的长期说明。适合放项目结构、构建命令、编码约定、工作流、必须遵守的团队规则。

Auto memory 是 Claude 根据你的纠正和偏好自己记下的经验。适合放调试发现、常用命令、项目习惯、你反复提醒过的偏好。

区别很关键:CLAUDE.md 是人为维护的规则;auto memory 是机器本地的学习笔记。它们都会进入会话上下文,但都不是硬配置。

怎么判断文件放哪里

项目共享说明放 ./CLAUDE.md./.claude/CLAUDE.md,应该提交到 git,服务所有团队成员。

个人全局说明放 ~/.claude/CLAUDE.md,只服务你自己的所有项目。

个人项目说明放 ./CLAUDE.local.md,应该加入 .gitignore,只服务当前项目里的个人偏好。

企业托管说明由 IT / DevOps 放到系统级路径,适合组织级标准、合规和安全提醒。

如果一个仓库已有 AGENTS.md,官方口径是 Claude Code 读 CLAUDE.md,不是直接读 AGENTS.md。更稳的兼容方式是在 CLAUDE.md 中导入 AGENTS.md,再补 Claude-specific 说明。

什么时候写入 CLAUDE.md

Claude 第二次犯同一个错误时,写进去。

代码审查指出它本该知道的项目规则时,写进去。

你反复在对话里解释同一个构建、测试、目录、命名或发布流程时,写进去。

不要把一次性任务、长篇 SOP、复杂上下文全塞进去。官方建议单个 CLAUDE.md 目标控制在 200 行以内。超过这个长度,规则会占用更多上下文,也更容易互相冲突。

多步流程适合拆成 Skill;只在某些路径生效的规则适合放进 .claude/rules/

导入文件怎么理解

CLAUDE.md 可以用 @path 导入其他文件。相对路径按包含 import 的文件解析,不按当前 shell 工作目录解析。导入可以递归,但官方限制最大深度为五层。

首次外部导入时,Claude Code 会弹出确认。用户拒绝后,Claude 不会继续读取那些外部文件。

导入适合把规则拆开,但不要滥用。导入文件同样会进入上下文,拆文件不等于节省 token。

加载顺序怎么判断

Claude Code 从当前工作目录往上查找 CLAUDE.mdCLAUDE.local.md。启动时会加载当前目录和父目录链上的文件。

加载顺序从更高层目录到当前目录。越靠近你启动位置的规则越晚进入上下文,通常更容易影响最终行为。同一目录里,CLAUDE.local.md 会接在 CLAUDE.md 后面。

子目录里的 CLAUDE.md 不会一开始全部加载。Claude 读到对应子目录里的文件时,才会按需加载那一层规则。

如果用 --add-dir 额外加入目录,默认不会加载那个目录里的 CLAUDE.md。需要显式开启 additional directories 的 CLAUDE.md 加载。

.claude/rules 适合什么

大型项目不要把所有规则都压进一个 CLAUDE.md。官方支持 .claude/rules/,可以按语言、目录、职责或文件类型拆规则。

没有 path frontmatter 的规则会在启动时加载。带 paths 的规则只在 Claude 处理匹配文件时加载。

这适合 monorepo、前后端分离、测试规则、安全规则、API 目录规则等场景。

个人全局规则可以放在 ~/.claude/rules/。官方说明 user-level rules 先加载,project rules 后加载,所以项目规则优先级更高。

auto memory 怎么用

Auto memory 默认开启,可以通过 /memory 查看、编辑和切换。

默认存储位置在 ~/.claude/projects/<project>/memory/。项目路径通常按 git 仓库推导,同一个仓库的不同 worktree 和子目录会共享同一个 auto memory 目录;不同机器不会自动共享。

启动时只加载 auto memory 入口文件 MEMORY.md 的前 200 行或前 25KB,取较小者。详细主题文件可以被 Claude 按需读取。

如果要改 auto memory 存储位置,只能放在 policy、user settings 或命令行 settings,不能放在 project/local settings。官方这样限制,是为了避免仓库通过提交配置把个人记忆重定向到敏感路径。

新手常见坑

  • 把记忆当权限:禁止读密钥、禁止执行命令,要用 permissions。
  • CLAUDE.md 太长:规则越多,越容易互相冲突。
  • 把个人偏好提交到项目 CLAUDE.md:团队会被你的本地习惯污染。
  • 导入太多文件:拆分了文件,但没有减少上下文。
  • 不知道 auto memory 记了什么:应该定期用 /memory 查看。
  • 以为 /compact 后所有嵌套规则立刻恢复:官方说明根规则会重新注入,嵌套目录规则需要再次触发。

排障顺序

先用 /memory 看当前记忆和 auto memory。

再确认 CLAUDE.md 是否在当前工作目录或父目录链上。

再检查规则是否过长、模糊或互相冲突。

再确认是不是子目录规则还没因为读取对应文件而触发。

最后检查是否用了 --add-dir 但没有开启附加目录的 CLAUDE.md 加载。

怎么验收

你能说清每条规则应该进 CLAUDE.md.claude/rules/、Skill,还是 auto memory。

你能确认项目共享规则进 git,个人规则不进 git。

你能用 /memory 找到 Claude 自动记录的内容,并能删掉不该保留的内容。

你能在大型项目里把路径规则拆出去,而不是继续拉长根 CLAUDE.md

你能确认安全边界在 settings permissions 里,而不是只写在记忆里。

官方资料

On this page