Claude Code省钱攻略
Claude Code省钱攻略
说实话,刚用 Claude Code 的第一个月,我差点被账单劝退。
今天把这 5 招分享给大家,每一招都是我每天在用的,亲测有效。
先说说我的使用情况
在讲方法之前,先交代一下我的使用强度,方便你对照参考:
每天使用时长:3-5 小时,工作日基本全程开着
主要用途:全栈项目开发、代码重构、Bug 排查、写单元测试
项目规模:中等复杂度,单项目代码量 2-5 万行
优化前月花费:约 $320
优化后月花费:约 $90
省下来的钱,又能多买好几个 AI 工具的会员了,香得很。
第一招:模型分级用,别什么任务都上 Opus
这是最最最重要的一招,也是省钱效果最明显的。
很多人(包括一开始的我)有个误区:觉得最强的模型就是最好的,全程开着 Opus 干所有事。
大错特错。
Claude Code 支持三个级别的模型,能力和价格差了十倍都不止:
| 模型 | 定位 | 适合场景 | 相对价格 |
|---|---|---|---|
| Haiku | 轻量快速 | 简单查询、文件操作、格式调整 | 1x |
| Sonnet | 均衡主力 | 日常开发、功能实现、代码解释 | 5x |
| Opus | 最强推理 | 复杂架构设计、疑难 Bug、深度重构 | 25x |
什么概念呢?就是你用 Opus 干一小时的活,换成 Haiku 可能只需要二十五分之一的钱。
我的切换策略
我现在的习惯是:
默认用 Sonnet—— 这是性价比最高的选择,90% 的日常开发任务它都能搞定
简单操作切 Haiku—— 比如 “帮我看看这个文件有哪些函数”" 把这段代码格式化一下 "“生成个 README”,这种无脑任务直接切
硬骨头才上 Opus—— 遇到逻辑特别绕的 Bug、架构级别的重构、需要深度思考的设计问题,再临时切过去
切换命令也很简单,输入就行:
/model haiku# 切到轻量模型/model sonnet# 切回主力模型/model opus# 切到最强模型一个小技巧
切模型之前,我会先/compact压缩一下上下文(下一招会讲),这样新模型加载的时候不会带着一堆历史 token 跑,又能省一笔。
这一招 alone,就能帮你省掉 40%-50% 的费用。真的,别什么任务都上 Opus,太奢侈了。
第二招:及时压缩上下文,别等它自动压缩
Claude Code 的上下文窗口虽然大(1M token),但不是无限的。而且上下文越长,每一轮对话消耗的 token 就越多 —— 因为模型每次都要把整个历史读一遍。
很多人不知道,Claude Code 有个自动压缩机制。当上下文快满的时候,它会自动把早期的内容 “压缩” 成摘要,腾出空间。
但自动压缩有两个问题:
时机不可控—— 可能你正在实现关键逻辑的时候,它突然触发压缩,把一些重要细节给压缩没了
被动浪费—— 在自动压缩之前,你已经带着超长上下文跑了很多轮,每一轮都在多花钱
所以我的建议是:主动压缩,不要等。
什么时候该压缩?
我总结了几个最佳时机:
✅完成一个阶段性任务后—— 比如写完了一个功能模块,接下来要开新任务了,先压缩一下
✅切换模型之前—— 上一条说过的,切模型前先压缩
✅发现对话开始啰嗦时—— 如果 Claude 回复变得冗长、开始重复之前说过的话,说明上下文已经有点臃肿了
✅每天下班前—— 第二天接着用的时候,从一个清爽的上下文开始,体验也好很多
压缩命令:
/compact# 压缩当前上下文,释放空间如果你想彻底清空,重新开始:
/clear# 清空所有上下文怎么判断压缩效果?
压缩完之后,可以用/cost看一下当前会话的消耗速率。同样的任务,压缩后每轮消耗应该会明显下降。
我自己的体感是,主动压缩之后,同样的工作量,token 消耗能降 20% 左右。
第三招:设置单次任务 Token 上限,防止 “runaway 消耗”
这一招是给 “安全感” 的。
不知道你有没有遇到过这种情况:让 Claude 帮你做一个任务,结果它越做越上头,越挖越深,从一个小问题扯出十个关联问题,等你反应过来,几百个 token 已经没了。
我就遇到过。有一次让它帮我 “优化一下这个函数的性能”,结果它直接把整个模块都重构了,还顺手写了 20 个测试用例。
活干得确实漂亮,但账单也漂亮。
解决方法:给单次任务设个预算上限。
Claude Code 支持在settings.json里配置maxTokensPerTask,就是单次任务最多消耗多少 token,到了就停。
怎么设置?
找到你的 Claude Code 配置文件(一般在~/.claude/settings.json),加上这一行:
{"maxTokensPerTask":50000}50000 token 是什么概念呢?大概够完成一个中等复杂度的功能开发。如果是简单任务,可能 10000 就够了。
你可以根据自己的使用习惯调整:
保守型:设 20000-30000,基本不会失控
均衡型:设 50000,大部分任务都能完成
奔放型:设 100000+,适合大型重构,但风险也高
我自己设的是 50000。真遇到大任务,我会分阶段下达指令,而不是一次性丢给它一个超级大目标。
这一招的核心不是省钱,是 “防翻车”。有了这个安全阀,你就不用担心一觉醒来账单爆炸了。
第四招:批量任务用非交互模式,省 30% 起步
这一招知道的人不多,但效果特别好。
很多人用 Claude Code 都是交互模式 —— 打开终端,输入指令,等它回复,再输入下一条。
但如果你有一批类似的任务要处理(比如批量改 10 个文件的格式、批量给 20 个函数加注释、批量迁移一批代码),交互模式其实很浪费。
因为交互模式下,每一轮对话都会带着上下文历史,token 是累加的。而且你人还要在旁边等着,一个任务完了再发下一个。
更好的方式:用非交互模式(-p参数)批量跑。
非交互模式的优势
更省 token—— 每个任务独立执行,没有上下文累积
更快—— 可以写个脚本批量跑,不用人守着
可自动化—— 能接入 CI/CD、定时任务等流程
几个实用例子
单次查询:
claude-p"Explain what this project does"结构化输出(方便脚本解析):
claude-p"List all API endpoints in this project"--output-format json批量文件处理:
forfileinsrc/*.js;doclaude-p"Add JSDoc comments to all functions in$file"<"$file">"${file%.js}_doc.js"done批量代码审查:
claude-p"Review the following code for security issues, return a JSON array of findings"\--output-format json<src/auth.js>security_report.json我现在做批量迁移、批量格式化、批量生成文档这类工作,全部用非交互模式跑。同样的工作量,比交互模式省 30%-40% 的 token,还能后台跑着不用管。
第五招:善用 [CLAUDE.md](CLAUDE.md) 和 Skills,减少重复描述
这是 “长期投资型” 的省钱方法 —— 前期花一点时间 setup,后面越用越省。
[CLAUDE.md](CLAUDE.md):项目知识一次写好,反复使用
每个项目根目录放一个CLAUDE.md文件,把项目的关键信息写进去:
# 项目说明 ## 技术栈 - 前端:React 18 + TypeScript + Tailwind CSS - 后端:Node.js + Express + PostgreSQL - 部署:Docker + AWS ECS ## 编码规范 - 使用函数式组件,不用 class 组件 - 接口统一用 RESTful 风格 - 错误处理统一用 try-catch + 自定义 Error 类 - 所有公共函数必须写 JSDoc ## 目录结构 - src/components/ - 可复用组件 - src/pages/ - 页面组件 - src/api/ - 接口封装 - src/utils/ - 工具函数 ## 常见坑点 - 注意 XSS 防护,用户输入必须转义 - 数据库操作必须用参数化查询,禁止字符串拼接 - 异步操作必须处理错误情况这样 Claude Code 一进项目就知道该怎么写代码,不用你每次都重复交代 “我们项目用什么技术栈”" 代码规范是什么 "。
别小看这些重复描述,积少成多也是一笔不小的开销。
Skills:把常用操作封装成技能
Claude Code 的 Skills 系统,可以把你经常做的操作封装成可复用的技能。
比如你经常需要:
生成 React 组件模板
写单元测试
代码格式化 + 类型检查
部署前检查清单
这些都可以写成 Skill,下次直接调用,不用每次都描述一遍要做什么。
安装 Skill 的命令:
npx skillsadd<skill-name>甚至还有个更绝的 ——claudeception这个技能,它会自动观察你的操作,如果你重复做某件事 3 次以上,它就会自动总结成一个专属 Skill,下次直接帮你自动完成。
相当于越用越聪明,也越用越省钱。
效果对比:我到底省了多少钱?
说了这么多方法,给大家看看我优化前后的真实对比:
| 指标 | 优化前 | 优化后 | 降幅 |
|---|---|---|---|
| 月均花费 | ~$320 | ~$90 | 72% |
| 日均 token 消耗 | ~150K | ~45K | 70% |
| Opus 使用占比 | 60% | 10% | - |
| Sonnet 使用占比 | 30% | 70% | - |
| Haiku 使用占比 | 10% | 20% | - |
| 平均任务完成时间 | 差不多 | 差不多 | - |
重点是:生产力几乎没有下降。
因为我不是 “少用”,而是 “聪明地用”—— 该用强模型的时候还是用,只是不该浪费的地方不浪费了。
最后:省钱的核心思路
总结一下,这 5 招背后的核心逻辑其实就三条:
1. 按需付费,不要过度配置
就像你不会用服务器跑个静态网页就上顶配一样,AI 工具也是一样的道理。简单的任务用便宜的模型,复杂的任务才上最强的。
2. 减少冗余,每一个 token 都要有价值
上下文压缩、非交互模式、[CLAUDE.md](CLAUDE.md),本质上都是在减少 “重复信息” 的消耗。同样的话,说一遍就够了,不要反复说。
3. 建立机制,而不是靠意志力
设置 token 上限、写好 [CLAUDE.md](CLAUDE.md)、封装 Skills,这些都是 “机制”。有了机制,你不用每次都提醒自己 “省着点用”,系统会自动帮你优化。
附赠:日常检查清单
最后给大家一个我每天都会用的检查清单,照着做,想不省钱都难:
早上开工前:先看看昨天的会话有没有必要保留,没用就
/clear每个任务前:想想要不要切模型,简单任务直接
/model haiku每个任务后:顺手
/compact一下,保持上下文清爽中午吃饭前:
/cost --total看一眼上午的消耗,心里有数批量任务:能用
-p非交互模式就不用交互模式新项目:先写好
CLAUDE.md,磨刀不误砍柴工
好了,以上就是我用 Claude Code 半年多总结出来的省钱心得。
说实话,AI 编程工具确实贵,但它带来的效率提升也是真的。关键是要学会 “聪明地用”,而不是 “省着不用”。
毕竟,工具是为人服务的。花最少的钱,办最多的事,这才是高手。
如果你还有其他省钱小技巧,欢迎在评论区交流~
觉得有用的话,点个赞收藏一下,下次账单爆炸的时候翻出来看看。
