首页 › tutorials › Claude Code上下文工程:从CLAUDE.md到记忆管理

Claude Code上下文工程:从CLAUDE.md到记忆管理全实战

概述

本教程面向已安装Claude Code但希望大幅提升协作效率的开发者。你将学会上下文工程(Context Engineering)的核心原理——不是写更好的Prompt,而是设计整个信息环境。教程覆盖CLAUDE.md三级配置体系、自动记忆系统、上下文压缩策略,以及一套完整的项目级上下文管理工作流。

适用人群:有1-3个月编程基础、已完成Claude Code安装的初学者和中级用户。


第一章 为什么上下文工程比提示工程更重要

1.1 从Prompt到Context:思维方式的根本转变

2025年9月,Anthropic发布了一篇里程碑式的工程博客《Effective Context Engineering for AI Agents》,核心观点非常明确:上下文的质量决定Agent的质量。

传统的提示工程(Prompt Engineering)关注的是"如何写好一条指令"。但在Claude Code这样的Agent式编码工具中,模型接收到的不仅是你的当前输入,还包括:

这些信息共同构成了"上下文窗口"(Context Window)。Claude Code当前支持200K标准Token和1M扩展Token的上下文窗口。上下文工程就是系统地管理所有这些信息源,确保模型在每一轮交互中都能看到最相关的信息。

graph TD
    A[用户输入] --> G[上下文窗口]
    B[CLAUDE.md指令] --> G
    C[对话历史] --> G
    D[工具调用结果] --> G
    E[自动记忆文件] --> G
    F[系统提示] --> G
    G --> H[Claude模型推理]
    H --> I[代码修改/回复]

    style G fill:#f9f,stroke:#333,stroke-width:2px
    style H fill:#bbf,stroke:#333,stroke-width:2px

1.2 上下文管理不当的三大症状

如果你遇到过以下情况,说明需要学习上下文工程:

症状一:Claude"忘记"了之前的约定 你在对话开始时说"用TypeScript严格模式",过了20轮对话后Claude开始写纯JavaScript。原因是:对话太长触发了自动压缩(Compaction),约定被丢弃了。

症状二:Claude给出的回答越来越"泛" 前几轮回答非常精准,后面开始给出模板化、通用化的建议。原因是:上下文窗口被无关信息填充,关键信号被稀释。

症状三:Token消耗快速增长 一个简单的bug修复消耗了数万Token。原因是:上下文中堆积了大量已经不相关的历史对话和工具输出。

1.3 上下文工程的三大核心原则

Anthropic官方总结的核心原则,可以简化为三个词:

原则 含义 对应策略
精准 只提供必要信息 CLAUDE.md分层、精简指令
持久 关键信息不丢失 持久化文件、记忆系统
动态 随任务进展调整 压缩、清除、会话切换

第二章 CLAUDE.md三级配置体系

2.1 三级层次结构

Claude Code的CLAUDE.md系统采用三级层次结构,每一级有不同的作用域:

graph TB
    subgraph 全局级
        A["~/.claude/CLAUDE.md<br/>所有项目共享"]
    end
    subgraph 项目级
        B["项目根目录/CLAUDE.md<br/>当前项目所有成员共享"]
        C["项目根目录/.claude/CLAUDE.md<br/>(推荐位置,同上)"]
    end
    subgraph 目录级
        D["src/CLAUDE.md<br/>仅特定子目录生效"]
        E["tests/CLAUDE.md<br/>仅测试目录生效"]
    end
    A --> B
    B --> D
    B --> E
    A -.->|加载优先级从上到下| B
    B -.-> D

    style A fill:#e1f5fe
    style B fill:#fff3e0
    style C fill:#fff3e0
    style D fill:#e8f5e9
    style E fill:#e8f5e9

加载规则: - 所有层级的CLAUDE.md都会被合并加载,不会互相覆盖 - 当指令冲突时,更具体的层级优先(目录级 > 项目级 > 全局级) - 每次会话启动时自动加载,无需手动操作

