Claude Code 进阶:CLAUDE.md 配置与上下文管理

用了一段时间 Claude Code 后,你会发现有些规则需要反复强调——"用中文回复""不要动配置文件""测试用 jest"。CLAUDE.md 和 Auto Memory 就是解决这个问题的:把规则写下来,让 AI 每次对话自动遵守。

一、CLAUDE.md 的三个层级

CLAUDE.md 是一种 Markdown 规则文件,有三个层级,优先级从高到低:

层级文件位置作用范围典型内容
全局~/.claude/CLAUDE.md所有项目语言偏好、通用编码风格、个人信息
项目级项目根目录/CLAUDE.md当前项目技术架构、项目约定、文件结构说明
子目录级子目录/CLAUDE.md该目录及子目录模块特定的规则、注意事项

全局 CLAUDE.md 示例

# 全局规则

- 始终使用简体中文回复
- 代码注释使用英文
- 优先使用函数式编程风格
- 不要使用 var,使用 const 或 let

项目级 CLAUDE.md 示例

# 项目:科研星河

## 技术栈
- 纯 HTML/CSS/JS 静态站点,无框架
- CSS 使用自定义属性(CSS Variables)
- 字体通过国内 CDN 加载

## 约定
- 修改 CSS 或 JS 文件后,同步更新 HTML 中的 ?v= 缓存时间戳
- 文件命名使用 kebab-case
- 导航栏和页脚由 main.js 动态注入

快速初始化

在项目根目录输入 /init,Claude Code 会自动分析项目结构并生成一份 CLAUDE.md,省去手动编写的麻烦。生成的文件作为起点,后续根据实际需求修改。

动态更新策略

CLAUDE.md 不是一劳永逸的。随着项目演进,你需要:

  • 添加新规则:当 AI 犯了重复错误,把纠错经验写入
  • 更新架构说明:新增模块或改变技术栈时同步更新
  • 精简过时规则:删除不再适用的条目,保持文件精炼

二、Auto Memory 自动记忆

CLAUDE.md 是你主动写的规则,Auto Memory 则是 AI 自动记录的经验。

开启方法

输入 /memory 命令,选择开启自动记忆。开启后,Claude Code 会在工作过程中自动记录:

  • 用户偏好:你说过"不喜欢浅色 UI",它会记住
  • 纠错反馈:你纠正过的错误,下次自动避免
  • 项目细节:重要的架构决策和技术选型
  • 外部资源:引用过的文档、API 地址等

记忆的工作机制

记忆文件存储在 .claude/projects/ 目录下,按项目隔离。关键设计:

  • 按需加载:不会每次都加载所有记忆,只注入与当前任务相关的部分
  • 不占用固定上下文:记忆通过索引按需读取,不会挤占上下文窗口
  • 可手动管理:按 Ctrl+O 可查看和编辑记忆文件

CLAUDE.md 与 Auto Memory 的关系

维度CLAUDE.mdAuto Memory
优先级最高,全部注入上下文次级,按需注入
创建方式手动编写AI 自动生成
适合内容不变的顶层规则动态积累的经验
版本管理建议纳入 Git在 .claude/ 中,通常不入库

两者配合使用效果最佳:CLAUDE.md 设定"法律",Auto Memory 记录"案例"。

三、上下文窗口管理

大模型有上下文长度限制(通常 200K token)。随着对话变长,上下文逐渐填满,AI 的响应速度和质量会下降。

监控上下文

  • /context — 查看当前上下文的详细占用情况
  • 界面上通常会显示上下文使用百分比

压缩上下文

当你感觉 AI 开始"遗忘"早期内容时:

/compact

这会压缩对话历史,保留关键信息,释放空间给新内容。建议在完成一个阶段性任务后主动执行一次。

清空重来

/clear

彻底清空对话,相当于重新开始。当你切换到完全不同的任务时使用。注意:清空后 AI 不再记得之前的对话内容(但 CLAUDE.md 和 Auto Memory 仍然有效)。

最佳实践

  1. 每完成一个功能点,执行 /compact 释放空间
  2. 上下文超过 70% 时主动干预
  3. 切换大任务时用 /clear 重置,避免旧上下文干扰
  4. 重要规则写进 CLAUDE.md,而非依赖对话记忆

下一篇将介绍 Claude Code 的高级功能:Skills 技能系统、MCP 外部工具连接、子代理和 Hooks 自动化。

返回博客列表