省钱实战 · 阅读约 3 分钟

月花 200 刀调 Claude 的我,改了一个参数后现在只花 60

月花 200 刀调 Claude 的我,改了一个参数后现在只花 60

结论先说:把 base_url 换掉,再把非必要的 claude-3-opus 请求降到 haiku,账单直接砍掉 70%。


痛点

上个月账单 218 刀,看到直接麻了。

翻了一下日志,问题很集中:

  • 用 claude-3-5-sonnet 跑了一堆"提取 JSON 字段"的任务,每次都是 2k token 进、200 token 出
  • 有个 cron job 每小时跑一次摘要,我忘了它的存在,静默烧了大概 40 刀
  • 本地调试没做 mock,每次改提示词都真实打一遍 API

这三条加起来占了账单的 80%。


怎么改的

第一步:换 base_url,价格直接打折

我现在用的是一个聚合中转,同模型比官方便宜 65% 左右,SVIP 还有 7.7 折。格式完全兼容 OpenAI,改一行就行:


from openai import OpenAI



client = OpenAI(

    api_key="你的 key",

    base_url="https://api2everything.xyz/v1"

)



resp = client.chat.completions.create(

    model="claude-3-5-sonnet-20241022",

    messages=[{"role": "user", "content": "hello"}]

)

print(resp.choices[0].message.content)

curl 版本:


curl https://api2everything.xyz/v1/chat/completions \

  -H "Authorization: Bearer 你的key" \

  -H "Content-Type: application/json" \

  -d '{

    "model": "claude-3-5-sonnet-20241022",

    "messages": [{"role": "user", "content": "hello"}]

  }'

就这样,什么都不用动,存量代码全兼容。

第二步:给任务做模型分级

不是所有任务都需要 Sonnet,更不需要 Opus。我现在的分法:

| 任务类型 | 模型 | 理由 |

|------|------|------|

| 提取字段、分类、简单改写 | claude-3-haiku | 够用,快,便宜 10 倍 |

| 代码生成、复杂推理 | claude-3-5-sonnet | 主力 |

| 极少数需要最强的 | claude-3-opus | 按需,不做默认 |

那个"提取 JSON 字段"的任务换成 haiku 之后,效果完全没差,token 单价直接降了 90%。

第三步:cron job 加日志报警

这个不是 API 的锅,是自己的问题。现在每个定时任务跑完都往 Slack 发一条消息,带上本次消耗的 token 数,超过阈值就报警。低技术含量但确实有用。


这个月账单

换完之后这个月预估 58 刀,跑的任务量比上个月还多一点。

主要节省来自两块:中转的折扣大概省了 65 刀,模型降级又省了将近 80 刀。


我用的中转是 api2everything.xyz,注册送 ¥1,余额永久不过期,够用来跑跑测试或者验证新模型。支持 OpenAI、Claude、Gemini、DeepSeek 等 300+ 模型,国内直连不用代理。

有类似账单问题的可以试试,改一行 base_url 的事。