2.2 全局级CLAUDE.md:个人偏好配置

位置:~/.claude/CLAUDE.md

这是你的个人编码偏好,适用于所有项目。内容应该是跨项目通用的风格偏好:

# 全局编码偏好

## 语言
- 默认使用中文回复
- 代码注释使用英文

## 编码风格
- 使用2空格缩进
- 变量名使用camelCase,组件名使用PascalCase
- 优先使用函数式编程风格
- 避免使用any类型(TypeScript)

## Git规范
- 不要自动commit
- commit message使用英文
- 不要提交.env文件

## 通用规则
- 始终先读取文件再编辑
- 优先编辑现有文件而非创建新文件
- 修改代码后主动运行测试

创建命令:

# 方法一:直接创建
mkdir -p ~/.claude
cat > ~/.claude/CLAUDE.md << 'EOF'
# 全局编码偏好
- 默认使用中文回复
- 代码注释使用英文
- 使用2空格缩进
- 不要自动commit
- 始终先读取文件再编辑
EOF

# 方法二:在Claude Code会话中使用斜杠命令
# 直接在对话中输入:
# /memory
# 然后选择编辑全局指令

2.3 项目级CLAUDE.md:项目规范配置

位置:项目根目录/CLAUDE.md 或 项目根目录/.claude/CLAUDE.md

这是团队共享的项目配置,应该提交到Git仓库中。它定义了项目特定的架构、技术栈和规范:

# 项目:电商平台后端

## 技术栈
- 运行时:Node.js 20 LTS
- 框架:Fastify 4.x(注意不是Express)
- 数据库:PostgreSQL 16 + Prisma ORM
- 缓存:Redis 7
- 测试:Vitest + Supertest

## 项目架构

src/ ├── routes/ # API路由定义 ├── services/ # 业务逻辑层 ├── repositories/ # 数据访问层 ├── middleware/ # 中间件 ├── utils/ # 工具函数 └── types/ # TypeScript类型定义

## 编码规范
- 每个API路由必须有对应的Schema验证(使用TypeBox)
- 错误处理使用自定义AppError类
- 数据库操作必须放在repository层
- 新增API必须编写集成测试

## 常用命令
- `npm run dev` — 启动开发服务器(端口3001)
- `npm test` — 运行所有测试
- `npm run test:watch` — 监听模式运行测试
- `npx prisma migrate dev` — 运行数据库迁移
- `npx prisma studio` — 打开数据库GUI

## 关键约定
- 不要直接修改prisma/schema.prisma,先讨论变更方案
- 所有时间使用UTC,前端负责时区转换
- API响应格式统一:{ success: boolean, data?: any, error?: string }

最佳实践: - 项目级CLAUDE.md控制在200行以内,过长会稀释关键信息 - 使用明确的标题和列表结构 - 包含具体的命令和路径,不要模糊描述 - 随项目演进持续更新

2.4 目录级CLAUDE.md:领域特定配置

位置:项目子目录中的CLAUDE.md

这是最精细的配置级别,只在Claude Code操作该目录下的文件时生效。特别适合以下场景:

场景一:测试目录的特殊规则

# tests/ 目录规则

- 测试文件命名:`*.test.ts`
- 每个测试文件对应一个源文件
- 使用describe/it结构组织测试
- Mock外部依赖,不要调用真实API
- 测试数据库使用独立的test数据库

场景二:特定模块的复杂逻辑说明

# src/services/payment/ 目录规则

## 支付流程架构
本模块处理支付核心逻辑,涉及三个阶段:
1. 创建订单 → 验证库存 → 冻结金额
2. 调用支付网关 → 处理回调
3. 确认支付 → 更新库存 → 发送通知

## 重要约束
- 支付金额计算使用decimal.js,绝不用浮点数
- 所有金额单位为分(整数),前端转换为元
- 支付回调必须验证签名
- 不要修改订单状态机以外的状态转换逻辑

