月花 $200 调 Claude 的我,改了一行代码后账单直接砍到 $60
月花 $200 调 Claude 的我,改了一行代码后账单直接砍到 $60
结论先说:把 base_url 换成中转,再把非必要请求从 Sonnet 降到 Haiku,三个月账单降了 70%。
痛点
之前直连 Anthropic,写了个代码审查 bot,跑 CI pipeline 的时候每个 PR 都会打一遍 Claude Sonnet。
月底对账,$180+。
仔细看了一下 token 用量,发现几个问题:
1. context 没做截断,每次都把完整文件塞进去,实际有用的就最后几百行
2. 所有请求都走 Sonnet,包括那些"格式化提交信息"这种根本不需要强模型的任务
3. 国内访问偶尔超时,retry 逻辑没写好,有些请求发了两三遍
改法其实很简单。
操作
第一步:换 base_url
原来:
import anthropic
client = anthropic.Anthropic(api_key="sk-ant-xxx")
改成兼容 OpenAI 格式的中转:
from openai import OpenAI
client = OpenAI(
api_key="你的中转 key",
base_url="https://api2everything.xyz/v1"
)
模型名直接用 claude-sonnet-4-5 或 claude-haiku-4-5,接口格式完全一样,基本零改动。
第二步:任务分级,能用 Haiku 就不用 Sonnet
def get_model_for_task(task_type: str) -> str:
"""按任务复杂度选模型"""
heavy_tasks = {"code_review", "architecture_analysis", "debug_complex"}
light_tasks = {"format_commit", "summarize_diff", "lint_comment"}
if task_type in heavy_tasks:
return "claude-sonnet-4-5"
elif task_type in light_tasks:
return "claude-haiku-4-5" # 比 Sonnet 便宜 ~80%
else:
return "claude-haiku-4-5" # 默认走便宜的
def review_code(diff: str, task_type: str = "code_review"):
model = get_model_for_task(task_type)
response = client.chat.completions.create(
model=model,
messages=[
{"role": "user", "content": f"Review this diff:\n\n{diff}"}
],
max_tokens=1024
)
return response.choices[0].message.content
第三步:截断 context
def truncate_for_review(file_content: str, max_chars: int = 8000) -> str:
"""只保留最后 N 个字符,减少无效 token"""
if len(file_content) > max_chars:
return "...[truncated]\n" + file_content[-max_chars:]
return file_content
这三个改动加起来,效果:
| 项目 | 改前 | 改后 |
|---|---|---|
| 月均费用 | ~$180 | ~$55 |
| 平均延迟 | 偶尔 5s+ | 稳定 1-2s |
| 超时重试次数 | 每天十几次 | 基本没有 |
验证一下中转能不能用
快速 curl 测一下:
curl https://api2everything.xyz/v1/chat/completions \
-H "Authorization: Bearer 你的key" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-4-5",
"messages": [{"role": "user", "content": "say hi"}],
"max_tokens": 10
}'
返回正常的话就可以直接上。
小结
没什么黑魔法,就是两件事:别无脑用最贵的模型,别无脑传最长的 context。大部分日常任务 Haiku 完全够用,省下来的钱可以多跑几个真正需要 Sonnet 的场景。
我用的中转是 api2everything.xyz,支持 Claude / GPT / Gemini / DeepSeek 300+ 模型,国内直连,注册送 ¥1 够试很久。价格比官方便宜 60% 左右,余额永久不过期,开发测试用挺合适的。