5个Claude Code实用技巧,让你的AI编程效率翻倍
假设你已经入门 Claude Code,能用它写代码、改 bug 了。但这就够了吗?今天分享 5 个进阶技巧,是很多老用户用了几个月才摸索出来的。掌握它们,你将从”会用”变成”用得好”。
技巧一:善用 CLAUDE.md——给 AI 一份”项目说明书”
这是什么?
CLAUDE.md 是放在项目根目录的 Markdown 文件,Claude Code 启动时会自动读取。你可以把它理解为给 AI 的”项目入职文档”。
没有 CLAUDE.md 时
AI 对你的项目一无所知,需要你每次对话都解释一遍背景、技术栈、代码风格、项目结构……效率极低。
有了 CLAUDE.md 后
AI 在对话开始前就已经了解了你的项目,直接进入正题。
怎么写一个好的 CLAUDE.md?
精简版(适合小项目):
# 项目名称:MyBlog
技术栈
- 前端:React 18 + TypeScript + Tailwind CSS
- 后端:Python FastAPI
- 数据库:PostgreSQL
- 部署:Docker + Nginx
项目结构
frontend/:React 前端代码
backend/:FastAPI 后端
docs/:项目文档
代码风格
- 使用 ESLint + Prettier(配置在
.eslintrc.js)
- 函数组件 + Hooks,不用 Class 组件
- API 路径统一
/api/v1/ 前缀
注意事项
- 所有 API 需要 JWT 认证
- 不要修改
config/production.yaml(由运维管理)
完整版(适合团队项目):
# MyBlog 项目文档
架构概述
(项目的整体架构说明)
开发环境搭建
(新人如何启动项目)
核心模块说明
(各模块的职责和关键文件)
测试策略
(测试框架、覆盖率要求、如何运行测试)
Git 工作流
(分支策略、commit 规范)
常见问题
(新人常踩的坑)
外部依赖
(第三方服务、API Key 存放位置等)
实战效果对比
场景:新开一个对话,让 AI 帮你加一个 API 接口。
| 无 CLAUDE.md | 有 CLAUDE.md | |
|---|---|---|
| 前期沟通 | 需要3-5轮解释项目背景 | 0轮,直接说需求 |
| 代码风格一致性 | 需要额外强调 | AI 自动遵守 |
| 错误率 | 较高(可能用错技术栈) | 低(AI 知道项目规范) |
| Token 浪费 | 大量 token 用来说明而不是干活 | 几乎都用在产出上 |
建议:花 10 分钟写一个 CLAUDE.md,后续能省下无数个 10 分钟。
技巧二:掌握 Skills 系统——让 AI 变身领域专家
什么是 Skills?
Skills 是 Claude Code 的”专业技能包”。你可以把它理解为给 AI 装上的”专业技能插件”。激活 Skill 后,AI 会自动按照该领域的最佳实践来工作。
内置 Skills 速览
# 查看所有可用 Skills
/help
或通过 CLI 列出
claude --list-skills
常用内置 Skills 包括:
TDD(测试驱动开发):先写测试再写代码code-review:系统化代码审查brainstorming:创意头脑风暴debugging:系统化 bug 排查
如何调用 Skill
在对话中直接说需求,Claude Code 会自动判断并加载对应 Skill:
"帮我审查一下这段代码" → 自动触发 code-review skill
"我想给这个模块加一个新功能,先讨论下方案" → 触发 brainstorming skill
或者用斜杠命令手动调用:
/code-review
/debugging
创建自定义 Skill(高阶用法)
你可以创建自己的 Skill,比如”React 组件开发规范”:
~/.claude/skills/ 目录下创建 react-component.md/react-component 调用---
name: react-component
description: React 组件开发规范
React 组件开发 Skill
规则
使用函数组件 + Hooks,避免 Class 组件
每个组件文件包含 TypeScript 类型定义
使用 Tailwind CSS(如项目已配置)
组件 Props 必须定义 interface
导出前加 displayName
包含基础的错误边界处理
遵循项目的目录结构约定
检查清单
- [ ] 是否有 TypeScript 类型?
- [ ] 是否处理了 loading 和 error 状态?
- [ ] 是否有必要的可访问性属性?
- [ ] 是否遵循了命名规范?
实战建议
- 为你常做的任务类型创建专用 Skill
- Skill 之间可以嵌套调用(比如
react-component中引用testing) - 定期更新 Skill,保持与团队规范同步
技巧三:活用管道操作——把 Claude Code 嵌入自动化流程
什么是管道操作?
Claude Code 不仅能交互使用,还能通过管道(pipe)接收输入、输出结果,让你把它嵌入到脚本和自动化流程中。
基本用法
1. 把文件内容直接发给 Claude:
# 让 Claude 分析一个日志文件
cat error.log | claude "帮我分析这些错误日志,找出根因"
让 Claude 审查代码变更
git diff | claude "审查这些变更,重点关注安全问题"
2. 把 Claude 的输出重定向到文件:
# 生成 README 并保存
claude "根据这个项目的代码生成一个 README.md" > README.md
生成测试代码
claude "为 src/utils.js 生成完整的单元测试" > src/__tests__/utils.test.js
3. 链式操作(多个命令串联):
# 让 Claude 分析代码,然后用结果搜索
git diff HEAD~5 | claude "总结这5个提交的主要改动点" | grep "重构"
实战场景
场景 1:自动化代码审查(Git Hook)
在 .git/hooks/pre-commit 中:
#!/bin/bash
提交前自动让 Claude 审查变更
DIFF=$(git diff --cached)
REVIEW=$(echo "$DIFF" | claude "审查这些代码变更,只列出严重问题。如果没有严重问题,输出 OK")
if [[ "$REVIEW" != *"OK"* ]]; then
echo "⚠️ Claude Code 审查发现问题:"
echo "$REVIEW"
echo ""
read -p "仍然提交?(y/n) " -n 1 -r
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
fi
场景 2:日志分析自动化
#!/bin/bash
每天分析昨天的错误日志,生成问题报告
YESTERDAY=$(date -d "yesterday" '+%Y-%m-%d')
cat /var/log/app/${YESTERDAY}.log | \
claude --model sonnet --effort medium \
"分析这些应用日志,按严重程度列出问题,并给出修复建议" \
> /reports/issues_${YESTERDAY}.md
场景 3:批量生成组件
# 从一个接口定义文件批量生成 React 组件
for api in $(cat api-list.txt); do
claude "根据接口名 $api 生成对应的 React 列表组件,包含分页、搜索、loading状态" \
> "src/components/${api}List.tsx"
done
管道模式的注意事项
- 管道模式下 Claude 不会修改你的文件,只会输出到 stdout
- 适合”生成型”任务,不太适合”修改型”任务
- 结合 shell 脚本可以实现强大的自动化
技巧四:配置 Hooks——关键节点自动触发动作
什么是 Hooks?
Hooks 是在特定事件发生时自动执行的脚本或命令。比如:
- 每次对话开始前,自动加载最新的项目状态
- 每次文件修改后,自动运行测试
- 每次对话结束后,自动保存总结
Hooks 的配置位置
在 ~/.claude/settings.json 中:
{
"hooks": {
"SessionStart": [
{
"command": "echo '项目状态:' && git status --short",
"description": "显示 git 状态"
}
],
"PreToolUse": [
{
"matcher": "Write|Edit",
"command": "echo '⚠️ 即将修改文件,当前分支:' && git branch --show-current",
"description": "修改文件前显示当前分支"
}
],
"PostToolUse": [
{
"matcher": "Write|Edit",
"command": "npm run lint --silent 2>/dev/null || true",
"description": "文件修改后自动运行 lint"
}
],
"Stop": [
{
"command": "echo '=== 本次对话总结 ===' && echo '已完成的改动已保存'",
"description": "对话结束时的提示"
}
]
}
}
常用 Hooks 场景
| Hook | 触发时机 | 实用场景 |
|---|---|---|
SessionStart |
对话开始时 | 显示项目状态、加载最新变更 |
PreToolUse |
AI 使用工具前 | 修改文件前备份、执行前确认 |
PostToolUse |
AI 使用工具后 | 自动运行 lint、format、test |
Stop |
对话结束时 | 自动生成总结、记录耗时 |
Notification |
特定事件 | 长时间任务完成时桌面通知 |
进阶示例:自动化测试验证
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"command": "if [[ '$CLAUDE_TOOL_INPUT_FILE_PATH' == *.py ]]; then python -m pytest $CLAUDE_TOOL_INPUT_FILE_PATH -q 2>&1 | tail -5; fi",
"description": "修改 Python 文件后自动运行相关测试"
}
]
}
}
使用 Hooks 的注意事项
- Hooks 中的命令失败不会中断 Claude Code 的正常工作
- 避免在 Hooks 中执行耗时操作(会拖慢响应速度)
- PreToolUse 可以做”拦截”(返回非0退出码阻止操作)
- 定期检查 Hooks 是否还在正常工作
技巧五:掌握对话管理——不让上下文变成”垃圾堆”
问题:为什么 Claude Code 越用越”笨”?
很多用户发现,一个对话进行到后面,AI 的回答质量会下降。原因是:
- 上下文膨胀:对话历史越来越长,token 被无关信息占满
- 话题漂移:AI 在长对话中容易”走神”
- 成本递增:每次对话都把整段历史重复发送
解决方案
1. 及时清理对话 (/clear)
完成一个独立任务后立即清理:
(已完成用户管理模块的开发)
/clear
好的,我们开始下一个任务:订单管理模块
2. 善用上下文压缩 (/compact)
当对话变长但还不能清空时(因为还需要前面的上下文):
/compact
Claude Code 会自动生成当前对话的摘要,释放之前占用的 token 空间。
3. 分任务开新会话
不要把所有事放在一个会话里!
❌ 不好:在同一个会话中:写登录 → 写注册 → 改数据库 → 修CSS → 加测试
✅ 好:
会话1 → 专注登录模块开发 → /clear → 会话2 → 专注注册模块
新终端窗口 → 专门做 CSS 调整
新终端窗口 → 专门写测试
4. 使用 /resume 恢复而不是让对话永远不死
# 退出时保存
/exit
下次回来恢复
claude --resume
完成任务后果断 /clear
5. 小任务用单次模式
# 简单问题不要开交互会话
claude "解释一下这个正则表达式:^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
而不是
claude # 进入交互模式
然后问问题
然后 /exit
对话管理最佳实践总结
| 场景 | 推荐做法 |
|---|---|
| 独立小任务(<5分钟) | 单次模式 claude "问题" |
| 中型任务(5-30分钟) | 一个会话,用完 /clear |
| 大型任务(>30分钟) | 按阶段分多个会话,必要时 /compact |
| 跨天任务 | /exit 保存 → 下次 claude --resume → 完成后 /clear |
| 并行任务 | 开多个终端窗口,每个窗口独立会话 |
附赠技巧(Bonus):让 Claude Code 更顺手的 3 个配置
1. 设置别名(更快启动)
在 ~/.bashrc 或 ~/.zshrc 中:
# 快速启动别名
alias cc='claude'
alias cc-fast='claude --model haiku --effort low'
alias cc-pro='claude --model opus --effort high'
alias cc-review='claude --model sonnet --effort high'
使用:
cc # 默认模式
cc-fast # 快速简单问题
cc-pro # 复杂任务
cc-review # 代码审查
2. 配置模型默认值
在 ~/.claude/settings.json 中:
{
"model": "claude-sonnet-4-20250514",
"defaultEffort": "low",
"enableThinking": true
}
3. 开启自动补全提示
# 在 settings.json 中设置
{
"autoSuggest": true
}
这会让你在终端输入命令时获得 AI 建议。
总结:从”会用”到”用得好”
五个技巧回顾:
| # | 技巧 | 一句话总结 | 效率提升 |
|---|---|---|---|
| 1 | CLAUDE.md | 给 AI 写好”项目说明书” | ⭐⭐⭐⭐⭐ |
| 2 | Skills 系统 | 让 AI 变身专业领域专家 | ⭐⭐⭐⭐ |
| 3 | 管道操作 | 把 AI 嵌入自动化流程 | ⭐⭐⭐⭐ |
| 4 | Hooks | 关键节点自动触发动作 | ⭐⭐⭐ |
| 5 | 对话管理 | 不让上下文变成垃圾堆 | ⭐⭐⭐⭐⭐ |
这些技巧相互配合,效果更好。比如:
CLAUDE.md+ Skills = AI 在项目语境下以专业模式工作- 管道操作 + 对话管理 = 高效批量处理 + 不会上下文爆炸
- Hooks + CLAUDE.md = 自动化质量保障
最重要的建议:不要一次性全部尝试。每周掌握一个技巧,一个月后你的 Claude Code 使用效率会有质的飞跃。
免责声明:本文基于 Claude Code 2025 年 6 月版本撰写。功能细节可能随版本更新变化,请以 claude --help 和官方文档为准。本文由作者深入使用后撰写,AI 辅助编辑。