做产品 PMaker
空格的键盘
看懂一次调用的账单,只有一行公式 费用 = 输入 Token × 输入单价 + 输出 Token × 输出单价 两种单价不一样 —— 输出通常比输入贵 3 ~ 5 倍 三种价格的用途 输入价 系统提示 + 历史 + 用户问题 输出价 回答本身 · 最贵的一部分 缓存价 命中前缀 · 低至输入价的 1/10 最常见低估:只算了「模型输出的价格」,忘了每一次调用都在为系统提示和历史付费

费用不神秘:输入、输出两种单价,命中缓存另有折扣。会看这一行,选模型、估预算就入门了。

一次调用的计费构成

很多团队的第一笔 AI 账单都是「怎么这么贵」——因为他们在选模型时只看「输出价格」,完全没算全账。其实一次调用的费用,只有一个公式。

你会遇到的现象
  • 报价表上一堆价格,不知道对应哪部分
  • 预估预算时只按「每次回答的价格」算,上线后超支
  • 两个模型单价差一点,选了个便宜的,账单反而更高

一行公式

一次调用的费用 = 输入 Token 数 × 输入单价 + 输出 Token 数 × 输出单价。

输入是发给模型的一切:系统提示、历史对话、检索到的资料、用户这次的提问。Token 不是字数,中英文、长代码都会影响计数。

输出是模型生成的回答。注意:输出通常比输入贵 3 到 5 倍,这是大多数厂商的定价结构。

这行公式的价值在于:它让你知道钱到底花在哪两块。想省钱,要么降输入量,要么降输出量,二者手段完全不同。

三种价格

输入价。最便宜的一档。你的系统提示、历史对话、检索资料都按这个算。如果前缀能命中缓存,还能再打大折。

输出价。最贵的一档。回答本身。这也解释了为什么「让模型做分析」比「让模型回答是非题」贵得多——前者要生成大段文字。

缓存价。很多厂商对重复的输入前缀给折扣价,低至输入价的十分之一。这是省钱的关键杠杆,见缓存命中与省钱那一节。

有些厂商还提供「批量价」(离线任务,便宜很多但延迟高)和「免费额度」。选型时不要只看一种价格,按你的真实调用结构算综合单价。

怎么对比模型

拿两个模型比价,正确做法不是比「单价谁低」,而是算同一批真实请求下,谁的总费用低。步骤:

一、估算你的输入输出比。客服场景输入大(系统提示 + 历史 + 知识库)输出小;写作场景输出大。同一个模型,两种场景的综合成本可能差几倍。

二、注意输出长度的差异。便宜的模型可能话痨——同样一个问题,它多输出 50% 的 Token。单价低不等于总价低。用格式约束压缩输出,常常比换模型更有效。

三、把缓存考虑进去。调用结构是否稳定决定了能不能吃缓存折扣。前缀稳定的调用,实际成本可能比报价低得多。

一句话:比价比的是「同任务下跑出来的账单」,不是报价单上的数字。

同一批真实请求,输入都是 2000 Token 模型 A 单价更低 输入 输出 1200 Token —— 它话多 更贵 模型 B 单价高一些 输入 输出 500 Token 反而更便宜 输出通常比输入贵 3 到 5 倍,所以它在总费用里的权重远高于直觉 所以比价要比「同任务下跑出来的账单」,不是报价单上的数字 ① 先估你的输入输出比:客服场景输入大输出小,写作场景反过来,同一个模型能差几倍 ② 用格式约束压缩输出,常常比换模型更有效 ③ 前缀稳不稳定,决定了能不能吃到缓存折扣
这张图解释了那个常见的意外:选了单价更低的那个,账单反而更高。单价是报价表上的数字,账单是「你的请求结构 × 它的输出习惯」跑出来的结果。

估预算的算法

上线前估预算,按这个粗算就够:

单次调用成本 = (平均输入 Token × 输入单价 + 平均输出 Token × 输出单价)×(1 − 缓存命中率 × 折扣比例)。

然后:月成本 ≈ 单次调用成本 × 日均调用量 × 30。

两个容易漏的点:

一、别低估输入。Agent 场景每次输入包含全部历史,多轮循环后输入会膨胀到几千 Token。按「平均输入 100 Token」估的预算,会差一个数量级。

二、留出重试和调试成本。开发阶段、评测阶段、失败重试,都会额外产生调用。预算里留 20% 到 30% 的余量。

最后一条经验:把计费埋进日志。每次调用记录输入输出 Token 数,按天汇总。没有这些数据,你的预算永远在拍脑袋。有了它们,就能像优化任何运营指标一样优化 AI 成本。