用 Claude 写代码,账单常常比预想高一截:明明只是改个函数,一轮下来却像跑了个大任务。这篇不报具体数字,只讲钱花在哪几块、哪些用法把成本顶上去、哪些动作能马上省下来,以及什么情况下这套算法不成立,方便你对着自己的用量记录核一遍。
用 Claude 写代码,账单经常比预想高一截:明明只是改个函数,一轮下来却像跑了个大任务。原因通常不在「模型贵」,而在你的用法把某些计费项反复触发了。这篇不报具体数字,只讲钱花在哪几块、哪些动作最烧钱、怎么对着自己的用量记录核一遍,以及什么情况下这套算法根本不成立。
先明确一点:Claude 编程没有统一的「每小时多少钱」。它要么按 token 计费,要么走订阅套餐的额度,两条路径的成本逻辑完全不同。所以第一步不是省钱,是先搞清楚自己落在哪条路径上,否则后面所有优化都是白费力气。
Claude 编程的钱分成哪几块
按量计费的核心只有四类计费项:输入、输出、缓存写入、缓存读取。缓存读写通常单独计价,口径和普通输入不一样,很多人算错账就是把它当成同一种东西。建议先去站内把计价口径对齐,再谈优化。
- 输入 token
- 你发给模型的全部内容,包括代码、文档、历史对话、系统提示
- 输出 token
- 模型生成的内容,写代码、解释、工具调用参数都算在里面
- 缓存写入
- 把一段固定内容存进缓存时的一次性成本,通常比普通输入贵
- 缓存读取
- 后续复用缓存内容时按这个计,一般比重新输入便宜,命中与否差别很大
如果你的套餐是订阅制,那就是另一套账:额度按月封顶,超了降速或转按量。具体折算口径别猜,直接到站内对应档位页看当时的说明。中转和代理还会在这之上叠倍率和分组,同一段代码在不同站点花的钱能差出不少,比价前先拿官方基准做参照。
| 成本来源 | 是否显性 | 排查入口 |
|---|---|---|
| 输入与输出 token | 账面可见 | /usage 用量记录 |
| 缓存写入与读取 | 部分可见 | 站内计价口径页 |
| 重试与工具往返 | 经常看不见 | 请求次数对比 |
| 上游倍率与分组 | 看站点说明 | /official-api 官方基准 |
同样一段活,什么在推高成本
同样一个「改登录逻辑」的需求,有人花得少有人花得多,差别几乎都在这几个变量上。理解了它们,你就知道该从哪里下手,而不是盲目换模型。
- 上下文长度是第一变量:每次都把整仓库或整份文档塞进去,输入部分会被反复计费,这是最常见的隐形开销
- 输出通常比输入贵,让模型一次吐几百行代码,和只改三行,量级完全不同
- 单轮里工具调用的往返次数:读文件、跑命令、再读结果,每一跳都是一次请求,跳数越多越贵
- 缓存命不命中差别很大:命中时按缓存读取计,没命中就按输入重算,固定前缀一旦被改动就前功尽弃
- 重试是账单里最没意义的一块,超长对话滚下去加失败重试,钱花了问题还没解决
先量再改:怎么核自己的账
省成本之前,先建立自己的基线。做法很简单:拿一段固定任务反复跑,记录请求数、输入输出比例、重试次数。有了基线,任何优化动作有没有效果,一比就知道。
- 固定任务跑一遍挑一个你常做的编程任务,记录请求次数、大致输入输出比例、重试了几次
- 对照同类水位到站内用量与价格追踪页面看同类用量的水位,判断是普遍现象还是你的用法问题
- 分段记账把一轮任务拆成规划、改代码、验证三段分别记账,哪段最贵通常一眼就能看出来
- 按顺序排查对不上账时按这个顺序查:计价口径、缓存命中、重试次数、上游倍率,别一上来就怀疑被坑
这个顺序不是随便排的。计价口径错了,后面全是白算;缓存没命中,输入成本会明显偏高;重试多了,请求数对不上;前三项都排除完,才轮到怀疑上游倍率。
能马上落地的省钱动作
下面这几个动作不需要改工具链,今天就能用。共同思路是:减少重复输入、减少往返次数、给失控行为设上限。
- 缩小上下文:只给相关文件,长文档先摘要再喂,别整包上传
- 把大任务切小步,每步单独起会话,避免一条超长对话越滚越贵
- 能命中缓存的固定前缀(系统提示、编码规范、代码骨架)尽量放前面且别去改动
- 给重试和工具调用设上限,跑飞的循环是账单里最没意义的一块
- 定期看用量走势,异常尖峰往往对应某次失控会话,早发现早止损
实时状态和用量走势可以到站内对应页面看,别等月底对账单才发现问题。这类监控的价值不在数字本身,而在于让你能定位到是哪一天、哪个任务把成本顶上去的。
什么情况下这套算法不适用
以上逻辑建立在「按 token 计费」这个前提上。前提一变,结论就塌了,别硬套。
- 包月或不限量套餐:token 数不直接对应钱,这时该看的是额度和降速阈值,而不是省 token
- 团队共用一把 Key:账目混在一起,单人成本算不出来,得先拆分用量再谈优化
- 自建或私有部署:按算力或时长算,token 计价思路在这里没有意义
- 纯聊天式问答:如果不用工具、不上传大文件,成本结构会和编程场景差很多,不要照搬
判断方法也很直接:如果你的套餐额度是封顶的,优化重点应该放在「把额度花在刀刃上」,而不是抠每一次输入的 token 数。这两件事的目标不同,动作也不同。
下一步把你最近一轮编程任务的请求数、输入输出比例和重试次数记下来,再到站内查同类水位和当时的计价口径,你就能判断自己的成本是被用法推高的,还是本来就该这么多。→常见问题
为什么我算出来的成本和账单单对不上?
多数是三个原因:缓存是否命中改变了单价、重试和工具调用往返被重复计费、以及上游有倍率或分组差异。先去站内 /tools/token-price-calculator 用同一段用量换算一遍,再对比 /price-watch 的价格变动记录,看差额落在哪一项上。
按量付费和编程套餐,我该按哪个估预算?
看你调用是否稳定。每天用量波动大、只是偶尔写点代码,按量更划算也不绑手;天天长时间用、用量稳定,套餐的封顶额度更可预期,但要确认超限后是降速还是转按量,去 /coding-plans 对应档位页看额度口径再决定。
有没有办法让成本直接降一半?
没有通用办法,但组合动作效果明显:缩小上下文、把固定前缀放在前面吃缓存、限制重试与工具调用步数、把长任务拆成短会话。先把这几件事做完再谈换模型,多数人的大头就出在上下文重复上传和无限重试上。