Memory 指南
概览
Claude Code 中的 Memory 提供跨多个会话和对话的持久上下文。与临时的上下文窗口不同,Memory 文件允许你:
- 在团队中共享项目标准
- 存储个人开发偏好
- 维护目录级规则和配置
- 导入外部文档
- 将 Memory 作为项目的一部分进行版本控制
Memory 系统在多个层级上运行,从全局个人偏好到特定子目录,从而可以精细控制 Claude 记住什么以及如何应用这些知识。Claude 文件夹及文件组织参考可以查看:
Memory 命令速查
| 命令 | 用途 | 用法 | 何时使用 |
|---|---|---|---|
/init |
初始化项目记忆 | /init |
开始新项目,首次设置 CLAUDE.md |
/memory |
在编辑器中编辑记忆文件 | /memory |
大量更新、重组、审查内容 |
@path/to/file |
导入外部内容 | @README.md 或 @docs/api.md |
在 CLAUDE.md 中引用现有文档 |
快速上手:CLAUDE.md文件
/init 命令
/init 命令是在 Claude Code 中设置项目记忆的最快方式。它会初始化一个包含基础项目文档的 CLAUDE.md 文件。
用法:
/init功能:
- 在项目中创建新的 CLAUDE.md 文件(通常在
./CLAUDE.md或./.claude/CLAUDE.md) - 建立项目约定和准则
- 为跨会话的上下文持久化奠定基础
- 提供用于记录项目标准的模板结构
增强交互模式: 设置 CLAUDE_CODE_NEW_INIT=1 可启用多阶段交互流程,逐步引导你完成项目设置:
CLAUDE_CODE_NEW_INIT=1 claude
/init何时使用 /init:
- 使用 Claude Code 开始新项目
- 建立团队编码标准和约定
- 创建关于代码库结构的文档
- 为协作开发设置记忆层级
示例工作流:
# 在你的项目目录中
/init
# Claude 会创建 CLAUDE.md,结构如下:
# 项目配置
## 项目概览
- 名称:你的项目
- 技术栈:[你的技术]
- 团队规模:[开发者数量]
## 开发标准
- 代码风格偏好
- 测试要求
- Git 工作流约定快速记忆更新
使用
/memory直接编辑记忆文件,或通过对话方式请求 Claude 记住某些内容(例如"记住我们始终使用 TypeScript 严格模式")。
注意:其他 Coding Agent(如 Cursor、Windsurf)大多支持
AGENTS.md文件,但 Claude Code 不支持此文件。
向记忆添加信息的推荐方式:
方式 1:使用 /memory 命令或直接打开 CLAUDE.md
/memory在系统编辑器中打开记忆文件进行直接编辑。
方式 2:对话式请求
记住我们在这个项目中始终使用 TypeScript 严格模式。
请添加到记忆:优先使用 async/await 而不是 promise 链。Claude 会根据你的请求更新相应的 CLAUDE.md 文件。
/memory 命令
/memory 命令提供直接访问 Claude Code 会话中 CLAUDE.md 记忆文件的编辑功能。它会在系统编辑器中打开记忆文件进行完整编辑。
用法:
/memory功能:
- 在系统默认编辑器中打开记忆文件
- 允许进行大量添加、修改和重组
- 提供对层级中所有记忆文件的直接访问
- 支持跨会话管理持久上下文
何时使用 /memory:
- 审查现有记忆内容
- 对项目标准进行大量更新
- 重组记忆结构
- 添加详细文档或准则
- 在项目演进过程中维护和更新记忆
对比:/memory 与 /init
| 方面 | /memory |
/init |
|---|---|---|
| 用途 | 编辑现有记忆文件 | 初始化新的 CLAUDE.md |
| 何时使用 | 更新/修改项目上下文 | 开始新项目 |
| 操作 | 打开编辑器进行修改 | 生成初始模板 |
| 工作流 | 持续维护 | 一次性设置 |
示例工作流:
# 打开记忆进行编辑
/memory
# Claude 提供选项:
# 1. 受管策略记忆
# 2. 项目记忆(./CLAUDE.md)
# 3. 用户记忆(~/.claude/CLAUDE.md)
# 4. 本地项目记忆
# 选择选项 2(项目记忆)
# 你的默认编辑器打开 ./CLAUDE.md 内容
# 进行修改,保存并关闭编辑器
# Claude 自动重新加载更新后的记忆使用记忆导入:
CLAUDE.md 文件支持 @path/to/file 语法来包含外部内容:
# 项目文档
参见 @README.md 了解项目概览
参见 @package.json 了解可用的 npm 命令
参见 @docs/architecture.md 了解系统设计
# 使用绝对路径从主目录导入
@~/.claude/my-project-instructions.md导入功能:
- 支持相对路径和绝对路径(例如
@docs/api.md或@~/.claude/my-project-instructions.md) - 支持递归导入,最大深度为 5
- 首次从外部位置导入会触发安全审批对话框
- Markdown 代码段或代码块内的导入指令不会被求值(因此在示例中记录它们是安全的)
- 通过引用现有文档避免重复
- 自动将引用的内容包含在 Claude 的上下文中
Memory 架构
Claude Code 中的 Memory 遵循层级系统,不同的范围服务于不同的目的。
Claude Code 中的 Memory 层级
Claude Code 使用多层级分层记忆系统。Memory 文件在 Claude Code 启动时自动加载,较高级别的文件优先级更高。Claude Code 从当前工作目录向上遍历目录树以发现 CLAUDE.md 和 CLAUDE.local.md 文件。这意味着如果你在 foo/bar/ 中运行 Claude Code,它会从 foo/bar/CLAUDE.md、foo/CLAUDE.md 以及并列的任何 CLAUDE.local.md 文件加载指令。
Memory 位置表
完整的记忆层级(按优先级排序,用户级优先于项目级):
| 位置 | 范围 | 优先级 | 共享 | 访问 | 最适合 |
|---|---|---|---|---|---|
/Library/Application Support/ClaudeCode/CLAUDE.md(macOS) |
受管策略 | 1(最高) | 组织 | 系统 | 公司级策略 |
/etc/claude-code/CLAUDE.md(Linux/WSL) |
受管策略 | 1(最高) | 组织 | 系统 | 组织标准 |
C:\Program Files\ClaudeCode\CLAUDE.md(Windows) |
受管策略 | 1(最高) | 组织 | 系统 | 企业准则 |
managed-settings.d/*.md(与策略并列) |
受管插件 | 1.5 | 组织 | 系统 | 模块化策略文件(v2.1.83+) |
~/.claude/CLAUDE.md |
用户记忆 | 2 | 个人 | 文件系统 | 个人偏好(所有项目) |
~/.claude/rules/*.md |
用户规则 | 2 | 个人 | 文件系统 | 个人规则(所有项目) |
./CLAUDE.md 或 ./.claude/CLAUDE.md |
项目记忆 | 3 | 团队 | Git | 团队标准、共享架构 |
./.claude/rules/*.md |
项目规则 | 3 | 团队 | Git | 路径特定、模块化规则 |
./CLAUDE.local.md |
项目本地 | 4 | 个人 | Git(忽略) | 个人项目特定偏好 |
~/.claude/projects/<project>/memory/ |
自动记忆 | 5(最低) | 个人 | 文件系统 | Claude 的自动笔记和学习 |
注意:
CLAUDE.local.md提供不提交到版本控制的个人项目特定偏好。将CLAUDE.local.md添加到你的.gitignore。
记忆发现行为:
Claude 按此顺序搜索记忆文件,较早位置的优先级更高:
graph TD
A["受管策略<br/>/Library/.../ClaudeCode/CLAUDE.md"] -->|最高优先级| A2["受管插件<br/>managed-settings.d/"]
A2 --> B["用户记忆<br/>~/.claude/CLAUDE.md"]
B --> C["用户规则<br/>~/.claude/rules/*.md"]
C --> D["项目记忆<br/>./CLAUDE.md"]
D --> E["项目规则<br/>./.claude/rules/*.md"]
E --> F["本地项目记忆<br/>./CLAUDE.local.md"]
F --> G["自动记忆<br/>~/.claude/projects/.../memory/"]
B -->|导入| H["@docs/architecture.md"]
H -->|导入| I["@docs/api-standards.md"]
style A fill:#fce4ec,stroke:#333,color:#333
style A2 fill:#fce4ec,stroke:#333,color:#333
style B fill:#e1f5fe,stroke:#333,color:#333
style C fill:#e1f5fe,stroke:#333,color:#333
style D fill:#f3e5f5,stroke:#333,color:#333
style E fill:#f3e5f5,stroke:#333,color:#333
style F fill:#e8f5e9,stroke:#333,color:#333
style G fill:#fff3e0,stroke:#333,color:#333
style H fill:#e1f5fe,stroke:#333,color:#333
style I fill:#e1f5fe,stroke:#333,color:#333
使用 claudeMdExcludes 排除 CLAUDE.md 文件
在大型 monorepo 中,某些 CLAUDE.md 文件可能与当前工作无关。claudeMdExcludes 设置允许你跳过特定的 CLAUDE.md 文件,使其不被加载到上下文中:
// 在 ~/.claude/settings.json 或 .claude/settings.json 中
{
"claudeMdExcludes": [
"packages/legacy-app/CLAUDE.md",
"vendors/**/CLAUDE.md"
]
}模式匹配相对于项目根目录的路径。这在以下场景特别有用:
- 具有许多子项目的 monorepo,其中只有部分相关
- 包含供应商或第三方 CLAUDE.md 文件的仓库
- 通过排除过时或无关的指令来减少 Claude 上下文窗口中的噪音
另外一种Memory:规则
使用 .claude/rules/ 目录结构创建有组织的、特定路径的规则。规则可以在项目级和用户级定义:
your-project/
├── .claude/
│ ├── CLAUDE.md
│ └── rules/
│ ├── code-style.md
│ ├── testing.md
│ ├── security.md
│ └── api/ # 支持子目录
│ ├── conventions.md
│ └── validation.md
~/.claude/
├── CLAUDE.md
└── rules/ # 用户级规则(所有项目)
├── personal-style.md
└── preferred-patterns.md规则在 rules/ 目录内递归发现,包括任何子目录。~/.claude/rules/ 的用户级规则在项目级规则之前加载,允许项目覆盖个人默认值。
使用 YAML Frontmatter 的路径特定规则
定义仅适用于特定文件路径的规则:
---
paths: src/api/**/*.ts
---
# API 开发规则
- 所有 API 端点必须包含输入验证
- 使用 Zod 进行模式验证
- 记录所有参数和响应类型
- 所有操作包含错误处理Glob 模式示例:
**/*.ts- 所有 TypeScript 文件src/**/*- src/ 下的所有文件src/**/*.{ts,tsx}- 多个扩展名{src,lib}/**/*.ts, tests/**/*.test.ts- 多个模式
子目录和符号链接
.claude/rules/ 中的规则支持两种组织功能:
- 子目录:规则被递归发现,因此你可以将它们组织成基于主题的文件夹(例如
rules/api/、rules/testing/、rules/security/) - 符号链接:支持符号链接用于在多个项目之间共享规则。例如,你可以将共享规则文件从中心位置符号链接到每个项目的
.claude/rules/目录
Memory 更新生命周期
以下是记忆更新在 Claude Code 会话中的流转过程:
sequenceDiagram
participant 用户
participant Claude as Claude Code
participant 编辑器 as 文件系统
participant Memory as CLAUDE.md
用户->>Claude: "记住:使用 async/await"
Claude->>用户: "哪个记忆文件?"
用户->>Claude: "项目记忆"
Claude->>编辑器: 打开 ~/.claude/settings.json
Claude->>Memory: 写入 ./CLAUDE.md
Memory-->>Claude: 文件已保存
Claude->>Claude: 加载更新后的记忆
Claude-->>用户: "记忆已保存!"
Auto Memory
Auto memory 是一个持久目录,Claude 在使用你的项目时自动记录学习、模式和见解。与你手动编写和维护的 CLAUDE.md 文件不同,auto memory 由 Claude 在会话期间自行写入。
Auto Memory 工作方式
- 位置:
~/.claude/projects/<project>/memory/ - 入口:
MEMORY.md作为自动记忆目录中的主文件 - 主题文件:特定主题的可选附加文件(例如
debugging.md、api-conventions.md) - 加载行为:会话开始时加载
MEMORY.md的前 200 行(或前 25KB,以先到者为准)。主题文件按需加载,不在启动时加载。 - 读写:Claude 在会话期间读取和写入记忆文件,发现模式和项目特定知识
Auto Memory 架构
graph TD
A["Claude 会话启动"] --> B["加载 MEMORY.md<br/>(前 200 行 / 25KB)"]
B --> C["会话活跃"]
C --> D["Claude 发现<br/>模式和见解"]
D --> E{"写入<br/>自动记忆"}
E -->|通用笔记| F["MEMORY.md"]
E -->|特定主题| G["debugging.md"]
E -->|特定主题| H["api-conventions.md"]
C --> I["按需加载<br/>主题文件"]
I --> C
style A fill:#e1f5fe,stroke:#333,color:#333
style B fill:#e1f5fe,stroke:#333,color:#333
style C fill:#e8f5e9,stroke:#333,color:#333
style D fill:#f3e5f5,stroke:#333,color:#333
style E fill:#fff3e0,stroke:#333,color:#333
style F fill:#fce4ec,stroke:#333,color:#333
style G fill:#fce4ec,stroke:#333,color:#333
style H fill:#fce4ec,stroke:#333,color:#333
style I fill:#f3e5f5,stroke:#333,color:#333
Auto Memory 目录结构
~/.claude/projects/<project>/memory/
├── MEMORY.md # 入口(启动时加载前 200 行 / 25KB)
├── debugging.md # 主题文件(按需加载)
├── api-conventions.md # 主题文件(按需加载)
└── testing-patterns.md # 主题文件(按需加载)版本要求
Auto memory 需要 Claude Code v2.1.59 或更高版本。如果你使用的是旧版本,请先升级:
自定义 Auto Memory 目录
默认情况下,auto memory 存储在 ~/.claude/projects/<project>/memory/。你可以使用 autoMemoryDirectory 设置(自 v2.1.74 起可用)更改此位置:
// 在 ~/.claude/settings.json 或 .claude/settings.local.json 中(仅用户/本地设置)
{
"autoMemoryDirectory": "/path/to/custom/memory/directory"
}注意:
autoMemoryDirectory只能在用户级(~/.claude/settings.json)或本地设置(.claude/settings.local.json)中设置,不能在项目或受管策略设置中设置。
当你想要以下场景时,这很有用:
- 将 auto memory 存储在共享或同步的位置
- 将 auto memory 与默认 Claude 配置目录分离
- 使用默认层级之外的项目特定路径
Worktree 和仓库共享
同一 git 仓库内的所有 worktree 和子目录共享一个 auto memory 目录。这意味着在 worktree 之间切换或在相同仓库的不同子目录中工作时,将读取和写入相同的记忆文件。
注意:Subagent 也可以维护自己的 auto memory。详情请参阅官方 subagent 记忆文档。
控制 Auto Memory
Auto memory 可以通过 CLAUDE_CODE_DISABLE_AUTO_MEMORY 环境变量控制:
| 值 | 行为 |
|---|---|
0 |
强制自动记忆开启 |
1 |
强制自动记忆关闭 |
| (未设置) | 默认行为(自动记忆启用) |
# 为会话禁用自动记忆
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claude
# 显式强制开启自动记忆
CLAUDE_CODE_DISABLE_AUTO_MEMORY=0 claude使用 --add-dir 添加额外目录
--add-dir 标志允许 Claude Code 从当前工作目录之外的额外目录加载 CLAUDE.md 文件。这适用于 monorepo 或多项目设置,其中来自其他目录的上下文是相关的。
要启用此功能,设置环境变量:
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1然后使用该标志启动 Claude Code:
claude --add-dir /path/to/other/projectClaude 将从指定的额外目录加载 CLAUDE.md,与当前工作目录的 memory 文件并列。
实战示例
示例 1:项目记忆结构
文件: ./CLAUDE.md
# 项目配置
## 项目概览
- **名称**:电商平台
- **技术栈**:Node.js、PostgreSQL、React 18、Docker
- **团队规模**:5 名开发者
- **截止日期**:2025 Q4
## 架构
@docs/architecture.md
@docs/api-standards.md
@docs/database-schema.md
## 开发标准
### 代码风格
- 使用 Prettier 格式化
- 使用 ESLint 配置 airbnb
- 最大行长度:100 字符
- 使用 2 空格缩进
### 命名约定
- **文件**:kebab-case(user-controller.js)
- **类**:PascalCase(UserService)
- **函数/变量**:camelCase(getUserById)
- **常量**:UPPER_SNAKE_CASE(API_BASE_URL)
- **数据库表**:snake_case(user_accounts)
### Git 工作流
- 分支名称:`feature/description` 或 `fix/description`
- 提交消息:遵循 conventional commits
- 合并前需要 PR
- 所有 CI/CD 检查必须通过
- 最少需要 1 个批准
### 测试要求
- 最低 80% 代码覆盖率
- 所有关键路径必须有测试
- 使用 Jest 进行单元测试
- 使用 Cypress 进行 E2E 测试
- 测试文件名:`*.test.ts` 或 `*.spec.ts`
### API 标准
- 仅 RESTful 端点
- JSON 请求/响应
- 正确使用 HTTP 状态码
- API 端点版本控制:`/api/v1/`
- 所有端点用示例记录
### 数据库
- 使用迁移进行模式更改
- 从不硬编码凭证
- 使用连接池
- 在开发环境中启用查询日志
- 定期备份
### 部署
- 基于 Docker 的部署
- Kubernetes 编排
- 蓝绿部署策略
- 失败时自动回滚
- 数据库迁移在部署前运行
## 常用命令
| 命令 | 用途 |
|------|------|
| `npm run dev` | 启动开发服务器 |
| `npm test` | 运行测试套件 |
| `npm run lint` | 检查代码风格 |
| `npm run build` | 构建生产版本 |
| `npm run migrate` | 运行数据库迁移 |
## 团队联系人
- 技术负责人:Sarah Chen(@sarah.chen)
- 产品经理:Mike Johnson(@mike.j)
- 运维:Alex Kim(@alex.k)
## 已知问题与解决办法
- PostgreSQL 连接池在高峰期限制为 20
- 解决方法:实现查询队列
- Safari 14 与异步生成器的兼容性问题
- 解决方法:使用 Babel 转译器
## 相关项目
- 分析仪表板:`/projects/analytics`
- 移动应用:`/projects/mobile`
- 管理面板:`/projects/admin`示例 2:目录级记忆
文件: ./src/api/CLAUDE.md
# API 模块标准
此文件覆盖根 CLAUDE.md,适用于 /src/api/ 下的所有内容
## API 专属标准
### 请求验证
- 使用 Zod 进行模式验证
- 始终验证输入
- 返回 400 和验证错误
- 包含字段级错误详情
### 身份验证
- 所有端点需要 JWT 令牌
- 令牌在 Authorization 头中
- 令牌 24 小时后过期
- 实现刷新令牌机制
### 响应格式
所有响应必须遵循此结构:
```json
{
"success": true,
"data": { /* 实际数据 */ },
"timestamp": "2025-11-06T10:30:00Z",
"version": "1.0"
}
```
错误响应:
```json
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "用户消息",
"details": { /* 字段错误 */ }
},
"timestamp": "2025-11-06T10:30:00Z"
}
```
### 分页
- 使用基于游标的分页(不是偏移量)
- 包含 `hasMore` 布尔值
- 最大页面大小限制为 100
- 默认页面大小:20
### 限流
- 认证用户每小时 1000 个请求
- 公开端点每小时 100 个请求
- 超出时返回 429
- 包含 retry-after 头
### 缓存
- 使用 Redis 进行会话缓存
- 缓存持续时间:默认 5 分钟
- 写操作时失效
- 用资源类型标记缓存键示例 3:个人记忆
文件: ~/.claude/CLAUDE.md
# 我的开发偏好
## 关于我
- **经验水平**:8 年全栈开发
- **偏好语言**:TypeScript、Python
- **沟通风格**:直接,带示例
- **学习风格**:带代码的可视化图表
## 代码偏好
### 错误处理
我喜欢使用 try-catch 块和有意义的错误消息进行显式错误处理。
避免通用错误。始终记录错误以供调试。
### 注释
注释用于说明"为什么",而不是"是什么"。代码应该是自文档化的。
注释应解释业务逻辑或非显而易见的决策。
### 测试
我偏好 TDD(测试驱动开发)。
先写测试,再写实现。
关注行为,而非实现细节。
### 架构
我偏好模块化、松耦合的设计。
使用依赖注入提高可测试性。
分离关注点(控制器、服务、仓库)。
## 调试偏好
- 使用 console.log 带前缀:`[DEBUG]`
- 包含上下文:函数名、相关变量
- 可用时使用堆栈跟踪
- 日志中始终包含时间戳
## 沟通
- 用图表解释复杂概念
- 在解释理论之前展示具体示例
- 包含修改前后的代码片段
- 最后总结要点
## 项目组织
我按如下方式组织项目:
project/
├── src/
│ ├── api/
│ ├── services/
│ ├── models/
│ └── utils/
├── tests/
├── docs/
└── docker/
## 工具链
- **IDE**:带 vim 键绑定的 VS Code
- **终端**:带 Oh-My-Zsh 的 Zsh
- **格式化**:Prettier(100 字符行长度)
- **Linter**:ESLint 配置 airbnb
- **测试框架**:Jest 配合 React Testing Library我的测试
要求 Claude 保存新规则
Claude 没有保存规则,因为我没有任何 CLAUDE.md 文件。然后要求 Claude 确认位置。

