大模型 API 价格怎么跟:降价了要不要换的判断方法
群里丢进来一条链接,「某某模型降价了」。接下来半小时,三个人开始讨论要不要换。等他们讨论完,没有人能回答一个最基本的问题:我们现在这条链路一个月花多少钱,换过去之后能少花多少。
我见过太多次这个场景了。价格变动的新闻本身没什么信息量,对你有意义的只有一个问题——这次变动值不值得你动手改。多数时候答案是「不值得」,但你得有能力在十分钟内算出这个答案,而不是靠感觉拍板。这篇讲的就是怎么建立这个能力:怎么跟价格、怎么算、什么时候该动、什么时候该按住手。
本文不预测价格走势,也不引用任何未核实的历史降幅。文中出现的真实价格全部来自官方定价页,并标注核对日期,仅作算术演示用;实际数值以各厂商官方定价页为准。
没有基线,任何降价新闻对你都是零信息
先说一个残酷的事实:如果你不知道自己当前的单位任务成本,那么所有降价新闻你都无法换算成「能省多少」。「输入降了三成」这句话落到你的账单上是多少钱?取决于你的输入输出比例、缓存命中情况、重试率、以及你到底跑了多少次。这四个数字你不掌握,那条新闻就只是一条新闻。
基线该长什么样,我的建议是至少落到这三层:
- 单次任务的 token 结构:一次典型调用的输入 token、输出 token 各是多少,其中有多少属于每次都重复的前缀(系统提示、few-shot 示例、固定文档)。这个重复前缀的比例直接决定缓存档能给你省多少。
- 月度调用量:不是峰值,是真实的月度总量。带上重试——失败重试消耗的 token 是实打实计费的,很多团队的账单差额就藏在这里。
- 折算成业务单位的成本:每份报告多少钱、每个工单多少钱、每个用户每月多少钱。只有折到业务单位,你才能跟老板讨论「这次降价对我们意味着什么」。
怎么把价格表读成这三层,我在大模型 API 价格表怎么读里写过详细做法,这里不重复。要点只有一句:先有基线,再谈变动。
怎么跟价格:只跟三类模型,记三件事
我见过有人做过一张覆盖全市场几十个模型的价格总表,维护了两个月就废了——因为没人有精力对着几十个定价页做核对,表里一半的数字很快变成陈旧数据,而陈旧的价格表比没有价格表更危险,它会让你带着错误的数字去做决策。
务实的做法是把范围压到最小:
- 你现在正在用的模型(通常 1 到 3 个)
- 你已经明确评估过、随时可以切换的候选模型(2 到 4 个)
- 你正在用的平台上,同一模型系列的高低档位(降档是最省事的省钱手段,见后文)
其余的一律不跟。有新平台进入视野时,走一次正式的候选评估流程再决定要不要进表,而不是顺手加一行。
每个条目记三件事,缺一不可:
| 字段 | 为什么必须记 |
|---|---|
| 平台 + 完整模型 ID | 同名不同 ID 是两个东西。DeepInfra 用 组织/模型名 的 HuggingFace 风格命名,Groq 用扁平名,混着记迟早出事 |
| 分档单价(输入 / 缓存输入 / 输出) | 只记一个「单价」等于自废武功。输入和输出常常差一倍以上,缓存档差一个数量级 |
| 查询日期 | 没有日期的价格数字是不可用的。三个月前抄下来的数字,你自己都不敢拿它去做决策 |
表格模板可以直接抄这个(下面几行是按官方定价页在 2026-08-07 核对到的真实数据,仅作模板示例,请以官方定价页为准):
| 平台 | 模型 ID | 输入 $/1M | 缓存输入 $/1M | 输出 $/1M | 核对日期 | 来源 |
|---|---|---|---|---|---|---|
| DeepInfra | DeepSeek-V4-Pro | 1.30 | 0.10 | 2.60 | 2026-08-07 | 官方定价页 |
| DeepInfra | DeepSeek-V4-Flash | 0.09 | 0.018 | 0.18 | 2026-08-07 | 官方定价页 |
| DeepInfra | DeepSeek-V3.2 | 0.26 | 0.13 | 0.38 | 2026-08-07 | 官方定价页 |
| Novita | Deepseek V4 Pro | 1.6 | 未核实 | 3.2 | 2026-08-07 | 官方定价页 |
| Novita | Deepseek V4 Flash | 0.14 | 未核实 | 0.28 | 2026-08-07 | 官方定价页 |
| Novita | Deepseek V3.2 | 0.269 | 未核实 | 0.4 | 2026-08-07 | 官方定价页 |
注意这张表里我留了「未核实」这三个字。Novita 定价页上我核到的是输入和输出两档,缓存档没有核到,那就如实写「未核实」,而不是填一个看起来合理的数字。**价格表里最贵的错误就是把猜测混进事实。**表头上再补一行注记:「以官方定价页为准,本表为人工抄录,可能滞后」,免得半年后有人拿它当权威依据。
维护节奏后面讲,先说最核心的那件事——怎么判断该不该换。
降价了要不要换:一条决策链
这是本文的核心。整条链只有四步,任何一步不过关就停在原地。
第一步:年化节省 = 月用量 × 单价差 × 12。
用假设参数演示一次。假设你的链路月度消耗输入 3 亿 token、输出 6000 万 token,当前用的模型输入 $0.30 / 1M、输出 $0.60 / 1M:
- 输入:300 × 0.30 = $90
- 输出:60 × 0.60 = $36
- 月成本 = $126
现在某个平台把这个模型降价 10%,输入 $0.27、输出 $0.54:
- 输入:300 × 0.27 = $81
- 输出:60 × 0.54 = $32.4
- 月成本 = $113.4
月省 $12.6,年化 $151.2。
**第二步:把迁移成本摊出来。**换一个供应商或换一个模型,你要付的账至少包括:改配置和密钥管理(半个人日打不住,如果密钥体系没做好会更久)、完整功能验收(新模型的输出风格、指令遵循、结构化输出稳定性都要重跑一遍)、回归测试(下游解析逻辑、prompt 里的隐含假设)、以及切换后一段时间的观测成本。保守估算是 3 到 5 个人日。
**第三步:净收益 = 年化节省 − 迁移成本。**年化省 $151 对上 4 个人日的工程投入,这笔账在绝大多数团队都是明显的负数。结论就一句话:不换。
第四步:只有净收益显著为正才动手。「显著」的意思是留出至少一倍的余量——因为迁移成本你一定会低估,而年化节省是按当前用量线性外推的,用量本身会变。
我给自己的经验阈值是:**单价降幅低于 20%,或者年化节省小于一个人月的工程成本,一律不动。**小幅降价基本上永远不值得单独触发迁移,它只值得记在表里,等到下一次有别的理由要动这条链路时,顺手一起吃掉。
反过来看,什么样的价差才值得动?还是同样的月用量(输入 3 亿、输出 6000 万),按 2026-08-07 核对到的官方标价做一次跨平台算术演示:
- DeepInfra 的 DeepSeek-V4-Flash:300 × 0.09 = $27,60 × 0.18 = $10.8,合计 $37.8 / 月
- Novita 的 Deepseek V4 Flash:300 × 0.14 = $42,60 × 0.28 = $16.8,合计 $58.8 / 月
月差 $21,年化 $252,相对差距约 36%。这是同一模型口径下两家挂牌价的真实差距(就这个口径而言,DeepInfra 的挂牌价低于 Novita;不能由此推广成任何一家「全线更便宜」,也不能推断两者性能或稳定性有差异——那些我没有核实过)。你会发现,这种跨平台的结构性价差,量级上远大于一次小幅降价。与其盯着降价新闻,不如把候选平台的挂牌价一次性核准。
如果算完真的决定要动,接入层怎么改动最小,可以参考OpenAI 兼容接口迁移——好消息是主流推理平台大多提供 OpenAI 兼容端点,切换动作往往就是改 base_url、换 key、换模型 ID 三件事,这也意味着你日常就该把这三样做成配置项而不是硬编码。
比降价更值得盯的三类变化
跟价格跟久了你会发现,单价数字的小幅波动是所有变化里影响最小的一类。真正会改变你成本结构和工程排期的是下面三件事。
一、计费结构变化
新增一个缓存档,影响可能比降价 10% 大得多。还是按 2026-08-07 核对到的 DeepInfra DeepSeek-V4-Pro 标价做算术演示(输入 $1.30、缓存输入 $0.10、输出 $2.60),月用量仍取输入 3 亿、输出 6000 万:
- 完全不命中缓存:300 × 1.30 = $390,输出 60 × 2.60 = $156,合计 $546 / 月
- 假设输入里有 60% 是可缓存的固定前缀:命中部分 180 × 0.10 = $18,未命中部分 120 × 1.30 = $156,输出仍是 $156,合计 $330 / 月
省了 $216,降幅约 39.6%。而同样这条链路,如果只是单价整体降 10%,月成本从 $546 变成 $491.4,只省 $54.6。
一个能用起来的缓存档,价值相当于四次 10% 降价——而且它不需要你换平台,只需要你把 prompt 的固定部分挪到前面去。所以看到「新增缓存计费」这类公告,优先级应该排在「某模型降价」前面。同理还有按批处理折扣、按承诺用量折扣这类结构性变化,它们改变的是你的成本模型,不只是一个系数。
二、模型版本更替与旧版下线
这是唯一一类会强制你迁移的变化,因此也是最需要提前准备的。旧版本下线通常有公告期,但公告期长短各家不同,而且它落到你头上的时候,往往正好撞上你手头有别的排期。
我的做法是:在价格表里为每个正在用的模型加一列「已知的生命周期信息」,只填官方公告里写明的内容,没有公告就写「以官方公告为准」。同时保证候选表里至少有一个已经验证过可用的替补模型——不是「看起来能用」,是真的跑过一轮验收的。这样公告下来的时候,你是执行一个已经演练过的方案,而不是从零开始评估。
顺带一提,被迫迁移的时候也是顺手吃掉积攒下来的小幅降价的最好时机。你已经要付验收和回归的成本了,边际成本几乎为零。
三、限速与额度政策变化
RPM、TPM、并发上限、单请求体积上限这些数值一旦调整,影响的是你的容量规划,而不是账单——但它可能比账单更要命。限速收紧会直接表现为线上排队和超时;限速放宽则可能让你之前设计的降级链路变得不必要。
这里有个容易被忽略的细节:有些平台的速率限制是组织级别而非用户级别的,而且是多个维度同时生效、先撞到哪个阈值哪个就生效(Groq 的官方文档就是这么说明的)。这意味着你在测试环境跑得好好的,接了第二条业务线之后突然开始撞限速——因为两条线共用同一个组织配额。所以政策变化公告要和你的容量模型对照着看,不能只看单条链路。
如果某个平台的限速数值你根本查不到(这很常见,文档缺失或者页面 404 都会发生),稳妥的起步方式是:低并发起步,先观测再加压;把退避重试和降级链路当成默认配置而不是优化项;用小批量真实流量先跑出自己的单位成本和实际可用吞吐,再决定要不要把主链路压上去。这比对着一个猜来的数字做容量规划靠谱得多。
别被「最低价」牵着走
挂牌价最低的那家,不一定是你实际花得最少的那家。原因至少有三个:
**你的输入输出比例决定了哪一档单价对你重要。**同样的两家平台,一家输入便宜输出贵、一家反过来,对一个「长文档进、短结论出」的摘要任务和一个「短指令进、长文本出」的生成任务,排序完全可能颠倒。用你自己真实的 token 结构去乘,别看谁的头条数字漂亮。
**缓存档的存在与命中率会重排结果。**上面那个 39.6% 的算例已经说明问题:一家有缓存档而你的场景缓存命中率高,它的实际单价可能远低于另一家没有缓存档的低挂牌价。而缓存档能不能命中,取决于你的 prompt 结构,是你自己能控制的变量。
**稳定性和限速透明度也是成本。**这部分不进价格表,但它进你的总成本:超时重试要花两份钱,降级到备用链路的那部分流量按备用链路的价格计费,限速导致的排队会变成用户流失。一个愿意把逐模型的 RPM/RPD/TPM/TPD 公开成表格的平台,在容量规划上给你省下的时间,是有真金白银价值的。
怎么把「输入输出比例 + 缓存命中 + 重试」这三件事折进实际单价,大模型 API 价格表怎么读那篇讲得更细。选型时怎么按成本维度排候选,可以看按成本选模型。
还有一个经常被跳过的选项:**在换平台之前,先看看能不能在原平台降档。**同一系列的低档模型往往便宜一个数量级(上表里 V4-Pro 输入 $1.30 对 V4-Flash 输入 $0.09,就是十几倍的差距),而降档的迁移成本远低于换平台——base_url 和 key 都不用动,只改一个模型 ID,验收范围也小得多。降档的判断标准和验收方法见模型降档。我的经验是,多数团队在「换平台省 20%」上花的力气,如果投到「把非关键任务降档」上,回报要高一个量级。
一个务实的跟价节奏
看到新闻就动手,是最差的节奏。它的问题不只是浪费时间,还在于把工程排期变成了被外部消息驱动的随机过程。
我推荐两种触发方式,只有这两种:
季度性复查。每个季度找一个固定时间,把价格表里那几行对着官方定价页核一遍,更新数字和核对日期。这件事顶多花一小时,但它保证你的表永远不会烂掉。核完之后跑一遍上面那条决策链,看看有没有累积到值得动手的差额——注意是累积,几次小幅变动攒在一起,可能就跨过阈值了。
**明确的官方变更通知触发。**收到平台的正式公告(尤其是下线公告、计费结构变更、限速调整),当场评估,不等季度。这类通知的特点是它有明确时限,拖延没有好处。
至于社交媒体上刷到的降价消息,正确的处理动作是:记一笔待办,等季度复查时对着官方定价页核实。绝大多数这类消息在你的账单上激不起一丝波澜,而少数真正重要的,会通过官方渠道正式通知你。
自查清单
- 我能在五分钟内说出当前链路的月度成本和单位任务成本吗?说不出来就先建基线,别急着看价格新闻。
- 我的价格表里每一行都有核对日期吗?没有日期的价格数字直接删掉重记。
- 价格表里有没有混进未核实的猜测数字?不确定的一律标「未核实」或「以官方定价页为准」。
- 表里跟踪的模型是不是控制在十行以内?超出说明你在跟全市场,迟早维护不动。
- 面对一次降价,我算的是年化节省减迁移成本,还是只看了降幅百分比?
- 我是否已经确认过:在换平台之前,原平台降档或者用好缓存档,能不能拿到更大的收益?
- 每个正在用的模型,有没有一个已经跑过验收的替补?没有的话,下线公告来的那天你会很被动。
- 复查是按季度和官方公告触发的,还是被群消息牵着走的?