外观
记忆与配置
用时:1 小时 | 难度:⭐⭐ 进阶
目标
配置 Claude Code,让它记住你的偏好和项目专属规则。创建你的第一个 CLAUDE.md 文件。
你将学到
- Claude Code 记忆层级的工作原理
- 创建和组织 CLAUDE.md 文件
- 设置及其优先级
- 自定义指令与智能体定义
- 项目级 vs 全局级配置
记忆层级
Claude Code 在三个层级记住你的偏好:
Plain
┌──────────────────────────────────────────┐
│ 1. 全局(~/.claude/CLAUDE.md) │
│ 适用于你的所有项目 │
│ 示例:你的编码风格、时区 │
└──────────────────────────────────────────┘
▲
│(被以下层级覆盖)
│
┌──────────────────────────────────────────┐
│ 2. 项目(/your-project/CLAUDE.md) │
│ 仅适用于当前项目 │
│ 示例:团队规范、技术栈 │
└──────────────────────────────────────────┘
▲
│(被以下层级覆盖)
│
┌──────────────────────────────────────────┐
│ 3. 个人(/your-project/.claude/) │
│ 本地设置,不提交到 Git │
│ 示例:API Key、个人偏好 │
└──────────────────────────────────────────┘规则
第 3 层设置覆盖第 2 层,第 2 层覆盖第 1 层。
创建你的第一个 CLAUDE.md
CLAUDE.md 是一个简单的 Markdown 文件,用于告知 Claude Code 你的规则。
基本结构
Markdown
# 我的项目
## 用途
简短描述该项目的功能。
## 技术栈
- TypeScript
- React 18
- Next.js
- PostgreSQL
## 编码规范
- 只使用函数式组件
- 所有导出必须有类型标注
- 每个文件最多 300 行
- 使用有意义的变量名(不用 `x`、`temp`)
## 行为规则
接受前必须审阅差异对比(diff)。
任何破坏性变更使用 /plan。
## Git 工作流
- 所有工作在功能分支上进行
- PR 需要 1 人审批
- 提交必须被压缩(squash)
## 当前状态
记录你当前正在做的事情。最简示例(从这里开始)
创建 /your-project/CLAUDE.md:
Markdown
# 我的项目
## 快速上下文
- 前端:React + TypeScript
- 后端:Node.js + Express
- 数据库:PostgreSQL
- 包管理器:pnpm
## 编码规则
- 优先函数式编程
- 所有函数必须有类型签名
- 功能必须有测试
- 生产代码中不得有 console.log
## 我的偏好
- 架构变更使用 /plan
- 注释详尽,代码简洁
- 跨文件重构前先询问Claude 会在会话启动时自动读取此文件并遵守你的规则。
CLAUDE.md 中可以放什么?
你几乎可以配置任何内容。常见章节如下:
1. 项目概述
Markdown
## 用途
这是我们的支付处理后端。
负责信用卡验证和交易日志记录。
## 重要
- 涉及 PCI-DSS 合规关键代码
- 绝不记录卡号
- 所有变更需要安全审查2. 技术栈
Markdown
## 技术栈
- 语言:Python 3.10+
- 框架:Django 4.0
- 数据库:PostgreSQL 13
- 缓存:Redis
- 任务队列:Celery3. 编码规范
Markdown
## 代码风格
- 遵循 PEP 8
- 所有函数加类型提示
- 使用 Google 格式文档字符串
- 禁止通配符导入
- 最大行长度:100 字符
## 测试
- 最低覆盖率 80%
- 单元测试 + 集成测试
- 使用 pytest4. 规则
Markdown
## 规则
- 所有 PR 需要审阅
- 禁止直接推送到 main
- 数据库迁移需要审批
- 安全变更自动标记
- 超过 100 行的重构使用 /plan 模式5. 当前工作
Markdown
## 当前任务
正在构建结账流程。
工作中:src/checkout/payment-form.tsx
依赖:stripe-js 库、支付 API全局 CLAUDE.md
对于适用于所有项目的设置,创建 ~/.claude/CLAUDE.md:
Markdown
# 我的全局偏好
## 沟通风格
- 直接、简洁
- 分步展示思路
- 不确定时给出备选方案
## 我使用的工具
- TypeScript 用于所有 JS 项目
- Python 用于数据/脚本
- Docker 用于部署
- Git 用于所有版本控制
## 我的时区
America/New_York
## 工作时间
周一至周五 9am-5pm(UTC-5)Claude 在启动时加载此文件,并与你的项目 CLAUDE.md 合并使用。
项目级 vs 全局级
全局级适合放:
- 你的通用编码风格(命名规范、方法论)
- 你常用的工具
- 沟通偏好
- 通用原则
项目级适合放:
- 团队规范(如与全局不同)
- 项目特定技术栈
- 业务规则(PCI 合规等)
- 当前工作上下文
示例
全局(~/.claude/CLAUDE.md):
Markdown
## 我的风格
函数式编程、清晰的变量名、带类型的函数项目(my-payment-app/CLAUDE.md):
Markdown
## 特殊规则
安全关键——所有变更使用 /plan。
必须满足 PCI 合规要求。Claude 会合并两者:你的风格 + 项目规则。
练习:创建你的 CLAUDE.md
第一步:选择一个项目
使用现有项目或创建测试目录:
Bash
mkdir test-claude-config
cd test-claude-config
git init第二步:创建 CLAUDE.md
Bash
cat > CLAUDE.md << 'EOF'
# 我的测试项目
## 技术栈
- 语言:[你的主语言]
- 框架:[你使用的框架]
- 数据库:[如适用]
## 编码规范
- [规则 1]
- [规则 2]
## 我的偏好
- [偏好 1]
- [偏好 2]
EOF第三步:启动 Claude
Bash
claudeClaude 会在启动时显示已加载 CLAUDE.md。
第四步:测试
让 Claude 做一些事情。它应该遵守你的规则。
Plain
Add a function called greet that returns "Hello, World!"Claude 应该:
- 提及你的技术栈
- 遵循你的编码规范
- 尊重你的偏好
.claude/ 目录
对于本地设置(不提交),使用 .claude/:
Plain
my-project/
├── CLAUDE.md (已提交——团队规则)
├── .claude/
│ ├── settings.json (未提交——个人设置)
│ ├── agents/ (自定义智能体)
│ ├── skills/ (自定义 Skills)
│ └── hooks/ (自动化脚本)添加到 .gitignore:
Plain
.claude/
.claude/settings.json例外:如果 .claude/agents/ 是团队共用的,可以提交。
settings.json(可选)
要进行精细控制,创建 .claude/settings.json:
JSON
{
"model": "claude-opus-4-7",
"temperature": 0.7,
"context_threshold": 0.75,
"auto_compact": true,
"require_diff_review": true,
"max_file_size": 10000
}常用设置:
- model:使用哪个 Claude 模型
- context_threshold:何时提示上下文警告(0.7 = 70%)
- auto_compact:达到阈值时自动压缩
- require_diff_review:强制审阅所有变更(安全默认值)
智能体与 Skills(预览)
在 CLAUDE.md 中,你可以引用自定义智能体:
Markdown
## 可用智能体
- /code-reviewer:审查代码质量
- /security-auditor:扫描安全漏洞
- /test-writer:生成测试用例
使用方式:/agent code-reviewer这些定义在 .claude/agents/ 中(模块 04 会详细介绍)。
最佳实践
应该做
✅ 随项目演进持续更新 CLAUDE.md
✅ 将项目 CLAUDE.md 纳入版本控制(帮助团队成员)
✅ 具体描述要求(避免模糊)
✅ 添加"当前状态"章节,让 Claude 获取上下文
✅ 记录重要业务规则
不应该做
❌ 在 CLAUDE.md 中存储密码或密钥(使用 .env 或 Secret Manager)
❌ 写得太长(超过 500 行会让人不堪重负)
❌ 全局和项目之间的规则相互冲突
❌ 假设 Claude 会记住上一次会话的偏好
验证:以下都满足说明你已准备好
✓ 已在项目中创建 CLAUDE.md 文件
✓ 能解释三级记忆层级(全局、项目、个人)
✓ 理解哪些内容应放在已提交的 CLAUDE.md 中,哪些应放在 .claude/
✓ 已启动 Claude 并看到它加载了你的 CLAUDE.md
✓ Claude 遵守了你 CLAUDE.md 中的至少一条规则
下一步
模块 04:智能体与专业化涵盖:
- 为特定任务创建专业化智能体
- 限制智能体能力
- 编排多个智能体
- 基于智能体的团队工作流
这将教你如何创建专注型 AI 角色,而不是只用一个通用的 Claude。
完成模块 03? → 进入 模块 04:智能体与专业化
进阶阅读:跨会话与团队记忆
上述内容涵盖了 CLAUDE.md 的基础模式。准备好深入时,生态系统提供了更多能力:
自动记忆与自动整理(原生功能,v2.1.59+)
Claude Code 可以在会话间自动写入 MEMORY.md(自动记忆),并在后台整合记忆(自动整理)。两者开箱即用,可用 /memory 管理已存储的条目。详见「记忆系统:自动记忆」和「自动整理」。
个人开发者的跨会话工具
- claude-mem(26.5K 星)——通过 Hooks 自动压缩会话,无需手动调用。安装:
/plugin marketplace add thedotmack/claude-mem - agentmemory(16K 星)——BM25 + 向量 + 图混合检索,12 个自动挂载的 Hooks,在 LongMemEval-S 上 R@5 达 95.2%
- ICM(Rust 二进制)——情节衰减 + 永久知识图谱,
brew install icm,支持 14 个 IDE 客户端
团队共享
- Trinity 模式:CLAUDE.md +
.mcp.json+/skills全部提交到仓库——零基础设施、零成本 - Mem0 Cloud MCP ——通过
npx mcp-add --url https://mcp.mem0.ai/mcp接入共享记忆池,有免费套餐 - doobidoo ——跨 13+ IDE 的语义搜索,本地 SQLite 或 Cloudflare D1 后端
所有工具、架构模式、风险分析及决策流程图的完整介绍:「记忆系统指南」。
来源:飞书 · AI Spark 知识库 | 原文(最新版):https://lcnniolukk80.feishu.cn/wiki/MJnDwktKjid5Qdku7K2c4421nhf | 归档:2026-06-04