深度

Claude Code Memory 系统完全指南:CLAUDE.md vs Auto Memory、.claude/rules/ 路径规则与大团队管理

Claude Code Memory 系统完整指南:CLAUDE.md vs Auto Memory 5 维度对比(谁写/内容/范围/加载/适合内容)、四个作用域(Managed policy/Project/User/Local 文件路径/优先级)、/init 快速创建、4 条高效指令原则(<200行/结构化/具体可验证/一致性)、@ 语法导入(相对路径/5层递归/批准对话框)、CLAUDE.md 向上遍历加载机制(CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD)、.claude/rules/ 路径规则系统(路径特定规则/glob 模式/按需加载节省 Token/symlink 跨项目共享)、大团队管理(组织 MDM 部署/claudeMdExcludes 排除),以及 Auto Memory(工作机制/目录 hash 存储/启用禁用 /memory 界面)和四大故障排查。

2026/3/96分钟 阅读ClaudeEagle

Claude Code 的记忆系统由两个互补机制构成:你写的 CLAUDE.md 文件(给 Claude 的持久指令),和 Claude 自动写的 Auto Memory(从你的纠正和偏好中学习)。两者在每次会话开始时都会加载。

CLAUDE.md vs Auto Memory 对比

维度CLAUDE.md 文件Auto Memory
谁写Claude 自动
内容指令和规则学习和模式
作用范围项目、用户或组织按工作目录树
加载方式每次会话完整加载每次会话加载前 200 行
适合放什么编码规范、工作流、架构决策构建命令、调试洞察、Claude 发现的偏好

CLAUDE.md 文件系统

四个作用域

作用域位置用途共享对象
Managed policymacOS: /Library/Application Support/ClaudeCode/CLAUDE.md<br>Linux/WSL: /etc/claude-code/CLAUDE.md<br>Windows: C:\Program Files\ClaudeCode\CLAUDE.md组织统一策略组织所有用户
Project instructions./CLAUDE.md./.claude/CLAUDE.md项目团队规范通过版本控制共享给团队
User instructions~/.claude/CLAUDE.md个人偏好,适用于所有项目仅自己(所有项目)
Local instructions./CLAUDE.local.md个人项目特定偏好,不提交 git仅自己(当前项目)

更具体的位置优先级更高:Local > Project > User > Managed。

快速创建项目 CLAUDE.md

bash
/init

Claude 分析代码库,自动生成包含构建命令、测试指令和项目约定的 CLAUDE.md。若文件已存在,只给出改进建议,不会覆盖。

编写高效指令的 4 条原则

1. 控制大小(< 200 行)

CLAUDE.md 每次会话都消耗 Token。目标每个文件 200 行以内;超出时用 imports 或 .claude/rules/ 拆分。

2. 结构化

用 Markdown 标题和列表分组相关指令。Claude 扫描结构的方式和读者相同:有组织的章节比密集段落更易遵循。

3. 具体可验证

markdown
# 好的写法
- 使用 2 空格缩进
- 提交前运行 `npm test`
- API handler 放在 `src/api/handlers/`

# 不好的写法
- 规范地格式化代码
- 测试你的变更
- 保持文件有序

4. 保持一致

若两条规则互相矛盾,Claude 可能随机选一条。定期审查 CLAUDE.md、嵌套子目录的 CLAUDE.md 和 .claude/rules/ 文件,移除过时或冲突的指令。

导入其他文件(@ 语法)

markdown
# CLAUDE.md
参见 @README 了解项目概览,@package.json 查看可用 npm 命令。

# 额外指令
- git 工作流:@docs/git-instructions.md
  • 相对路径相对于包含 @ 语法的文件,而非工作目录
  • 最多递归 5 层
  • 首次遇到外部 imports 时,会显示批准对话框;拒绝后不再提示

跨 worktree 共享个人指令

markdown
# CLAUDE.local.md
# 个人偏好
- @~/.claude/my-project-instructions.md

CLAUDE.md 加载机制

Claude Code 从当前工作目录向上遍历目录树,加载每个目录的 CLAUDE.md 和 CLAUDE.local.md。例如在 foo/bar/ 运行时,加载 foo/bar/CLAUDE.mdfoo/CLAUDE.md。子目录的 CLAUDE.md 在 Claude 读取那些子目录中的文件时按需加载

加载额外目录的 CLAUDE.md(配合 --add-dir 使用):

bash
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

.claude/rules/ 路径规则系统

对于大型项目,将指令拆分到多个文件,按主题组织:

your-project/ ├── .claude/ │ ├── CLAUDE.md # 主项目指令 │ └── rules/ │ ├── code-style.md # 代码风格 │ ├── testing.md # 测试约定 │ └── security.md # 安全要求

没有 paths frontmatter 的规则文件,与 .claude/CLAUDE.md 同优先级,在启动时加载。

路径特定规则(按需加载)

yaml
---
paths:
  - "src/api/**/*.ts"
---

# API 开发规则

- 所有 API 端点必须包含输入验证
- 使用标准错误响应格式
- 包含 OpenAPI 文档注释

仅当 Claude 读取匹配文件时才加载,减少不相关任务的 Token 消耗

支持的 glob 模式

模式匹配内容
**/*.ts任意目录下的 TypeScript 文件
src/**/*src/ 下所有文件
*.md项目根目录的 Markdown 文件
src/components/*.tsx特定目录的 React 组件

多模式和花括号展开:

yaml
---
paths:
  - "src/**/*.{ts,tsx}"
  - "lib/**/*.ts"
  - "tests/**/*.test.ts"
