第 02 / 08 课
让 Claude Code 记住你的项目:CLAUDE.md 与上下文
Claude Code 的「记性」有限,对话越长越贵越容易跑偏。这一课教你用 CLAUDE.md 给它长期记忆,用 /clear 和 /compact 管好上下文。
上一课你已经跑通了第一个需求。但你可能发现:关掉再打开,它就把你的项目忘得一干二净;对话聊久了,它还会变慢、甚至开始答非所问。
这一课解决两件事:怎么让它长期记住你的项目,怎么管好对话的「记忆容量」。
为什么要管「上下文」
Claude Code 每次回答,都要把「你的话 + 它读过的代码 + 历史对话」一起塞进它的工作记忆(上下文)。这个记忆是有限的:
- 对话越长、读的文件越多,记忆越满 → 越慢、越费钱、越容易丢三落四
- 关掉会话,这段记忆就清空了
所以两个动作很关键:用 CLAUDE.md 做永久笔记,用命令清理临时记忆。
CLAUDE.md:项目的永久说明书
在项目根目录放一个 CLAUDE.md 文件,Claude Code 每次启动都会自动读它。把它当成给 AI 的项目交接文档,写上:
- 这个项目是干嘛的、技术栈是什么
- 你的代码习惯(比如「用 2 空格缩进」「注释写中文」)
- 一些约定(比如「改完跑
npm test」「不要动 config/ 目录」)
最省事的办法:在项目里输入斜杠命令 /init,它会分析你的代码、自动生成一份 CLAUDE.md 草稿,你再改改就行。
还有个位置:
~/.claude/CLAUDE.md是「全局笔记」,所有项目都生效,适合写你个人的通用习惯;项目里的CLAUDE.md写这个项目专属的事,还能跟着 git 分享给队友。
坑:别把 CLAUDE.md 写成长篇大论(几百行)。它每次都占记忆,太长反而让 Claude 抓不住重点。精简、只写真正重要的约定。
@ 引用:让它去读某个文件
聊天时想让它参考某个文件,直接打 @ 再选文件,比如:
照 @src/api/user.ts 的写法,再帮我写一个 order.ts
它就会先读那个文件再动手,不用你复制粘贴。
三个管「记忆」的命令
/context—— 看现在记忆用了多少(快满了就该清理)/compact—— 对话太长时,把前面的历史压缩成摘要、保留关键信息继续聊。最常用。/clear—— 彻底清空对话、从零开始(CLAUDE.md 仍然保留)。换一个全新任务时用。
新人最容易搞混 /clear 和 /compact:
- 还想接着这个任务、只是嫌历史太长 → 用
/compact(它记得来龙去脉) - 这个任务做完了、要开新的 → 用
/clear(干净利落)
这一课记住
- CLAUDE.md = 给 AI 的项目交接文档,
/init一键生成,精简为王 @文件让它去读指定文件,省去复制粘贴- 嫌对话长:接着干用
/compact,换任务用/clear
下一课:怎么让 Claude Code 先把方案想清楚、你点头再动手,避免它一上来就乱改。