上个月,一个做AI客服的创业团队找我吐槽:月初预算5000,月底账单3万2。老板以为是员工偷偷拿公司API Key去跑个人项目,查了一圈发现不是——所有调用都是正常业务。

问题出在哪?他们的系统每次对话都把一份2000字的系统提示词完完整整发一遍。一天3000次对话,光是重复发这份提示词,一个月就烧掉了2万多。

相当于每天早上起床,你把昨天的咖啡倒掉,重新磨豆子、烧水、萃取——明明冰箱里还有半壶没喝完的。

不是用多了,是用错了。而”用错”的根源,是大多数人根本没搞懂Token计费的底层逻辑。

你以为Token计费很简单?它藏着三个”暗刀子”

Token计费看起来跟手机流量一样直白:用多少算多少,单价明码标价。但实际上,这里面至少有三个反直觉的坑,每个都能让你的账单翻倍。

暗刀子一:输出比输入贵5倍,但你的钱大多花在了输入上

先说一个让很多人困惑的事:大模型的输出Token单价是输入的3到5倍。Claude Sonnet的输入价是3美元/百万Token,输出是15美元——整整5倍。

听起来应该控制输出对吧?但实际上,大多数应用80%以上的Token消耗都在输入端——系统提示词、历史对话、塞进去的参考文档、RAG检索出来的上下文……你以为自己在”喂”模型信息,其实是在喂账单。

为什么输出比输入贵?因为GPU在处理输入时可以并行计算,一张卡每秒能吞10万个输入Token;但生成输出时必须一个字一个字往外蹦——自回归机制决定了它只能串行,同一张卡每秒只能生成几百个Token。吞吐量差了两三个数量级,价格自然不一样。

所以,省钱的第一刀不是让AI少说话,而是让你自己少废话——压缩输入。

暗刀子二:上下文窗口越大,你越容易花冤枉钱

“支持128K上下文!”“1M超长上下文来了!”——每次大模型发新版本,上下文窗口的数字都在疯涨,营销文案写得跟免费自助餐似的。

但这不是自助餐,这是按克计费的松露。

上下文窗口大不代表你每次调用都要塞满它。一个简单的”帮我翻译这句话”,你把整篇10万字的论文都塞进去当上下文,模型倒是能处理,你的钱包可处理不了。

Token计费的三个隐形杀手

更要命的是,很多开发者在做多轮对话时,默认把所有历史消息都带上。对话越深,上下文越膨胀,成本指数级增长。第一轮100个Token,第十轮可能已经5000个了——而且每一轮都在重复计算之前所有的内容。

暗刀子三:”免费”模型的隐性成本可能更高

DeepSeek V4 Flash号称白菜价,阿里云百炼平台送100万Token免费额度,听起来像天上掉馅饼。

但天上掉的馅饼里通常包着沙子。

免费额度用完怎么办?限速。高峰期排队等响应,你的用户等不起。更关键的是,便宜模型在复杂任务上的表现往往不达标,需要多次重试或者人工兜底,综合成本反而更高。

这就像买打折机票——票价便宜了,但你在机场等了8小时延误,打车、吃饭、住酒店的钱加起来比全价票还贵。

各家定价到底差多少?一张图看明白

说了半天,各家大模型API到底怎么收费?我整理了一张主流模型的价格对比,单位统一换算成人民币(按1美元=7.2元),方便直接比较。

主流大模型API价格对比

几个关键发现:

第一,同一家的模型之间差距巨大。 Claude家族里,Opus的输入价是Haiku的近19倍,输出价也是19倍。你用Opus做一个Haiku就能搞定的分类任务,等于开法拉利去买菜。

第二,缓存命中的价格低得离谱。 Claude Sonnet的缓存读取价只有正常输入的十分之一(0.30 vs 3.0美元),DeepSeek V4 Flash的缓存命中价更是只有输入价的五十分之一。这意味着,只要你的系统提示词设计合理,每天能省出一顿火锅钱。

第三,”便宜”和”贵”是相对的。 DeepSeek V4 Flash的输入价0.14美元,是Claude Opus的107分之一。但如果Flash需要调用3次才能得到Opus一次就能搞定的结果,实际成本差距就没那么大了。

三刀下去,账单砍到原来的1/5

理解了计费逻辑,接下来是实操。我见过最有效的三个优化策略,组合使用可以把成本砍掉80%以上。

第一刀:给系统提示词加缓存——立省90%