---

任务特定的指令(不需要一直在上下文中)使用 Skills 代替 .claude/rules/——Skills 只在调用时或 Claude 判断相关时加载。

bash
# 在 shared-standards 仓库维护标准规则
# 在各项目中 symlink
ln -s /path/to/shared-standards/.claude/rules/security.md .claude/rules/security.md

大团队 CLAUDE.md 管理

组织级统一部署

bash
# macOS(via MDM)
/Library/Application Support/ClaudeCode/CLAUDE.md

# Linux
/etc/claude-code/CLAUDE.md

用 MDM 工具分发到所有设备,所有用户自动应用组织编码标准、安全策略和合规要求。

排除无关的 CLAUDE.md

在 Monorepo 中,其他团队的 CLAUDE.md 可能被自动拾取,用 claudeMdExcludes 跳过:

json
// settings.json
{
  "claudeMdExcludes": [
    "packages/other-team/**",
    "legacy/**"
  ]
}

Auto Memory(自动记忆)

工作机制

Claude 在对话中发现值得记住的信息时,自动将其保存到内存文件。触发条件:

  • 你纠正了 Claude 的行为(「不要用 var,用 const」)
  • Claude 发现了有用的项目规律(构建命令、首选库)
  • 你表达了工作流偏好

Subagent 也可以维护自己的 Auto Memory(见 subagent 配置)。

存储位置

Auto Memory 按工作目录树存储:

~/.claude/memory/ └── <directory-hash>/ └── memory.md # 该工作目录的自动记忆

每个工作目录独立,切换项目时记忆不会混淆。

启用/禁用

/memory # 打开记忆管理界面

界面中可以:

  • 查看 Auto Memory 条目
  • 编辑或删除特定记忆
  • 启用/禁用 Auto Memory
  • 查看哪个目录的记忆正在被加载

全局禁用:

json
{ "autoMemory": false }

故障排查

问题解决方案
Claude 不遵循 CLAUDE.md检查文件加载:用 /context 查看是否在上下文中;检查是否超过 200 行;规则是否足够具体
不知道 Auto Memory 保存了什么运行 /memory 查看并审计所有条目;不需要的条目直接删除
CLAUDE.md 太大@ 语法拆分到多个文件;把规则移到 .claude/rules/;把示例移到 Skills
/compact 后指令丢失在 CLAUDE.md 中添加「Compact instructions」部分,指示 Claude 压缩后重新读取 CLAUDE.md

原文:How Claude remembers your project - Claude Code Docs | 来源:Anthropic 官方文档

相关文章推荐

深度Claude Code 最佳实践 2026:资深用户总结的 20 个效率提升技巧Claude Code 资深用户总结的 20 个实用最佳实践:上下文管理技巧(精准投喂 vs 全量读取)、CLAUDE.md 高价值写法、自定义命令的场景化设计、权限配置的最小化原则、子代理并行的触发时机、会话压缩与续接的使用策略、与 Git 工作流的结合方式、代码审查的标准提示词、让 Claude 解释而不只是修改代码的技巧、以及避免 Claude「过度自信」的提示词防护模式。2026/3/21深度Claude Code 重构策略完全指南:大型项目安全重构的 AI 辅助方法论Claude Code 辅助代码重构的完整方法论:重构前的安全网搭建(特征测试/快照测试)、渐进式重构策略(不要一次大改)、让 Claude 识别并命名坏味道(Long Method/God Class/Shotgun Surgery)、提取函数/类/模块的标准流程、依赖注入重构(方便测试)、数据库层重构(Repository 模式迁移)、重构进度追踪与 CLAUDE.md 配置,以及大型单体应用向微服务迁移的 AI 辅助路径。2026/3/21深度Claude Code 上下文窗口管理完全指南:100 万 Token 的高效利用策略Claude Code 超长上下文(100万 Token)完整使用指南:上下文窗口的构成(系统提示/工具定义/对话历史/当前请求)、会话压缩(Compaction)的触发机制与配置、--continue 跨会话续接上下文、如何避免上下文溢出、超大代码库的分批处理技巧、Prompt Caching 配合长上下文降低成本,以及 Token 计数工具的使用方法。2026/3/18深度OpenClaw 记忆系统深度解析:MEMORY.md、日记文件与长期记忆管理完全指南OpenClaw Agent 记忆系统完整解析:为什么 AI 每次对话不会遗忘(文件型记忆机制)、MEMORY.md 长期记忆的写法和维护策略、每日日记文件的自动创建规则、HEARTBEAT.md 心跳任务与记忆同步、跨会话上下文传递原理,以及如何让 OpenClaw 记住你的偏好和项目背景。2026/3/17深度Claude Code 微服务架构实战:设计、拆分与服务间通信完整指南Claude Code 辅助微服务架构开发完整指南:单体到微服务拆分策略、服务边界识别、API Gateway 设计、服务间 gRPC/REST 通信、分布式事务(Saga 模式)、服务发现与健康检查、Docker Compose 本地开发环境,以及微服务监控和链路追踪配置。2026/3/16深度Claude Code 环境变量与密钥管理:安全配置 API Key 和敏感信息的完整指南Claude Code 开发中安全处理环境变量和 API 密钥的完整指南:.env 文件规范、dotenv 与系统环境变量的区别、密钥轮换策略、防止密钥泄露到 Git、secrets 加密存储、生产环境的 Vault/AWS Secrets Manager 集成,以及 CLAUDE.md 安全规范配置。2026/3/16