2.5 CLAUDE.md编写黄金法则

法则 说明 反面例子 正面例子
具体而非抽象 给出明确指令 "写好代码" "所有函数必须有单元测试"
正面+负面 告诉Claude该做什么和不该做什么 "注意性能" "使用连接池,不要每次请求创建新连接"
包含原因 解释为什么,帮助Claude理解上下文 "用PostgreSQL" "使用PostgreSQL因为需要JSON查询能力"
分层组织 用标题分组,便于Claude定位 平铺所有规则 按技术栈/架构/规范/命令分组
保持精简 删除过时内容,避免信息噪音 1000行CLAUDE.md 100行精炼的CLAUDE.md

第三章 记忆系统:让Claude自动学习你的项目

3.1 双记忆系统架构

Claude Code有两套互补的记忆系统:

graph LR
    subgraph 持久记忆
        A["CLAUDE.md<br/>手动编写<br/>提交到Git"]
    end
    subgraph 自动记忆
        B[".claude/memory/<br/>自动生成<br/>不提交到Git"]
    end
    A --> C[会话启动时加载]
    B --> C
    C --> D[Claude Code运行]

    style A fill:#e1f5fe
    style B fill:#fff9c4
特性 CLAUDE.md 自动记忆(Auto Memory)
创建方式 手动编写 Claude自动生成
位置 项目根目录 .claude/memory/ 目录
版本控制 提交到Git 加入.gitignore
作用 主动指令和规范 被动学习的经验笔记
内容类型 "你应该这样做" "上次我学会了..."

3.2 自动记忆的工作机制

当你在对话中说了类似以下内容时,Claude Code会将信息存入记忆文件:

Claude Code会将这些学习内容保存到 .claude/memory/ 目录下的Markdown文件中。下次启动会话时自动加载。

查看当前记忆内容:

# 在Claude Code对话中使用斜杠命令
/memory

