跳到正文

记忆与配置

用时: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
- 任务队列:Celery

3. 编码规范

Markdown
## 代码风格
- 遵循 PEP 8
- 所有函数加类型提示
- 使用 Google 格式文档字符串
- 禁止通配符导入
- 最大行长度:100 字符

## 测试
- 最低覆盖率 80%
- 单元测试 + 集成测试
- 使用 pytest

4. 规则

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
claude

Claude 会在启动时显示已加载 CLAUDE.md。

第四步:测试

让 Claude 做一些事情。它应该遵守你的规则。

Plain
Add a function called greet that returns "Hello, World!"

Claude 应该:

  1. 提及你的技术栈
  2. 遵循你的编码规范
  3. 尊重你的偏好

.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