月省80% Token!Claude Code 省钱避坑指南:别让你的钱白白烧掉
月省80% Token!Claude Code 省钱避坑指南:别让你的钱白白烧掉
一周省下3亿Token是什么概念?Anthropic工程师做到了。你也可以。
很多人用Claude Code的第一感受是:真香,但真贵。
一个简单的代码修改,Token哗哗地流走,长会话动不动就吃光额度。问题出在哪?真正影响成本的,往往不是你写了多少代码,而是系统有没有持续复用已经处理过的上下文。
我今天不跟你讲大道理,直接上实操。以下7条,条条见血。
一、先搞明白:你的钱到底花在哪了
先看一个真实请求的Token分布:
单次「修一个 bug」请求:
├── system prompt(系统提示+24个内置工具定义)≈ 3,200 tokens
├── CLAUDE.md(项目级指令)≈ 800 tokens
├── 历史消息(5轮对话累积)≈ 8,500 tokens
├── 当前文件内容 ≈ 2,000 tokens
└── 用户新消息 ≈ 50 tokens
─────────────────────────────────
输入总计:14,550 tokens | 输出:≈ 400 tokens
输入/输出比是36:1。
也就是说,你花的钱大头不在Claude的回答上,而在你喂给它的上下文上。每次对话,Claude都会把系统提示、工具定义、项目规则、历史对话全部重新带上——哪怕内容一模一样。
所以省钱的核心就一句话:让Claude少读重复的东西。
二、Prompt Cache:省90%的秘密武器,但别踩坑
缓存Token的成本只有普通输入Token的10%。这不是小优化,是数量级的差异。
缓存怎么工作的?
Anthropic服务端会保存你最近发送的prompt前缀。下次请求只要前缀完全一致,就直接从缓存读取。
三层缓存结构:
- 系统层:系统提示、工具定义——最稳定,缓存命中率最高
- 项目层:CLAUDE.md、项目规则——稳定但容易被破坏
- 对话层:历史对话——逐轮累积
缓存失效的5个陷阱(重点看):
- 修改CLAUDE.md——哪怕只改一行,从CLAUDE.md开始往后的所有缓存全部失效
- 切换模型——会话中途换模型会破坏整条缓存链
- 会话空置超过1小时——订阅版缓存TTL是1小时,超时重置
- 动态内容混入前缀——比如在CLAUDE.md里写时间戳、版本号
- 频繁切换项目——每个项目的缓存是独立的
实操建议:
- CLAUDE.md写好了就别动,保持稳定
- 一个会话尽量用一种模型,别来回切
- 大文档放进Projects,别反复粘贴进对话
- 用
/cost随时查看缓存命中率
三、借助国产模型,折扣算力平台
官方算力的价格通常是美元计价,价格相对较高,可以使用国产模型,目前QWEN, DEEPSEEK已经具有较高的性价比。
借助国产算力折扣平台66AI.AI, 大概可以节省一半的资费。
其使用官方模型,因此速度和智力方面并没有明显的差别。
需要注意的是,有些中转站使用的是自己训练的小模型,其在性能、速度上面存在明显的不足。
四、模型选对,钱省一半
不是所有任务都需要Opus。
API计价:Opus成本是Sonnet的5倍。Fast Mode更是贵6倍。
我的日常策略:
| 任务类型 | 用什么 | 理由 |
|---|---|---|
| 写测试、简单改代码、解释逻辑 | Sonnet | 主力模型,性价比最高 |
| 复杂架构决策、跨系统调试 | Opus | 需要深度分析时再切 |
| 查文档、格式化、重命名 | Haiku | 机械活没必要用好车 |
effortLevel也能调。简单任务降低推理等级,直接减少输出Token。实测能再省20-30%。
还有一个骚操作:用Claude Code Router接第三方模型,GLM-5有接近Opus 4.5的智商,价格只有1/10。日常简单任务完全够用。
五、CLAUDE.md:黄金地段,别糟蹋了
CLAUDE.md在每次请求中都带在最前面,是缓存命中率最高的位置。
但很多人把它当记事本用——项目说明、设计文档、会议记录、临时备注全往里塞。一个5000 token的CLAUDE.md,每轮对话都花5000 token,200轮就是100万Token白白烧掉。
正确用法:
# 项目规范
- 包管理器:pnpm
- 测试命令:npm test
- 代码风格:Prettier + ESLint
- 重要约束:不要修改 /legacy 目录
只放稳定、核心、不会变的规则。像个查找表,别当大脑 dump。
六、/compact不是摆设,是救命稻草
源码里/compact的执行顺序:
- 先尝试Session Memory压缩——免费的本地压缩,不消耗API
- 再执行microcompact——只删冗余消息,不调LLM
- 最后才调完整的总结压缩——花Token
别等自动触发。自动触发的阈值是contextWindow - 13,000,那时候你已经花了不少冤枉钱了。
我的习惯:看到上下文超过100K tokens就手动/compact。
七、Subagent:把脏活累活隔离出去
这是被严重低估的功能。
Subagent是独立的Claude实例,跑在自己的上下文窗口里。文件搜索、日志分析、多步推理——所有这些脏活累活的输出都不进主会话。
只有摘要回到主对话。
效果:主会话的上下文不会因为Subagent的中间输出而膨胀。大项目里省Token的效果立竿见影。
八、环境变量一键瘦身
不想折腾配置?直接上这几个环境变量:
# 精简系统提示——去掉冗余的工具说明和行为约束
export CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=1
# 关掉Fast Mode——6倍价真的不值
export CLAUDE_CODE_DISABLE_FAST_MODE=1
# 关掉自动记忆——一次性任务省掉记忆注入
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1
注意:精简提示适合脚本化/一次性任务,长期复杂项目谨慎用。
八、插件加持:躺着省钱
如果不想手动优化,直接用工具:
- Token Saver CC:透明中间件,缓存上下文+只发增量,省80-95% Token
- claude-context:MCP插件,给Claude Code装语义搜索引擎,47万行Go项目单次对话Token降了75%
- CacheLane:拦截对话轮次,动态裁剪prompt块,长会话省30-60%
这些都是零配置或一行命令搞定,装上就生效。
总结:把上下文当资产管理
Anthropic工程师有一句话说得特别好:
把上下文当作资产管理,让缓存持续复用,让长会话少做重复计算。
省钱不是靠抠每一个Prompt,而是设计工作流,让Claude只看到它真正需要的东西。
最后送你一张速查表:
| 操作 | 效果 | 难度 |
|---|---|---|
| 日常用Sonnet,复杂切Opus | 省5倍 | ⭐ |
| CLAUDE.md保持精简稳定 | 省大量重复Token | ⭐⭐ |
| 借助AI折扣平台66AI.AI | 省50% | ⭐⭐⭐ |
长会话手动/compact |
防止Token爆炸 | ⭐ |
| 复杂任务用Subagent | 隔离上下文膨胀 | ⭐⭐ |
| 装Token Saver CC | 省80-95% | ⭐ |
| 保持缓存不被打断 | 省90%输入成本 | ⭐⭐⭐ |
从第一条开始,你的账单就会有变化。
更多推荐




所有评论(0)