示例 4:会话中更新记忆
你可以在活跃的 Claude Code 会话期间向记忆添加新规则。有两种方式:
方式 1:直接请求
用户:记住我偏好使用 React hooks 而不是类组件来编写所有新组件。
Claude:我将把它添加到你的记忆中。这个规则应该放在哪个记忆文件中?
1. 项目记忆(./CLAUDE.md)
2. 个人记忆(~/.claude/CLAUDE.md)
用户:项目记忆
Claude:✅ 记忆已保存!
已添加到 ./CLAUDE.md:
---
### 组件开发
- 使用 React Hooks 的函数组件
- 优先使用 hooks 而不是类组件
- 自定义 hooks 用于可复用逻辑
- 事件处理使用 useCallback
- 昂贵计算使用 useMemo方式 2:使用 “# new rule into memory” 模式
你也可以使用显式模式 “# new rule into memory” 来触发记忆更新:
用户:# new rule into memory
处理前始终使用 Zod 模式验证用户输入。
Claude:我将此规则保存到记忆中。我应该使用哪个记忆文件?
1. 项目记忆(./CLAUDE.md)
2. 个人记忆(~/.claude/CLAUDE.md)
用户:项目记忆
Claude:✅ 记忆已保存!
已添加到 ./CLAUDE.md:
---
### 输入验证
- 处理前始终使用 Zod 模式验证用户输入
- 在每个 API 处理程序文件顶部定义模式
- 返回 400 状态码和验证错误添加记忆的提示
- 规则要具体且可操作
- 将相关规则分组在章节标题下
- 更新现有章节而不是重复内容
- 选择适当的记忆范围(项目级 vs. 个人级)
Memory 功能对比
| 功能 | Claude Web/Desktop | Claude Code(CLAUDE.md) |
|---|---|---|
| 自动综合 | ✅ 每 24 小时 | ✅ 自动记忆 |
| 跨项目 | ✅ 共享 | ❌ 项目特定 |
| 团队访问 | ✅ 共享项目 | ✅ Git 跟踪 |
| 可搜索 | ✅ 内置 | ✅ 通过 /memory |
| 可编辑 | ✅ 在聊天中 | ✅ 直接文件编辑 |
| 导入/导出 | ✅ 是 | ✅ 复制/粘贴 |
| 持久化 | ✅ 24 小时+ | ✅ 无限期 |
Claude Web/Desktop 中的 Memory
记忆综合时间线
graph LR
A["第 1 天:用户<br/>对话"] -->|24 小时| B["第 2 天:记忆<br/>综合"]
B -->|自动| C["记忆更新<br/>已摘要"]
C -->|加载到| D["第 2-N 天:<br/>新对话"]
D -->|添加到| E["记忆"]
E -->|24 小时后| F["记忆刷新"]
记忆摘要示例:
## Claude 对用户的记忆
### 专业背景
- 具有 8 年经验的高级全栈开发者
- 专注于 TypeScript/Node.js 后端和 React 前端
- 活跃的开源贡献者
- 对 AI 和机器学习感兴趣
### 项目上下文
- 当前正在构建电商平台
- 技术栈:Node.js、PostgreSQL、React 18、Docker
- 与 5 名开发者组成的团队合作
- 使用 CI/CD 和蓝绿部署
### 沟通偏好
- 偏好直接、简洁的解释
- 喜欢可视化图表和示例
- 欣赏代码片段
- 在注释中解释业务逻辑
### 当前目标
- 改进 API 性能
- 将测试覆盖率提高到 90%
- 实现缓存策略
- 记录架构最佳实践
应该做的
- 具体且详细:使用清晰、详细的指令而不是模糊的指导
- ✅ 好:“所有 JavaScript 文件使用 2 空格缩进”
- ❌ 避免:“遵循最佳实践”
- 保持有组织:使用清晰的 markdown 章节和标题构建记忆文件
- 使用适当的层级:
- 受管策略:公司级策略、安全标准、合规要求
- 项目记忆:团队标准、架构、编码约定(提交到 git)
- 用户记忆:个人偏好、沟通风格、工具选择
- 目录记忆:模块特定规则和覆盖
- 利用导入:使用
@path/to/file语法引用现有文档- 支持最多 5 级递归嵌套
- 避免记忆文件之间的重复
- 示例:
参见 @README.md 了解项目概览
- 记录常用命令:包含你重复使用的命令以节省时间
- 对项目记忆进行版本控制:将项目级 CLAUDE.md 文件提交到 git 供团队使用
- 定期审查:随着项目演进和需求变化定期更新记忆
- 提供具体示例:包含代码片段和特定场景
不应该做的
- 不要存储秘密:绝不包含 API 密钥、密码、令牌或凭证
- 不要包含敏感数据:不要有 PII、私有信息或专有秘密
- 不要重复内容:使用导入(
@path)引用现有文档 - 不要模糊:避免"遵循最佳实践"或"写好代码"等通用陈述
- 不要太长:保持单个记忆文件聚焦,不超过 500 行
- 不要过度组织:策略性使用层级;不要创建过多的子目录覆盖
- 不要忘记更新:过时的记忆会导致混淆和过时的做法
- 不要超过嵌套限制:记忆导入支持最多 5 级嵌套
记忆管理建议
选择正确的记忆层级:
| 用例 | 记忆层级 | 原因 |
|---|---|---|
| 公司安全策略 | 受管策略 | 适用于整个组织的所有项目 |
| 团队代码风格指南 | 项目 | 通过 git 与团队共享 |
| 你偏好的编辑器快捷键 | 用户 | 个人偏好,不共享 |
| API 模块标准 | 目录 | 仅特定于该模块 |
快速更新工作流:
- 单个规则:使用
/memory打开编辑器,或对话式请求 - 多处更改:使用
/memory打开编辑器 - 初始设置:使用
/init创建模板
导入最佳实践:
# 好:引用现有文档
@README.md
@docs/architecture.md
@package.json
# 避免:复制其他地方已存在的内容
# 不要将 README 内容复制到 CLAUDE.md,直接导入即可官方文档
获取最新信息,请参考 Claude Code 官方文档:
官方文档中的关键技术细节
记忆加载:
- 所有记忆文件在 Claude Code 启动时自动加载
- Claude 从当前工作目录向上遍历以发现 CLAUDE.md 文件
- 访问这些目录时会发现和加载子树文件
导入语法:
- 使用
@path/to/file包含外部内容(例如@~/.claude/my-project-instructions.md) - 支持相对路径和绝对路径
- 支持递归导入,最大深度为 5
- 首次外部导入触发审批对话框
- Markdown 代码段或代码块内的导入指令不会被求值
- 自动将引用的内容包含在 Claude 的上下文中
记忆层级优先级:
- 受管策略(最高优先级)
- 受管插件(
managed-settings.d/,v2.1.83+) - 项目记忆
- 项目规则(
.claude/rules/) - 用户记忆
- 用户级规则(
~/.claude/rules/) - 本地项目记忆
- 自动记忆(最低优先级)
相关概念链接
集成点
相关 Claude 功能
- Claude Web Memory - 自动综合
- 官方 Memory 文档 - Anthropic 文档
最后更新:2026 年 5 月 9 日
Claude Code 版本:2.1.138
来源:
- https://code.claude.com/docs/en/memory
- https://code.claude.com/docs/en/settings
- https://github.com/anthropics/claude-code/releases/tag/v2.1.117
- https://github.com/anthropics/claude-code/releases/tag/v2.1.131
- https://github.com/anthropics/claude-code/releases/tag/v2.1.138 兼容模型:Claude Sonnet 4.6、Claude Opus 4.7、Claude Haiku 4.5