前言
用 Claude Code 一段时间后,你会发现它远不止是一个"终端里的 ChatGPT"。它是一个可编程的 Agent 运行时,配置得当的话,效率能翻好几倍。
这篇文章总结了我从日常使用中提炼出的进阶技巧,从配置优化到工作流设计,帮你把 Claude Code 用到极致。
一、CLAUDE.md — 你的第一个效率杠杆
1.1 三层配置体系
Claude Code 的 CLAUDE.md 有三个层级,优先级从高到低:
~/.claude/CLAUDE.md # 全局配置(所有项目生效)
项目根目录/CLAUDE.md # 项目级配置(团队共享)
子目录/CLAUDE.md # 目录级配置(模块专属)
最佳实践:
- 全局 CLAUDE.md 放通用偏好(语言、代码风格、commit 习惯)
- 项目 CLAUDE.md 放技术栈、架构约定、关键路径
- 子目录 CLAUDE.md 放模块特定规则(如
components/CLAUDE.md写组件规范)
1.2 写好 CLAUDE.md 的关键
别把 CLAUDE.md 写成文档,把它当成给 AI 的"工作手册":
# 项目:我的博客
## 技术栈
- Next.js 15 (App Router) + TypeScript
- Tailwind CSS v4(无 tailwind.config.js,用 CSS @import)
- next-intl 做 i18n,支持 zh/en
## 代码规范
- 组件用 PascalCase,工具函数用 camelCase
- 优先用 server component,只在需要交互时用 'use client'
- 提交信息用中文,格式:类型: 描述
## 关键路径
- 博客内容:content/zh/*.mdx 和 content/en/*.mdx
- 路由结构:app/[locale]/blog/[slug]/page.tsx
- 国际化配置:i18n/routing.ts
## 禁止事项
- 不要修改 proxy.ts(中间件配置)
- 不要在 server component 中使用 useState/useEffect核心原则: 具体、可执行、有约束。模糊的指令("写好代码")不如明确的规则("函数不超过 30 行")。
二、Hooks — 自动化你的工作流
Hooks 是 Claude Code 的"事件钩子",在特定操作前后自动执行命令。
2.1 配置位置
~/.claude/settings.json # 全局 hooks
项目根目录/.claude/settings.json # 项目级 hooks
2.2 实用 Hook 示例
保存文件后自动格式化:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"command": "npx prettier --write \"$CLAUDE_FILE_PATH\""
}
]
}
}提交前自动跑 lint:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -q 'git commit'; then npx eslint . --quiet; fi"
}
]
}
}防止危险操作:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -qE 'rm -rf|git push --force|git reset --hard'; then echo 'BLOCKED: 危险操作被拦截' >&2; exit 1; fi"
}
]
}
}2.3 Hook 事件类型
| 事件 | 触发时机 | 典型用途 |
|---|---|---|
PreToolUse | 工具调用前 | 拦截危险操作、参数校验 |
PostToolUse | 工具调用后 | 自动格式化、lint、日志 |
Notification | 任务完成通知时 | 发送通知到 Slack/微信 |
Stop | 对话结束时 | 清理临时文件 |
三、上下文管理 — 最被低估的技能
Claude Code 的上下文窗口是有限的。管理好上下文,直接决定输出质量。
3.1 核心命令
/clear # 清空当前对话上下文(最常用)
/compact # 压缩上下文,保留关键信息
/context # 查看当前上下文使用情况
/resume # 恢复之前的会话3.2 什么时候该 /clear
- 切换到完全不同的任务时
- 上下文快满了(响应变慢是信号)
- 之前的对话引入了错误方向
3.3 什么时候该 /compact
- 当前任务还没完成,但上下文快满了
- 想保留关键决策和进度,但丢掉中间过程
3.4 喂上下文的技巧
# 把文件内容直接喂给 Claude Code
cat src/lib/api.ts | claude "分析这个文件的错误处理"
# 把 git diff 喂进去做 code review
git diff main | claude "review 这些改动"
# 把错误日志喂进去排查
npm run build 2>&1 | claude "帮我分析构建错误"四、多 Agent 并行 — 真正的效率倍增器
4.1 Plan Mode(规划模式)
按两次 Shift+Tab 进入 Plan Mode,Claude 会先分析再动手:
- 适合复杂重构、新功能设计
- 先看方案,确认后再执行
- 避免"写了一堆然后推倒重来"
4.2 并行 Agent
Claude Code 可以同时启动多个子 Agent 处理独立任务:
你:帮我同时做这三件事:
1. 给 PostCard 组件加上骨架屏
2. 优化 getPostsByLocale 的性能
3. 写一个 RSS feed 生成器
Claude Code 会自动判断这三个任务互不依赖,并行处理。
4.3 多终端并行
Claude Code 创始人 Boris 的工作方式:
- 本地开 2-3 个 Claude Code 终端,各自处理不同模块
- 同时在 claude.ai/code 上开 5-10 个 Web 会话
- 用
--resume在本地和 Web 之间切换上下文
# 终端 1:处理前端
claude "重构 Navigation 组件"
# 终端 2:处理后端
claude "优化 MDX 解析性能"
# 终端 3:处理测试
claude "给 posts.ts 写单元测试"五、自定义 Slash Commands(Skills)
5.1 创建自定义命令
在项目根目录创建 .claude/commands/ 目录,每个 .md 文件就是一个命令:
.claude/commands/
review.md # /review
test.md # /test
deploy.md # /deploy
示例:/review 命令
<!-- .claude/commands/review.md -->
请对当前 git diff 中的改动进行 Code Review:
1. 检查是否有安全漏洞(XSS、注入等)
2. 检查是否有性能问题
3. 检查是否符合项目代码规范
4. 给出改进建议
使用 git diff --staged 获取待提交的改动。示例:/test 命令
<!-- .claude/commands/test.md -->
为 $ARGUMENTS 编写单元测试:
- 使用 vitest 框架
- 覆盖正常路径和边界情况
- mock 外部依赖
- 测试文件放在同目录的 __tests__ 下使用时:/test src/lib/posts.ts,$ARGUMENTS 会被替换为后面的参数。
5.2 团队共享命令
把 .claude/commands/ 提交到 Git,团队所有人都能用同一套命令,统一工作流。
六、MCP Server — 扩展 Claude Code 的能力边界
MCP(Model Context Protocol)让 Claude Code 接入外部工具和数据源。
6.1 配置方式
在 .claude/settings.json 中添加:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your-token"
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/docs"]
}
}
}6.2 常用 MCP Server
| Server | 用途 |
|---|---|
server-github | 操作 GitHub Issues/PR/Repo |
server-filesystem | 访问指定目录外的文件 |
server-postgres | 直接查询 PostgreSQL |
server-brave-search | 网络搜索 |
server-memory | 持久化记忆存储 |
6.3 实际场景
你:查看 GitHub 上最近的 5 个 issue,挑出 bug 类型的,分析优先级
你:查询数据库里最近 7 天的用户注册数据,生成趋势分析
有了 MCP,Claude Code 不再局限于本地文件系统。
七、高效 Prompt 技巧
7.1 任务拆解
差的 prompt:
帮我做一个博客搜索功能
好的 prompt:
给博客添加全文搜索功能:
1. 使用 Pagefind 做静态搜索索引
2. 在 SearchBar 组件中集成搜索 UI
3. 搜索结果高亮匹配关键词
4. 支持中英文搜索
先看一下现有的 SearchBar.tsx 和构建流程,给我一个实现方案。
7.2 给约束条件
重构 Navigation 组件,要求:
- 保持现有 API 不变
- 不引入新依赖
- 移动端用 hamburger menu
- 所有改动需要类型安全
7.3 利用管道输入
# 让 Claude 基于现有代码风格写新代码
cat src/components/PostCard.tsx | claude "参考这个组件的风格,写一个 TagBadge 组件"
# 让 Claude 解释复杂的报错
npm run build 2>&1 | claude "解释这些错误并给出修复方案"
# 让 Claude review PR
gh pr diff 42 | claude "review 这个 PR"7.4 迭代式开发
不要试图一次性完成所有事情:
第一轮:先实现核心功能,跑通 happy path
第二轮:加上错误处理和边界情况
第三轮:优化性能和用户体验
第四轮:写测试
每轮之间可以 /compact 压缩上下文,保持 Claude 的注意力集中。
八、键盘快捷键速查
| 快捷键 | 功能 |
|---|---|
Tab | 接受建议 |
Shift+Tab x1 | 切换 Auto-accept 模式 |
Shift+Tab x2 | 切换 Plan 模式 |
Ctrl+C | 中断当前操作 |
Ctrl+L | 清屏(不清上下文) |
Esc | 取消当前输入 / 中断 |
九、实战工作流模板
9.1 Bug 修复流程
1. 把报错信息喂给 Claude
2. Claude 定位问题文件和原因
3. 进入 Plan Mode 确认修复方案
4. 执行修复
5. /test 跑测试验证
6. /review 自查改动
7. /commit 提交
9.2 新功能开发流程
1. 用自然语言描述需求和约束
2. Plan Mode 设计方案
3. 确认后执行实现
4. 分模块迭代(核心 → 边界 → 优化 → 测试)
5. /review + /commit
9.3 代码重构流程
1. 让 Claude 先分析现有代码结构
2. Plan Mode 规划重构步骤
3. 每步重构后跑测试确保不破坏功能
4. /compact 保持上下文清爽
5. 最终 /review 全量检查
十、常见误区
- 一次塞太多任务 — Claude 一次处理一个明确任务效果最好
- 不清上下文 — 上下文污染会导致输出质量下降,该
/clear就/clear - 不写 CLAUDE.md — 每次都重复说明项目背景,浪费 token 也浪费时间
- 不用 Plan Mode — 复杂任务直接开干,容易走弯路
- 忽略 Hooks — 手动跑 lint/format/test,不如自动化
- 不拆分任务 — "帮我做一个完整的电商网站" 不如拆成 20 个小任务