这是性价比最高的一刀。

大多数应用都有一段固定的系统提示词,每次API调用都原封不动发一遍。Anthropic和OpenAI都支持Prompt缓存——把不变的前缀内容缓存起来,后续请求命中缓存时只收十分之一的价格。

具体怎么做?以Claude为例,在API请求中给system消息加一个 cache_control 标记:

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "你是一个专业的客服助手...(2000字的详细指令)",
            "cache_control": {"type": "ephemeral"}  # 就这一行
        }
    ],
    messages=[{"role": "user", "content": user_input}]
)

一行代码,系统提示词的费用直接打一折。 如果你的系统提示词有2000个Token,每天调用3000次,一个月省下来的钱够交半年云服务器费了。

关键原则:把固定内容放前面,变化内容放后面。 缓存只能命中前缀匹配的部分,你把用户消息插到系统提示词中间,缓存就废了。

第二刀:模型路由——杀鸡别用牛刀

不是所有任务都需要最强的模型。一个合理的模型路由策略长这样:

三刀砍掉80%账单的省钱策略

  • 分类、摘要、格式转换 → 用Haiku/GPT-4o-mini/DeepSeek V4 Flash,单价最低
  • 正常对话、内容生成、代码编写 → 用Sonnet/GPT-4o,性价比最高
  • 复杂推理、架构设计、需要深度思考 → 才用Opus/o3,按需升级

实现也很简单——先用一个便宜模型判断任务复杂度,再路由到合适的模型:

# 先用Haiku判断复杂度(成本极低)
complexity = classify_with_haiku(user_input)

if complexity == "simple":
    response = call_haiku(user_input)      # $0.80/MTok
elif complexity == "medium":
    response = call_sonnet(user_input)     # $3.0/MTok
else:
    response = call_opus(user_input)       # $15.0/MTok

实际业务中,70%以上的请求都是”simple”级别,只有不到5%真正需要最强模型。光是这一刀,就能把平均单价压到原来的三分之一。

第三刀:监控 + 瘦身——找到你的”吃钱黑洞”

前两刀是省钱,第三刀是止血。

给每个API调用加上日志,记录:调用了哪个模型、输入多少Token、输出多少Token、缓存是否命中、总费用多少。跑一周之后,按费用排序,找出Top 3的”吃钱调用链”。

你大概率会发现:

  • 某个接口每次都带了一大坨不必要的历史消息(瘦身方案:只保留最近3轮对话,更早的做摘要压缩)
  • 某个RAG检索接口每次塞入了5篇文档,其实1篇就够了(瘦身方案:先用向量相似度筛选,只塞最相关的)
  • 某个推理任务用了thinking模式,思考过程产生了大量输出Token被计费(瘦身方案:非必要不开thinking,或者限制thinking的最大Token数)

优化AI成本就像减肥:不需要节食,只需要知道自己的卡路里都吃在了哪。

一个简单的成本计算

给你一个直观的对比。假设你的应用每天调用API 3000次,每次输入2000个Token、输出500个Token,用Claude Sonnet:

优化前:

  • 每日输入Token:3000 x 2000 = 600万Token → $18
  • 每日输出Token:3000 x 500 = 150万Token → $22.5
  • 月费:约 $1,215(约8,750元)

优化后(缓存 + 路由 + 瘦身):

  • 70%请求走Haiku:$2.3/天
  • 25%请求走Sonnet(缓存命中80%):$4.2/天
  • 5%请求走Opus:$3.8/天
  • 输出端节省30%(控制输出长度):再省$6.7/天
  • 月费:约 $220(约1,580元)

从8750元降到1580元,省了82%。 不是靠少用AI,而是靠用对AI。

别为了省钱把AI用废了

最后说一句反着来的话:省钱不是目的,把钱花对地方才是。

见过有团队为了省钱,所有任务一律用最便宜的模型,结果客服回答质量断崖式下降,用户投诉率翻了3倍。也见过有人为了节省Token,把系统提示词压缩到只剩一行,模型输出质量跟没有提示词一样随机。

AI的成本不在于模型有多贵,而在于你是否理解了Token这个计量单位背后的经济学——每一个Token被送进模型之前,都值得问一句:这个Token,值吗?

省下来的钱,放到真正需要智能的地方去。用Haiku处理琐事,用Opus攻克难题。该省省,该花花,这才是一个成熟的AI应用该有的样子。

毕竟,工具的最高境界不是便宜,是好用。