Claude Code 高效使用技巧
效果翻倍、Token 省一半
Claude Code 是 Anthropic 推出的 AI 编程助手,能直接在终端中帮你写代码、修 Bug、重构项目。但用不好,不仅效果差,还会白白浪费大量 Token。这篇文章总结了日常使用中总结的高效技巧,帮你把 Claude Code 用到极致。
// 精准描述需求
一、学会精准描述需求
Claude Code 的效果好坏,80% 取决于你怎么描述需求。
❌
帮我优化一下这个函数这句话太模糊了。Claude Code 不知道你要优化什么——性能?可读性?内存占用?兼容性?
✅
优化这个函数的性能:
- 当前处理 10000 条数据需要 3 秒,目标降到 500ms 以内
- 不改变函数签名和返回值
- 优先考虑算法优化,其次考虑缓存核心原则:5W1H
| 要素 | ||
| 说明 | ||
| 示例 | ||
| What | 做什么 | 优化排序函数 |
| Why | 为什么 | 当前耗时 3s,太慢 |
| Where | 在哪个文件 | src/utils/sort.ts |
| When | 什么场景 | 处理大数据集时 |
| Which | 有什么约束 | 不改变函数签名 |
| How | 期望的结果 | 降到 500ms 以内 |
描述越具体,Claude Code 给出的方案越精准,来回修改的次数越少,Token 自然省了。
// @引用文件
二、善用 @ 引用文件和上下文
Claude Code 支持用 @ 符号引用文件,让 AI 知道你在说什么。
常用 @ 命令
@file.ts # 引用单个文件
@src/utils/ # 引用整个目录
@package.json # 引用配置文件
@git diff # 引用 Git 差异
@git log -5 # 引用最近 5 条提交记录为什么这能省 Token?
- 不用每次把代码复制粘贴到对话中
- Claude Code 只读取引用的文件,不会扫描整个项目
- 避免因为上下文不足导致的错误理解
@src/api/user.ts 帮我给这个模块添加分页功能,
参考 @src/api/order.ts 的分页实现方式// 拆分任务
三、拆分任务,一次只做一件事
这是最容易被忽略的省 Token 技巧。
❌
帮我:
1. 给用户模块添加分页
2. 写单元测试
3. 优化 API 响应速度
4. 修改前端列表组件
5. 更新文档一次性给太多任务,Claude Code 很容易漏掉需求、前后不一致、生成大量无用代码、消耗大量 Token。
✅
第一步:给用户模块添加分页,每页 20 条,支持页码跳转第二步:为刚才的分页功能写单元测试💡 一次一个任务,完成确认后再进入下一步。这样不仅省 Token,质量也更高。
// CLAUDE.md
四、用 CLAUDE.md 项目记忆文件
Claude Code 支持在项目根目录放一个 CLAUDE.md 文件,写入项目相关的上下文信息。
推荐在 CLAUDE.md 中写什么?
# 项目说明
- 技术栈:Next.js 14 + TypeScript + Prisma + PostgreSQL
- 代码规范:使用 ESLint + Prettier,单引号,2 空格缩进
- 命名规范:组件用 PascalCase,函数用 camelCase
- 测试框架:Vitest
- API 风格:RESTful,返回 JSON 格式统一为 { code, data, message }
- 不要修改 migration 文件
- 提交信息格式:feat/fix/docs: 描述这有什么好处?
- Claude Code 每次对话都会自动读取 CLAUDE.md
- 不用每次重复解释项目规范
- 生成的代码风格一致
- 大幅减少来回沟通的 Token 消耗
// /命令
五、掌握 Claude Code 的 / 命令
Claude Code 内置了一些快捷命令,能帮你省很多事。
| 命令 | ||
| 作用 | ||
| 省 Token 的原理 | ||
| /compact | 压缩对话历史 | 减少上下文长度,降低后续请求的 Token 消耗 |
| /clear | 清空对话历史 | 重新开始,避免无关上下文干扰 |
| /bug | 自动诊断 Bug | 比手动描述问题更精准 |
| /review | 代码审查 | 自动检查当前修改 |
| /init | 初始化 CLAUDE.md | 自动生成项目配置文件 |
什么时候用 /compact?
当你发现对话变得很长、Claude Code 开始"忘记"之前的约定时,执行 /compact。它会压缩历史对话,保留关键信息,大幅减少后续请求的 Token 消耗。
// 先理解再动手
六、让 Claude Code 先理解再动手
很多人犯的错误是:上来就让 Claude Code 写代码。
✅
先看看 src/api/user.ts 和 src/types/user.d.ts,
理解现有的用户模块结构,然后告诉我你打算怎么实现分页功能,
我确认后再开始写代码- 避免写出来不符合预期的代码
- 减少「写错了删掉重来」的 Token 浪费
- 你有机会提前纠正思路偏差
💡 先对齐理解,再开始编码。这一条能帮你省掉至少 30% 的无效 Token。
// 模型选择
七、选择合适的模型
| 模型 | ||
| 适用场景 | ||
| Token 消耗 | ||
| Claude Sonnet | 日常开发、代码生成、Bug 修复 | 中等 |
| Claude Opus | 复杂架构设计、大型重构 | 较高 |
| Claude Haiku | 简单修改、格式化、快速问答 | 最低 |
省钱策略
- 简单任务用 Haiku:改个变量名、格式化代码、写个简单函数
- 日常开发用 Sonnet:功能开发、Bug 修复、写测试
- 复杂任务才用 Opus:架构设计、大规模重构、复杂算法
切换模型:/model claude-3-haiku-20240307
// 避免 Token 浪费
八、避免常见的 Token 浪费
1. 不要反复解释同样的东西
把项目规范写在 CLAUDE.md 里(见第四节),而不是每次对话都说一遍。
2. 不要让 Claude Code 做它不擅长的事
Claude Code 擅长写代码,不擅长:运行大型测试套件(本地跑更快)、处理超长文件(超过 500 行的文件先拆分)、做设计决策(你来做决策,它来执行)。
3. 不要在对话中粘贴大段代码
用 @ 引用文件,不要复制粘贴。粘贴的代码会重复占用 Token。
4. 及时清理对话
对话超过 20 轮交互后,用 /compact 压缩,或 /clear 重新开始。
// Prompt 模板
九、实用 Prompt 模板
以下是日常使用中总结的高效 Prompt 模板,可以直接复制使用:
📝 写新功能
在 @src/api/user.ts 中添加一个根据邮箱查询用户的功能。
要求:
- 函数名:getUserByEmail
- 参数:email: string
- 返回值:User | null
- 如果用户不存在返回 null,不要抛异常
- 参考现有的 getUserById 的实现风格🐛 修 Bug
@src/api/order.ts 第 45 行的 createOrder 函数在并发调用时会出现数据重复插入。
帮我排查并修复这个问题。
只修改最小必要的代码,不要重构其他部分。🧪 写测试
为 @src/utils/validate.ts 中的 validateEmail 和 validatePhone 函数写单元测试。
要求:
- 使用 Vitest
- 覆盖正常情况和边界情况
- 测试文件放在同目录下,命名为 validate.test.ts👀 代码审查
审查我最近修改的代码 @git diff。
重点检查:
1. 是否有安全漏洞(SQL 注入、XSS)
2. 是否有性能问题
3. 是否符合项目代码规范
只列出确实有问题的地方,不要罗列无关紧要的细节。// Token 对比
十、Token 消耗对比
用同样的需求,对比不同使用方式的 Token 消耗:
| 使用方式 | ||
| Token 消耗 | ||
| 代码质量 | ||
| 模糊描述 + 一次多任务 | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| 精准描述 + 一次一任务 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 精准描述 + @引用 + CLAUDE.md | ⭐⭐ | ⭐⭐⭐⭐⭐ |
💡 前期投入时间做好上下文管理,后期 Token 消耗可以减少 50% 以上。
// 总结
总结
Claude Code 高效使用的核心就三件事:
01
描述精准
说清楚要什么,不要让 AI 猜
02
上下文管理
善用 @引用和 CLAUDE.md
03
任务拆分
一次只做一件事,做完再推进
把这些习惯养成,你的 Claude Code 使用效率和 Token 利用率都会有质的提升。