问问助手

单价没涨,AI 的账单为什么翻倍

2026-10-28 Aryee 1
单价没涨,AI 的账单为什么翻倍

一、单价没涨,账单却涨了

先说一个反常识的现象:这一年模型单价一直在降,不少公司的 AI 账单却在涨。

原因不复杂。单价是按每一百万字算的,而你把多少字送进去,是自己决定的。

公开报道里有一句话说得挺准:AI 一边在省钱,一边在浪费。任务变多,用量自然上去;另一部分钱,是白白重新算了一遍。

所以看到账单涨,第一反应不该是换便宜模型,而是先问一句:这一次调用,真的需要付这么多吗。

二、长上下文是分期付款:每一轮都要重付前面的历史

现在的 AI 功能很少只问一句答一句。多数是带着一大段背景:产品说明、历史记录、上几轮对话、工具说明。

这些背景第一次付过钱,第二轮再问时,还要再付一次。

公开的技术文章把这叫「每轮重算历史」:上下文越长,每一轮的固定开销越大,而且这部分和你这次问的问题没关系。

更麻烦的是它会叠加。一次任务跑十轮,同一段背景就付了十次。账单自然比试点时厚。

一段两千字的说明,一天问一千次,就是两百万字。这笔钱在账单上叫「输入」,在开会时没人提。

三、缓存能省八成,前提是「每次都一样」

缓存(把上次算过的结果存起来,下次遇到同样的开头直接取用)就是为这件事准备的。

公开资料里有一项今年一月的评测:打开提示词缓存之后,同一批任务的接口费用下降四成一到八成,第一个字出来的时间也快了一成到三成。

价格结构大概是:写进缓存要多付一点,读缓存只按很小的一折收。

所以它不是技术优化,更像一条计费规则:同样的开头反复出现,就只该付一次的钱。

四、四个常见的「把缓存打断」的写法

缓存能不能命中,取决于每次送进去的开头是不是一模一样。下面四种写法,几乎一定会把它打断。

第一种,系统提示里带了时间戳或者「今天是几号」。

第二种,把工具清单或者选项按随机顺序拼进去,每次顺序都不一样。

第三种,把「你好,某先生」这类只属于当前用户的话,放在共享说明的前面。

第四种,每次请求都带上一点随机内容,比如一个流水号。

这四种都不影响功能,但会让每一次调用都按全价重算。改起来通常只是一两行。

五、失败重跑:最贵的一种浪费

比缓存没命中更贵的是重跑。

一次调用没给出可用的结果,系统自动再来一次,这一步在账单上是双倍,而用户什么都没看到。

重跑往往集中在两类情况:输出格式不对被校验打回,或者写出来的东西没过内部检查。

公开的技术文章也提到这点:评估成本要按输入、输出、缓存、重试、工具调用分项看,只盯着每百万字多少钱,永远看不出钱漏在哪。

所以「成功率」这个数,要当成成本指标来管。

还有一种更隐蔽的重跑:等太久、超时重发。前一次的钱照付,后一次从头再来,用户只看到慢。

六、工具调用返回的东西,大半没人看

让 AI 去查订单、查库存、看日志,工具会把结果原样带回来。

问题是很多接口返回的是整页数据,而真正被用到的只有三五个字段。

这些字段会变成下一次调用的输入,一遍遍重复付费。

能做的很朴素:工具返回只留需要的字段。这件事不用改模型,只改自己那一层的取数。

七、先量三个数:输入、命中、重跑

在动手之前,先把三个数量出来,别凭感觉优化。

第一个是单次任务的输入字数,看它是不是比自己以为的大一个量级。

第二个是缓存命中比例,多数平台的账单里能看到「缓存读取」和「普通输入」两行。

第三个是重跑比例,用「总调用次数除以成功任务数」估一下,超过一点二就值得查。

三个数都不难拿,有的在账单里,有的在自己日志里。量完再决定改哪一处。

三个数里最容易被忽略的是命中比例:账单通常把它单列一行,不看,就等于把它当成零。

八、便宜模型不是第一步

账单高的时候,最顺手的动作是换一个更便宜的模型。

但便宜模型通常意味着更长的提示词(为了让它照做)、更多的重试、更差的格式稳定性。

三样加起来,总价未必低。公开的采购建议也是同一句:比价要比「同一个任务跑成功一次的总成本」,不是比单价。

先把浪费去掉,再谈换模型。顺序反了,往往白折腾一轮。

九、什么时候换模型才划算

有三种情况,换模型确实划算。

一是任务本身简单,分类、抽取、改写这类,小模型够用。

二是量足够大,单价差一点乘以百万次就是真钱。

三是现在的模型在格式上反复出错,重跑比例压不下来。

换之前留一份对照:同一批真实请求,两个模型各跑一遍,比成功率与总成本,不比标价。

十、Batch 与错峰:不急的活别用实时价

还有一处不用改代码的省钱办法:把不急的活挪到批量通道。

公开的价格结构里,批量通道通常是实时价格的一半,代价是结果要等,不是立刻返回。

适合放的:夜间生成报表摘要、批量打标签、历史数据清洗。

代价是排队。提交之后要等几分钟到几小时才回来,所以只放没人守着的活。

不适合的:用户正在等的问答。分清楚哪一半可以等,账单立刻降下来。

十一、自建的那笔账要按「有效字」算

如果考虑自建,账更难算。

机器是固定的,用不用都要付;而外面按用量付,用多少付多少。

公开的建议是:先压测出吞吐,再把每月固定成本除以真正处理成功的字数,和外面按同一套算法比。

别忘了把运维的人算进去。自建的便宜,通常便宜在「有人盯着」这个前提上。

十二、今天能做的三件事

第一件,把系统提示里的时间戳和随机内容拿掉,让开头固定下来。这一件最快见效。

第二件,把工具返回的字段砍到需要的几个。

第三件,在账单里找到缓存那一行,把命中比例记下来,作为下个月的对照。

三件都不动业务逻辑,做完再看账单,通常能看到第一处变化。

十三、这笔账多久复核一次

用量是随业务长的,一次调好不管,三个月后又会回到原点。

建议每季度看一次三个数:输入字数、缓存命中、重跑比例。

哪一项变差,就从那一项对应的写法开始查,而不是一上来就换模型。

账单这件事,最贵的从来不是单价,是每轮都在为同一段历史付钱。

你手上那套系统,卡在哪一步?

留个手机号和方便的时间,我打过来先听你说现状和限制,再给一个能执行的判断:这套系统该继续修、该动哪里,还是重做一版更省。

约一次沟通不接纯 UI 外包,只做系统层面的问题。不方便留号码,也可以直接跟助手说一句话。