别再瞎折腾了!这份保姆级 Claude Code 调教指南,让你的开发效率提升 200%

cover

我用 Claude Code 的第一个月,基本上是这么过的:

打开终端,输入 claude,然后开始聊天。想到什么说什么,改到哪算哪。Claude 写的代码风格每次都不一样,有时候连项目用的框架都搞错——明明是 Vitest,它给我写了 Jest 的测试。我花了大量时间”纠正”它,而不是让它帮我”写代码”。

用了一个月,我的结论是:这玩意不太行啊。

但我看到别人用 Claude Code,一个下午重构了整个项目。一个晚上写完了带测试的完整功能。甚至有人用 16 个 AI 实例并行,从零写了一个 C 编译器。

差距在哪?

不是模型不行,是我没”调教”它。

Claude Code 不是一个开箱即用的工具。它更像一台裸机——出厂状态能跑,但要跑得好,你需要装系统、配环境、写规则。这篇文章,就是那份”装系统”的指南。

第一层:CLAUDE.md——给 AI 写一份员工手册

如果你只做一件事来提升 Claude Code 的效率,那就是写好 CLAUDE.md

2026 年的社区共识是:CLAUDE.md 的重要性等同于 .gitignore。不写 CLAUDE.md 就用 Claude Code,就像招了一个新人,不给他任何文档,不告诉他团队规范,然后指望他第一天就写出符合项目风格的代码。

CLAUDE.md 是一个 Markdown 文件,放在项目根目录下。Claude Code 每次启动时都会读取它。它的作用是:告诉 AI 你的项目是怎么运转的。

写什么?

SFEIR Institute 的研究表明,一个结构良好的 CLAUDE.md 可以减少 25% 的重复指令时间。但前提是——你得写对。

该写的:

  • 构建和运行命令(npm run devpytest --cov
  • 代码风格规范(TypeScript 严格模式、函数命名用驼峰)
  • 项目架构决策(为什么用 Redis 不用 Memcached)
  • 测试要求(必须写单元测试、用 Vitest 不用 Jest)
  • Git 规范(分支命名、Commit 格式)
  • 容易踩的坑(某个 API 有已知 Bug、某个目录不能改)

不该写的:

  • Claude 自己能从代码推断出来的东西
  • 标准语言规范(比如”Python 用缩进”)
  • 经常变化的信息
  • 详细的 API 文档(用链接代替)
  • “写出干净的代码”这种废话

Morph 团队有一句话说得好:最好的 CLAUDE.md 是删出来的,不是加出来的。

怎么开始?

最快的方式:在项目目录里运行 /init。Claude 会扫描你的代码库,自动生成一份初始的 CLAUDE.md。然后你逐行审查,删掉废话,补上 Claude 猜不到的规则。

三层结构

Claude Code 支持 CLAUDE.md 的层级加载:

1
2
3
~/.claude/CLAUDE.md          ← 全局配置(你的个人习惯)
./CLAUDE.md ← 项目配置(团队规范)
./CLAUDE.local.md ← 本地配置(不进 Git,个人备注)

全局文件写你所有项目通用的规则,比如”我喜欢用函数式风格”、”Commit 用英文”。项目文件写团队规范。本地文件写你自己的临时备注。

TON Foundation 的分析负责人 Daniil Okhlopkov 分享过他的经验:”CLAUDE.md 不是告诉 AI 它是什么。而是告诉 AI 你的世界是怎么运转的。”

第二层:Skills——给 AI 装技能包

CLAUDE.md 解决了”AI 每次都读取的基础规则”。但有些工作流不需要每次都加载——比如写博客、做 Code Review、生成测试报告。这些是特定场景下才需要的。

这就是 Skill 的用武之地。

Skill 就是一个 Markdown 文件,定义了一个可复用的工作流。 放在 .claude/skills/ 目录下,Claude Code 自动识别。你可以用 /skill-name 来调用它,也可以让 Claude 根据上下文自动触发。

1
2
3
4
5
6
7
.claude/skills/
├── code-review/
│ └── SKILL.md ← 输入 /code-review 触发
├── writing-agent/
│ └── SKILL.md ← 输入 /writing-agent 触发
└── deploy/
└── SKILL.md ← 输入 /deploy 触发

Claude Code 还自带了几个好用的内置 Skill:

  • /simplify:审查你最近改的代码,找优化机会,自动修复。它会启动 3 个并行的审查 Agent,从不同角度检查代码质量
  • /review:给你的代码做一次正式的 Code Review,找 Bug、逻辑错误、边界情况
  • /batch:把大规模改动拆成 5-30 个独立单元,启动多个 Agent 并行执行

CLAUDE.md 和 Skill 的关系,就像公司的员工手册和特定岗位的操作手册。 员工手册人人要看,操作手册只有做那件事的时候才翻开。

第三层:MCP——给 AI 接外挂

默认情况下,Claude Code 只能读文件、跑命令。但通过 MCP(Model Context Protocol),你可以让它连接几乎任何外部服务。

MCP 就是 Claude Code 的插件系统。

在项目根目录创建 .mcp.json,配置你需要的服务:

1
2
3
4
5
6
7
8
9
10
11
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-brave-search"],
"env": {
"BRAVE_API_KEY": "your-key"
}
}
}
}

