省钱实战 · 阅读约 4 分钟

月花 $200 调 Claude 的我,改了一行代码现在只花 $60

月花 $200 调 Claude 的我,改了一行代码现在只花 $60

结论先说:把 base_url 指向国内中转,再把 Sonnet 换成 Haiku 处理初筛,账单直接掉到三分之一。


背景

我在做一个文档处理工具,流程大概是:上传 PDF → 分段 → 每段跑一次 Claude 提取结构化数据 → 汇总。

初版图省事,全程 claude-3-5-sonnet,每段 ~800 token,一个文档 40 段,一天跑几十份文档。

上个月账单出来:$214

不是说用不起,但这个项目还在测试阶段,纯烧钱没收入,有点难绷。


排查在哪花的钱

tiktoken 粗估了一下,发现问题很明显:

  • 初筛阶段(判断这段是不是有效内容):用了 Sonnet,但这个任务根本不需要,Haiku 完全够
  • 没开 prompt caching:系统 prompt 每次都重新发,白白浪费
  • 没做批处理:每段独立请求,overhead 叠了很多次

具体怎么改的

第一步:换 base_url

官方 API 在国内延迟高、偶尔丢包,我之前还挂着代理跑。现在直接换到国内中转,延迟稳很多,而且价格是官方的 35% 起。

改动就一行:


import anthropic



client = anthropic.Anthropic(

    api_key="你的中转 key",

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

)

OpenAI SDK 同理:


from openai import OpenAI



client = OpenAI(

    api_key="你的中转 key",

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

)

其他代码一字不改。

第二步:两段式流程,初筛用 Haiku


def process_chunk(chunk: str) -> dict | None:

    # 第一步:Haiku 判断是否有效内容,便宜 10 倍

    screen = client.messages.create(

        model="claude-haiku-4-5",  # 或 claude-3-haiku-20240307

        max_tokens=10,

        messages=[{

            "role": "user",

            "content": f"下面这段文字是否包含有效业务数据?只回答 yes 或 no。\n\n{chunk}"

        }]

    )

    

    if screen.content[0].text.strip().lower() == "no":

        return None  # 直接跳过,省掉后续费用

    

    # 第二步:只有有效段落才走 Sonnet

    result = client.messages.create(

        model="claude-sonnet-4-5",

        max_tokens=1024,

        system="你是一个结构化数据提取助手...",  # 固定 system prompt 可以开 caching

        messages=[{

            "role": "user", 

            "content": chunk

        }]

    )

    

    return parse_response(result.content[0].text)

实测我的文档里大概 40% 是无效段落(页眉页脚、空白段之类),直接被 Haiku 筛掉,Sonnet 调用量少了将近一半。

第三步:curl 快速验证连通性

换完 base_url 先跑一下确认没问题:


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": "hi"}],

    "max_tokens": 10

  }'


改完之后

本月到今天:$61,还没跑完。同样的数据量,大概能落在 $65 左右。

主要节省来自:

  • 中转价格本身便宜了约 65%
  • 初筛用 Haiku 代替 Sonnet,单价差 ~10x
  • 无效段落直接跳过

我用的中转是 api2everything.xyz,支持 Claude / GPT / Gemini / DeepSeek 等 300+ 模型,OpenAI 格式兼容,注册送 ¥1 够先试几次看连通性再充值。