# 或直接查看文件
ls .claude/memory/
cat .claude/memory/*.md

3.3 记忆文件的最佳管理实践

实践一:定期审查记忆文件

# 每周检查一次记忆文件是否有冲突或过时内容
cat .claude/memory/*.md | less

如果发现过时或不准确的记忆,直接编辑对应文件即可。Claude Code会在下次会话中加载更新后的内容。

实践二:将重要记忆提升到CLAUDE.md

自动记忆是Claude自己写的笔记,格式可能不够规范。如果某条记忆非常重要,应该将其整理后写入项目级CLAUDE.md:

<!-- 从自动记忆提升到CLAUDE.md的示例 -->

## API设计规范
- RESTful路径使用kebab-case: `/user-profile`, `/order-history`
- 响应状态码严格遵循HTTP语义
- 分页参数统一使用 `?page=1&limit=20`

实践三:配置.gitignore

# 将自动记忆加入.gitignore(因为它是个人化的)
echo ".claude/memory/" >> .gitignore

# 但保留CLAUDE.md(它是团队共享的)
git add CLAUDE.md

3.4 /memory命令详解

/memory 是Claude Code内置的斜杠命令,用于管理记忆系统:

操作 命令 说明
查看记忆 /memory 显示所有已加载的记忆文件内容
添加记忆 对话中说"记住..." Claude自动保存到记忆文件
编辑记忆 手动编辑 .claude/memory/*.md 直接修改Markdown文件
全局记忆 编辑 ~/.claude/CLAUDE.md 跨项目生效

第四章 上下文压缩与生命周期管理

4.1 上下文窗口的生命周期

每次Claude Code会话,上下文窗口经历以下阶段:

graph LR
    A[会话启动<br/>加载CLAUDE.md] --> B[任务执行<br/>上下文增长]
    B --> C{上下文使用率}
    C -->|< 60%| B
    C -->|60-80%| D["建议手动/compact"]
    C -->|> 80%| E["自动压缩触发"]
    D --> F[压缩后继续]
    E --> F
    F --> B

    style C fill:#fff9c4
    style D fill:#ffe0b2
    style E fill:#ffcdd2

4.2 三大上下文管理命令

Claude Code提供三个核心命令来管理上下文:

/compact — 智能压缩

作用:对对话历史进行摘要压缩,保留关键信息,丢弃冗余细节。

最佳使用时机:上下文使用率达到60%时主动执行,不要等到90%以上。

# 在Claude Code对话中输入
/compact

# 带自定义压缩指令
/compact 请保留关于支付模块的所有讨论,丢弃CSS样式相关的对话

压缩后你会看到: - Claude输出一段摘要,说明保留了什么、丢弃了什么 - 上下文使用率显著下降 - CLAUDE.md中的指令不会被压缩(它们始终存在) - 自动记忆文件的内容也不会被压缩

/clear — 完全清除

作用:清空整个对话历史,但保留CLAUDE.md和记忆文件。

最佳使用时机: - 切换到完全不同的任务 - 对话出现了严重错误需要"重启" - 上下文已经被无关信息严重污染

# 在Claude Code对话中输入
/clear

# 清除后开始新对话,CLAUDE.md中的指令仍然生效

/rewind — 回退对话

作用:将对话回退到之前的某个状态,撤销后续的所有操作。

最佳使用时机: - Claude走错了方向,想回到决策点重新开始 - 之前的代码修改需要撤销

# 在Claude Code对话中输入
/rewind

# Claude会显示对话历史,让你选择回退到哪一步

4.3 上下文压缩的五层策略

Claude Code的压缩机制实际上包含五层策略,了解这些有助于你更好地管理上下文:

层级 策略 说明 你能控制的
第一层 对话摘要 将长对话压缩为关键要点 用 /compact 触发
第二层 工具输出裁剪 大文件只保留相关片段 在指令中明确需要哪些行
第三层 历史轮次合并 相邻轮次的相似内容合并 无法直接控制
第四层 早期对话丢弃 丢弃最早的不相关对话 用 /compact 带提示词
第五层 强制截断 最后手段,可能丢失重要信息 在80%前主动压缩避免

4.4 会话管理策略矩阵

不同场景下应该使用不同的会话管理策略:

graph TD
    A[开始新任务] --> B{任务复杂度}
    B -->|简单<br/>修bug/小改动| C[单个会话<br/>完成后/clear]
    B -->|中等<br/>新功能开发| D[单个会话<br/>定期/compact]
    B -->|复杂<br/>架构重构| E[多会话策略<br/>分阶段/clear]

    D --> F{上下文>60%}
    F -->|是| G["/compact<br/>带保留提示"]
    F -->|否| H[继续工作]
    G --> H

    E --> I[阶段1: 分析规划]
    I --> J["/clear"]
    J --> K[阶段2: 实现代码]
    K --> L["/clear"]
    L --> M[阶段3: 测试修复]

    style C fill:#c8e6c9
    style D fill:#fff9c4
    style E fill:#ffccbc

复杂任务的多会话策略是一个关键技巧。以"重构用户认证系统"为例:

会话一(分析规划):

请分析当前认证系统的架构,列出所有需要修改的文件。
不要修改任何代码,只做分析。

完成后执行 /clear。

会话二(核心实现):

基于以下计划重构认证系统:
[粘贴会话一的分析结果]

请先修改核心认证模块 src/services/auth.ts

完成后执行 /clear。

会话三(测试修复):

认证系统重构已完成,现在需要:
1. 运行所有测试
2. 修复失败的测试
3. 补充新的集成测试

这样每个会话都保持紧凑的上下文,避免历史信息互相干扰。


第五章 提升上下文效率的实战技巧

5.1 技巧一:精准的文件引用

不要让Claude自己搜索文件,直接告诉它看哪里:

# 低效方式(消耗大量上下文Token)
"帮我看看这个项目有什么问题"

# 高效方式(精准定位)
"请阅读 src/services/payment.ts 的第45-80行,这个函数有并发问题"

5.2 技巧二:分阶段而不是一次性

# 低效方式(可能触发上下文溢出)
"请重构整个认证系统,包括JWT、OAuth、session管理,然后写测试,最后更新文档"

# 高效方式(分阶段执行)
# 第一阶段
"请分析 src/auth/ 目录下所有文件的结构和依赖关系"

# 确认分析结果后
"请重构 auth.service.ts,将JWT逻辑抽取到独立的 jwt.service.ts"

# 逐个文件推进...

5.3 技巧三:使用@引用和上下文控制

Claude Code支持在对话中使用特定语法来控制上下文加载:

# 指定只读取特定文件
"请只看 package.json 和 tsconfig.json,不要读取其他文件"

# 明确排除
"在搜索实现方式时,不要读取 node_modules 和 dist 目录"

# 使用Glob模式的精确指定
"请查看 src/routes/*.ts 中的所有路由定义"

5.4 技巧四:上下文预算管理

在长会话中主动监控上下文使用情况:

# 查看当前上下文状态(在Claude Code对话中)
/status

# 当接近上限时,主动压缩并给出保留优先级
/compact 保留所有关于数据库schema的讨论,可以丢弃UI样式的讨论

5.5 技巧五:CLAUDE.md中的上下文节省技巧

在CLAUDE.md中加入以下类型的指令,可以大幅减少重复解释:

## 上下文管理规则
- 当我说"继续"时,继续上一次未完成的任务
- 当我说"下一个"时,进入计划中的下一个步骤
- 不需要重复你已经知道的信息,直接执行
- 修改文件前不需要展示完整文件内容,只展示变更部分

这些指令可以显著减少每一轮对话的Token消耗。

5.6 技巧六:利用.claude目录的完整配置

.claude/ 目录不仅仅是放CLAUDE.md,它是一个完整的配置中心:

.claude/
├── CLAUDE.md          # 项目级指令(推荐放这里)
├── settings.json      # Claude Code行为配置
├── memory/            # 自动记忆文件
├── commands/          # 自定义斜杠命令
├── skills/            # 项目级Skills
└── hooks/             # 事件钩子

settings.json示例:

{
  "permissions": {
    "allow": [
      "Bash(npm test)",
      "Bash(npm run lint)",
      "Bash(git status)",
      "Bash(git diff)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(npm publish)"
    ]
  },
  "autoCompact": true,
  "compactThreshold": 0.6
}

第六章 完整实战案例:为真实项目配置上下文工程

6.1 项目背景

假设你有一个Next.js全栈项目需要配置Claude Code的上下文工程。项目结构如下:

my-saas-app/
├── app/               # Next.js App Router
├── components/        # React组件
├── lib/               # 工具函数和共享逻辑
├── prisma/            # 数据库Schema和迁移
├── public/            # 静态资源
├── tests/             # 测试文件
├── package.json
├── next.config.ts
└── tsconfig.json

6.2 第一步:创建全局配置

# 创建全局CLAUDE.md
mkdir -p ~/.claude
cat > ~/.claude/CLAUDE.md << 'EOF'
# 个人编码偏好

## 通用
- 默认使用中文回复
- 代码注释使用英文
- 使用2空格缩进(TypeScript/JavaScript)
- 优先使用ES模块语法(import/export)
- 变量名使用camelCase,类型/接口使用PascalCase

## Git
- 不要自动commit
- 不要自动git add
- commit message用英文,使用conventional commits格式

## 安全
- 不要提交.env、credentials等敏感文件
- SQL查询必须使用参数化,禁止字符串拼接
- 用户输入必须验证
EOF

6.3 第二步:创建项目级配置

cd my-saas-app
cat > CLAUDE.md << 'EOF'
# SaaS应用 - 项目配置

## 技术栈
- 框架:Next.js 15(App Router)
- 语言:TypeScript 5(strict模式)
- 样式:Tailwind CSS 4
- 数据库:PostgreSQL + Prisma 6
- 认证:NextAuth.js v5
- 测试:Vitest + Playwright
- 包管理:pnpm

## 架构约定
- app/目录按功能模块组织,每个模块有自己的page.tsx和layout.tsx
- 组件分为 ui/(通用)和 features/(业务)两个子目录
- lib/db.ts 导出Prisma客户端单例
- lib/auth.ts 导出NextAuth配置
- Server Actions放在对应的app/模块目录下

## 关键规则
- 新页面必须添加loading.tsx和error.tsx
- 数据库变更必须通过Prisma迁移(npx prisma migrate dev)
- API路由使用Route Handler(app/api/)
- 不要使用getServerSideProps或getStaticProps(那是Pages Router)

## 常用命令
- `pnpm dev` — 启动开发服务器
- `pnpm build` — 生产构建
- `pnpm test` — 运行单元测试
- `pnpm test:e2e` — 运行端到端测试
- `npx prisma studio` — 数据库管理界面
- `npx prisma generate` — 重新生成Prisma客户端

## 上下文管理
- 修改文件前先读取确认现有内容
- 修改代码后运行 `pnpm test` 验证
- 当对话超过30轮时提醒我执行 /compact
EOF

6.4 第三步:创建目录级配置

# 测试目录配置
mkdir -p tests
cat > tests/CLAUDE.md << 'EOF'
# 测试目录规则

## 单元测试
- 文件放在 tests/unit/ 下,镜像src/目录结构
- 使用 describe/it 结构
- Mock外部依赖(数据库、API调用)
- 每个测试文件对应一个源文件

## E2E测试
- 文件放在 tests/e2e/ 下
- 使用Playwright
- 测试关键用户流程:注册→登录→使用核心功能→登出
- 使用 page.goto('/') 而不是硬编码URL

## 命名
- 测试文件:`*.test.ts` 或 `*.spec.ts`
- 测试描述使用中文,便于团队理解
EOF

# Prisma目录配置
cat > prisma/CLAUDE.md << 'EOF'
# 数据库规则

## Schema约定
- 模型名使用PascalCase
- 字段名使用camelCase
- 每个模型必须有 createdAt 和 updatedAt 字段(使用 @updatedAt)
- 枚举类型定义在文件顶部
- 使用 @@map 指定表名(snake_case)

## 迁移规则
- 小改动可以直接 npx prisma migrate dev
- 大改动(删字段、改类型)先备份讨论
- 迁移后必须更新seed脚本
EOF

6.5 第四步:配置Git忽略和共享

# 创建.gitignore条目(个人化的不提交)
cat >> .gitignore << 'EOF'
# Claude Code个人记忆
.claude/memory/
EOF

# 确保项目级配置被团队共享
git add CLAUDE.md tests/CLAUDE.md prisma/CLAUDE.md

6.6 第五步:验证配置生效

启动Claude Code并验证:

claude

在对话中输入:

请总结你了解到的关于这个项目的所有信息

Claude应该能准确列出: - 技术栈(来自项目级CLAUDE.md) - 编码风格偏好(来自全局CLAUDE.md) - 测试规则(来自tests/CLAUDE.md) - 数据库规范(来自prisma/CLAUDE.md)

6.7 完整工作流程图

flowchart TB
    Start[项目启动] --> A[创建全局~/.claude/CLAUDE.md]
    A --> B[创建项目级CLAUDE.md]
    B --> C[创建目录级CLAUDE.md]
    C --> D[配置.gitignore]
    D --> E[提交到Git仓库]

    E --> F[开始日常开发]
    F --> G{任务复杂度}

    G -->|简单任务| H[单会话完成]
    H --> I[完成后/clear]

    G -->|中等任务| J[单会话推进]
    J --> K{上下文>60%}
    K -->|是| L["/compact 带保留提示"]
    K -->|否| M[继续工作]
    L --> M
    M --> N{任务完成}
    N -->|否| K
    N -->|是| O[/clear 新任务]

    G -->|复杂任务| P[拆分为3-5个子任务]
    P --> Q[子任务1: 分析规划]
    Q --> R[/clear]
    R --> S[子任务2: 核心实现]
    S --> T[/compact]
    T --> U[子任务3: 测试修复]
    U --> V[/clear]
    V --> W[全部完成]

    I --> X[项目结束]
    O --> X
    W --> X

    style Start fill:#e8f5e9
    style X fill:#e8f5e9
    style L fill:#fff9c4
    style R fill:#fff9c4
    style T fill:#fff9c4
    style V fill:#fff9c4

第七章 常见问题与排错指南

Q1:CLAUDE.md修改后不生效怎么办?

Claude Code在每次新会话启动时加载CLAUDE.md。如果你在会话进行中修改了CLAUDE.md,需要重启会话或执行 /clear 才能重新加载。

Q2:自动记忆文件在哪里?

位置在 .claude/memory/ 目录下,文件名通常是 YYYY-MM-DD.md 格式。如果没有看到这个目录,说明Claude Code还没有生成自动记忆。

Q3:/compact后Claude忘记了重要约定怎么办?

这通常说明该约定应该写入CLAUDE.md而不是只放在对话中。CLAUDE.md的内容不受压缩影响。将被压缩掉的重要信息写入CLAUDE.md:

## 重要约定(不要压缩丢弃)
- 支付模块必须使用decimal.js处理金额
- 所有API必须经过认证中间件

Q4:多个CLAUDE.md之间指令冲突怎么办?

遵循"具体优先"原则。例如: - 全局CLAUDE.md说"使用2空格缩进" - 项目CLAUDE.md说"Python文件使用4空格缩进"

项目级指令覆盖全局级。但最好的做法是避免冲突,在全局级只放真正跨项目通用的规则。

Q5:如何在团队中推广上下文工程?

推荐分三步走:

  1. 第一步:维护好项目级CLAUDE.md,在团队Code Review中要求审查CLAUDE.md的变更
  2. 第二步:建立CLAUDE.md模板,新项目基于模板创建
  3. 第三步:定期召开"上下文审查"会议,清理过时指令、补充新约定

Q6:上下文压缩会影响已经写入磁盘的代码吗?

不会。/compact 和 /clear 只影响Claude Code的对话上下文,不会撤销已经写入磁盘的文件修改。如果需要撤销代码修改,应该使用 /rewind 或 git checkout。


第八章 上下文工程进阶方向

掌握了基础的CLAUDE.md配置和记忆管理后,以下进阶方向值得探索:

  1. 自定义斜杠命令(.claude/commands/):将常见的上下文模式封装为可复用命令
  2. Hooks机制(.claude/hooks/):在工具调用前后自动执行上下文管理操作
  3. Skills系统:将复杂的上下文工程模式打包为可分享的Skills
  4. MCP服务器集成:通过外部工具扩展Claude Code的信息获取能力
  5. Headless模式(claude -p):在CI/CD中实现自动化上下文管理

这些进阶话题将在后续教程中逐一展开。


训练营适用性评估

项目 说明
适合训练营类型 AI辅助编程入门营、Claude Code实战营、团队AI工具推广培训
预计教学时长 3-4小时(含实操练习)
实操环节建议 学员带自己的项目,现场配置三级CLAUDE.md,体验/compact和/clear的效果
前置知识 基本的终端操作、Git基础、任意编程语言入门

参考来源

  1. Effective context engineering for AI agents — Anthropic — Anthropic官方关于上下文工程的核心方法论文章
  2. Using CLAUDE.md files: Customizing Claude Code for your codebase — Claude — 官方CLAUDE.md使用指南
  3. Using Claude Code: session management and 1M context — Claude — 官方会话管理和上下文压缩详解
  4. How Claude remembers your project — Claude Code Docs — Claude Code记忆系统官方文档
  5. 32 Claude Code Tricks That Actually Change How You Ship — MindStudio — 社区整理的Claude Code实用技巧合集

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入