月账单从 $200 砍到 $60,我只改了一个参数
月账单从 $200 砍到 $60,我只改了一个参数
结论先说:把 Claude Sonnet 的请求换成 Haiku,再走中转,账单直接掉了 70%。
背景
最近在做一个代码 review bot,跑在 CI 里,每个 PR 自动调一次 Claude 分析 diff。
听起来挺轻量,但量跑起来之后账单开始不对劲。上个月 $200 出头,这个月还没结算就已经奔 $180 去了。
排查了一下,问题很明显:
1. 默认用的 claude-sonnet-4,输入 token 按 $3/M 算
2. 没做任何 prompt 压缩,每次把整个 diff 塞进去,平均 8k token/次
3. CI 跑得频繁,一天轻松 200+ 次调用
算一下:200 次 × 8k token × $3/M ≈ $4.8/天,一个月就是 $140+,再加输出,妥妥 $200。
怎么修
第一步:任务降级
code review bot 其实不需要 Sonnet 的推理能力,它主要做的是:检查格式、找明显 bug、提醒遗漏测试。这类任务 Haiku 完全够用。
claude-haiku-4-5 定价大约是 Sonnet 的 1/5,这一步就能省掉 80%。
第二步:换中转,国内直连还更便宜
官方 API 国内调用本来就不稳,还需要挂代理。我现在走的是 無量Api,格式完全兼容 OpenAI,改一行 base_url 就行,SVIP 折扣下来比官方便宜 60%+。
第三步:压 prompt
把 diff 先做一次预处理,过滤掉 lock 文件变更、纯空行 diff、自动生成代码。平均 token 从 8k 压到 3k。
改动就这几行
from anthropic import Anthropic
client = Anthropic(
api_key="你的key",
base_url="https://api2everything.xyz/v1", # 改这一行
)
response = client.messages.create(
model="claude-haiku-4-5", # 从 sonnet 换成 haiku
max_tokens=1024,
messages=[
{"role": "user", "content": f"Review this diff:\n{compressed_diff}"}
]
)
或者 curl 验证一下通不通:
curl https://api2everything.xyz/v1/messages \
-H "x-api-key: $API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-haiku-4-5",
"max_tokens": 256,
"messages": [{"role": "user", "content": "hello"}]
}'
改完之后
现在月账单稳在 $55-65 区间,review 质量没有肉眼可见的下降(毕竟格式检查不需要 o3)。
省下来的钱匀给了真正需要 Sonnet 的场景——用户直接触发的深度分析。
模型选型这件事很多人忽略,默认就用最贵的。其实很多 batch 任务、辅助任务用小模型完全 OK,成本差距是数量级的。
我用的中转是 api2everything.xyz,支持 Claude / GPT / Gemini / DeepSeek 300+ 模型,注册送 ¥1,够你把上面的 curl 跑很多遍了。