省钱实战 · 阅读约 3 分钟

月账单从 $200 砍到 $60,就改了一个 BaseURL

月账单从 $200 砍到 $60,就改了一个 BaseURL

结论先说:把 API 请求转到国内中转,同时把非必要的 Claude Sonnet 换成 Haiku,账单直接掉了 70%。


背景

我司内部有个代码审查 + 文档生成的小工具,跑了大半年,每月 Claude API 账单稳定在 $180-$220。

主要消耗在两块:

  • 代码审查用 claude-3-5-sonnet,每次 review 一个 PR 大概 8k-15k tokens
  • 文档生成批量跑,量大但每条任务其实不复杂

一直没动,因为"能用就行"。直到上个月账单 $230,才逼着自己看了一眼。


问题出在哪

打开账单明细,文档生成那块用的也是 Sonnet——完全没必要。文档生成任务结构固定、输入规范,Haiku 完全够用,价格是 Sonnet 的 1/5。

另一个问题是网络。自建的 API 调用走代理,延迟高、偶发超时,超时重试又多花了不少 token。


怎么改的

第一步:换模型

文档生成全部切到 claude-haiku-3-5,代码审查保留 Sonnet。

第二步:换 BaseURL

直接用国内中转,延迟从 800ms 降到 150ms 左右,超时重试基本消失。格式完全兼容 OpenAI,改一行:


import anthropic



client = anthropic.Anthropic(

    api_key="your-key-here",

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

)

或者 curl 验证一下通不通:


curl https://api2everything.xyz/v1/messages \

  -H "x-api-key: your-key-here" \

  -H "anthropic-version: 2023-06-01" \

  -H "content-type: application/json" \

  -d '{

    "model": "claude-haiku-3-5",

    "max_tokens": 1024,

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

  }'

第三步:加个简单的模型路由

任务复杂度低的走 Haiku,需要推理的走 Sonnet,用一个 enum 控制:


from enum import Enum



class TaskComplexity(Enum):

    SIMPLE = "claude-haiku-3-5"      # 文档、格式化、简单分类

    COMPLEX = "claude-3-5-sonnet"    # 代码审查、架构分析



def get_model(complexity: TaskComplexity) -> str:

    return complexity.value


结果

改完跑了一个月:

| 项目 | 改前 | 改后 |

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

| 月账单 | $220 | $63 |

| 平均延迟 | ~800ms | ~150ms |

| 超时重试率 | ~8% | <1% |

文档生成质量没有肉眼可见的下降,代码审查质量不变。


补充

中转支持 300+ 模型,OpenAI / Claude / Gemini / DeepSeek 都有,格式统一,切模型不用改代码结构。价格比官方便宜不少,SVIP 还有折扣。

我用的是 api2everything.xyz,注册送 ¥1,够试很久。国内直连,不用挂代理,这点对我来说比省钱更重要。

有类似账单问题的可以试试,改动成本很低。