配完之后,Claude 就能用 Brave 搜索引擎搜索网页了。类似的,你还可以接入:

  • 数据库 MCP:让 Claude 直接查 PostgreSQL、MySQL
  • Playwright MCP:让 Claude 控制浏览器,截图、点击、填表
  • Fetch MCP:让 Claude 抓取网页内容
  • Telegram MCP:让 Claude 读写 Telegram 消息

有个开发者分享了他的用法:给项目配了一个 PostgreSQL MCP,之后直接对 Claude 说”帮我查一下 users 表里最近注册的 10 个用户”,Claude 就能自动执行 SQL 查询,不需要切换到数据库客户端。

但有一点要注意:MCP 服务器会占用上下文空间。 装太多反而拖累性能。社区的建议是:保持 MCP 精简,一个好用的服务器胜过五个半生不熟的。

第四层:Hooks——给 AI 装护栏

CLAUDE.md 里的规则是”建议性”的。Claude 大多数时候会遵守,但偶尔会忘。

Hooks 不一样。Hooks 是确定性的——它们每次都会执行。

Hooks 是绑定在 Claude Code 生命周期事件上的 Shell 脚本。比如:

  • 每次 Claude 编辑文件后,自动跑 Lint
  • 每次 Claude 准备提交代码前,检查是否包含敏感文件
  • 每次 Claude 结束一轮工作后,发送通知

一个实用的例子——防止 Claude 提交密钥文件:

1
2
3
4
5
# 检查暂存区是否包含敏感文件
if git diff --cached --name-only | grep -qE '\.(env|key|pem)$'; then
echo "BLOCKED: 检测到敏感文件"
exit 1
fi

有个开发者说得好:”Hooks 是让 Claude Code 无人值守运行的前提。没有 Hooks,你不敢让 AI 自己跑。有了 Hooks,你能安心去喝咖啡。”

CLAUDE.md 是告诉 AI “应该”怎么做。Hooks 是确保 AI “必须”怎么做。

第五层:上下文管理——最被低估的技能

一个 2026 年的调查发现:66% 的开发者遇到过 AI 解决方案”几乎对了但又不完全对”的问题。45% 的人说调试 AI 写的代码比自己写还慢。

根因不是模型不行。是上下文被污染了。

Claude Code 有 20 万 Token 的上下文窗口。听起来很大,但一个调试会话读几十个文件后,Token 就消耗大半了。当上下文满载时,Claude 的表现会明显下降。

几个关键的上下文管理策略

1. 每个任务开新会话。 这是高手们反复强调的第一条规则。长会话会退化。与其管理退化,不如预防它。

2. 用 /compact 主动压缩。 不要等自动压缩。上下文用到 50%-60% 时,主动跑一次 /compact。可以带指令压缩:

1
/compact 保留架构决策和待办事项,丢掉调试过程

3. 用 Subagent 做搜索。 让 Claude 搜索代码库时,直接在主会话搜索会吃掉大量上下文。用 Subagent 在独立的上下文窗口里搜索,只返回一段总结。能省 40% 以上的 Token。

4. 创建 .claudeignore。 把不需要 Claude 读取的文件排除掉:

1
2
3
4
5
6
# .claudeignore
package-lock.json
yarn.lock
*.min.js
dist/
node_modules/

一个 package-lock.json 就能吃掉将近一半的上下文窗口。

5. 两次纠正规则。 如果你在同一个会话里纠正了 Claude 两次以上的同一个问题,说明上下文已经被失败的尝试搞乱了。跑 /clear,用更好的提示词重新开始。一个干净的新会话,几乎总是优于一个积累了大量纠正的长会话。

一张决策表:什么时候用什么

看到这里,你可能觉得有点晕。CLAUDE.md、Skills、MCP、Hooks——这么多东西,什么时候该用哪个?

机制 本质 加载方式 适合场景
CLAUDE.md 项目的永久记忆 每次会话自动加载 编码规范、架构决策、构建命令
Skills 可复用的工作流 按需加载,匹配时触发 代码审查、写文章、生成报告
MCP 外部服务连接器 配置后常驻 搜索引擎、数据库、浏览器
Hooks 确定性护栏 特定事件自动触发 Lint 检查、安全拦截、通知
/compact 上下文清理 手动触发 长会话中途整理
Subagent 独立的工人 主 Agent 委派 代码搜索、并行任务

GenAI Unplugged 的一篇深度指南总结得很好:”CLAUDE.md 管记忆,Skills 管流程,Hooks 管纪律,Subagent 管分工。

写在最后

回到开头的问题:为什么别人用 Claude Code 效率那么高?

答案不是他们的提示词写得更好。是他们花了时间搭系统。

CLAUDE.md 让 AI 理解项目。Skills 让 AI 执行流程。MCP 让 AI 连接世界。Hooks 让 AI 遵守纪律。上下文管理让 AI 保持清醒。

这五层加在一起,Claude Code 就不再是一个”聊天机器人”,而是一个真正的开发伙伴。

你不需要一口气搭完。从 CLAUDE.md 开始。 跑一次 /init,花 10 分钟精简,你就能立刻感受到区别。然后根据需要,逐步加上 Skills、MCP、Hooks。

我自己搭完这套体系之后,最明显的变化不是”效率提升了多少”,而是不再需要每次开会话都重新解释项目背景了。那种每次都要从头说”我们用 TypeScript 严格模式、测试用 Vitest”的重复感,消失了。这个感受比任何效率数字都直接。