Claude Code 拥有两种跨会话持久化记忆的机制,让 AI 助手能够记住你的偏好、项目模式和工作习惯。本文详细介绍这两种记忆类型及最佳使用实践。
两种记忆类型
Claude Code 的记忆分为两大类:
- 自动记忆(Auto Memory):Claude 自动保存有用的上下文,如项目模式、关键命令和你的偏好设置,跨会话持久化。
- CLAUDE.md 文件:由你编写和维护的 Markdown 文件,包含给 Claude 遵循的指令、规则和偏好。
两种记忆都会在每次会话开始时加载到 Claude 的上下文中(自动记忆只加载主文件的前 200 行)。
记忆层级结构
| 记忆类型 | 位置 | 用途 | 适用范围 |
|---|---|---|---|
| 托管策略 | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md | 组织级统一指令 | 组织内所有用户 |
| 项目记忆 | ./CLAUDE.md 或 ./.claude/CLAUDE.md | 团队共享的项目指令 | 通过源码控制共享 |
| 项目规则 | ./.claude/rules/*.md | 模块化主题规则 | 通过源码控制共享 |
| 用户记忆 | ~/.claude/CLAUDE.md | 个人偏好(全项目) | 仅本人 |
| 项目本地记忆 | ./CLAUDE.local.md | 个人项目偏好 | 仅本人(当前项目) |
| 自动记忆 | ~/.claude/projects/<project>/memory/ | Claude 的自动笔记 | 仅本人(按项目) |
优先级规则
- 工作目录以上的 CLAUDE.md 文件在启动时完整加载
- 子目录的 CLAUDE.md 文件按需加载(当 Claude 读取该目录文件时)
- 自动记忆仅加载
MEMORY.md的前 200 行 - 越具体的指令优先级越高
CLAUDE.local.md文件会自动加入.gitignore,非常适合存放不应提交到版本控制的私人偏好。
自动记忆详解
自动记忆是 Claude 在工作过程中记录学习、模式和洞察的持久化目录。与你编写给 Claude 看的 CLAUDE.md 不同,自动记忆包含 Claude 根据会话发现自己写给自己的笔记。
自动记忆默认启用。使用
/memory命令并选择自动记忆开关来切换。
Claude 会记住什么
Claude 在工作时可能保存:
- 项目模式:构建命令、测试规范、代码风格偏好
- 调试洞察:复杂问题的解决方案、常见错误原因
- 架构笔记:关键文件、模块关系、重要抽象
- 你的偏好:沟通风格、工作流习惯、工具选择
存储位置
每个项目在 ~/.claude/projects/<project>/memory/ 有独立的记忆目录。<project> 路径来自 git 仓库根目录,因此同一仓库的所有子目录共享一个自动记忆目录。git worktree 会有独立的记忆目录。
目录结构:
~/.claude/projects/<project>/memory/
├── MEMORY.md # 简洁索引,每次会话都会加载
├── debugging.md # 调试模式的详细笔记
├── api-conventions.md # API 设计决策
└── ... # Claude 创建的其他主题文件工作原理
MEMORY.md的前 200 行在每次会话开始时加载到 Claude 的系统提示中- 超过 200 行的内容不会自动加载,Claude 被指示通过将详细笔记移入独立主题文件来保持简洁
debugging.md或patterns.md等主题文件不在启动时加载,Claude 会在需要时按需读取
管理自动记忆
自动记忆文件是可以随时编辑的 Markdown 文件。使用 /memory 打开文件选择器。
主动让 Claude 记住某事:
remember that we use pnpm, not npmsave to memory that the API tests require a local Redis instance禁用自动记忆(在 ~/.claude/settings.json 中):
{
"autoMemoryEnabled": false
}CLAUDE.md 文件最佳实践
项目 CLAUDE.md 示例结构
# 项目概述
这是一个 Node.js REST API 项目,使用 TypeScript + Express。
## 开发规范
- 使用 pnpm 而非 npm
- 代码风格遵循 ESLint 配置
- 所有 API 响应使用统一的 ResponseWrapper 格式
## 测试
- 运行测试:`pnpm test`
- 测试覆盖率要求:80% 以上
- API 测试需要本地运行 Redis
## 部署
- 开发环境:`pnpm dev`
- 生产构建:`pnpm build && pnpm start`
## 重要文件
- `src/app.ts` - 主入口
- `src/routes/` - 路由定义
- `src/services/` - 业务逻辑用户 CLAUDE.md 示例(个人偏好)
## 我的偏好
- 代码注释使用中文
- 优先使用函数式编程风格
- 避免使用 `any` 类型
- 提交信息使用 Conventional Commits 格式记忆层级的实用建议
- 项目规范放在项目 CLAUDE.md:确保团队所有人和 Claude 都遵守相同规范
- 个人偏好放在用户 CLAUDE.md:跨项目复用个人习惯
- 敏感信息用 CLAUDE.local.md:不提交到版本控制
- 让 Claude 积累自动记忆:随着使用增多,Claude 对你的项目理解会越来越深
- 定期审查记忆文件:删除过时信息,保持简洁
总结
Claude Code 的记忆系统提供了灵活的分层架构,让 AI 助手能够适应从个人偏好到组织级策略的各种需求。合理利用 CLAUDE.md 文件和自动记忆功能,可以显著提升 Claude Code 在你特定项目中的工作效率和准确性。
来源:Claude Code 官方文档 - Memory Management
原文作者:Anthropic Team