单价没涨,AI 的账单为什么翻倍
一、单价没涨,账单却涨了
先说一个反常识的现象:这一年模型单价一直在降,不少公司的 AI 账单却在涨。
原因不复杂。单价是按每一百万字算的,而你把多少字送进去,是自己决定的。
公开报道里有一句话说得挺准:AI 一边在省钱,一边在浪费。任务变多,用量自然上去;另一部分钱,是白白重新算了一遍。
所以看到账单涨,第一反应不该是换便宜模型,而是先问一句:这一次调用,真的需要付这么多吗。
二、长上下文是分期付款:每一轮都要重付前面的历史
现在的 AI 功能很少只问一句答一句。多数是带着一大段背景:产品说明、历史记录、上几轮对话、工具说明。
这些背景第一次付过钱,第二轮再问时,还要再付一次。
公开的技术文章把这叫「每轮重算历史」:上下文越长,每一轮的固定开销越大,而且这部分和你这次问的问题没关系。
更麻烦的是它会叠加。一次任务跑十轮,同一段背景就付了十次。账单自然比试点时厚。
一段两千字的说明,一天问一千次,就是两百万字。这笔钱在账单上叫「输入」,在开会时没人提。
三、缓存能省八成,前提是「每次都一样」
缓存(把上次算过的结果存起来,下次遇到同样的开头直接取用)就是为这件事准备的。
公开资料里有一项今年一月的评测:打开提示词缓存之后,同一批任务的接口费用下降四成一到八成,第一个字出来的时间也快了一成到三成。
价格结构大概是:写进缓存要多付一点,读缓存只按很小的一折收。
所以它不是技术优化,更像一条计费规则:同样的开头反复出现,就只该付一次的钱。
四、四个常见的「把缓存打断」的写法
缓存能不能命中,取决于每次送进去的开头是不是一模一样。下面四种写法,几乎一定会把它打断。
第一种,系统提示里带了时间戳或者「今天是几号」。
第二种,把工具清单或者选项按随机顺序拼进去,每次顺序都不一样。
第三种,把「你好,某先生」这类只属于当前用户的话,放在共享说明的前面。
第四种,每次请求都带上一点随机内容,比如一个流水号。
这四种都不影响功能,但会让每一次调用都按全价重算。改起来通常只是一两行。
五、失败重跑:最贵的一种浪费
比缓存没命中更贵的是重跑。
一次调用没给出可用的结果,系统自动再来一次,这一步在账单上是双倍,而用户什么都没看到。
重跑往往集中在两类情况:输出格式不对被校验打回,或者写出来的东西没过内部检查。
公开的技术文章也提到这点:评估成本要按输入、输出、缓存、重试、工具调用分项看,只盯着每百万字多少钱,永远看不出钱漏在哪。
所以「成功率」这个数,要当成成本指标来管。
还有一种更隐蔽的重跑:等太久、超时重发。前一次的钱照付,后一次从头再来,用户只看到慢。
六、工具调用返回的东西,大半没人看
让 AI 去查订单、查库存、看日志,工具会把结果原样带回来。
问题是很多接口返回的是整页数据,而真正被用到的只有三五个字段。
这些字段会变成下一次调用的输入,一遍遍重复付费。
能做的很朴素:工具返回只留需要的字段。这件事不用改模型,只改自己那一层的取数。
七、先量三个数:输入、命中、重跑
在动手之前,先把三个数量出来,别凭感觉优化。
第一个是单次任务的输入字数,看它是不是比自己以为的大一个量级。
第二个是缓存命中比例,多数平台的账单里能看到「缓存读取」和「普通输入」两行。
第三个是重跑比例,用「总调用次数除以成功任务数」估一下,超过一点二就值得查。
三个数都不难拿,有的在账单里,有的在自己日志里。量完再决定改哪一处。
三个数里最容易被忽略的是命中比例:账单通常把它单列一行,不看,就等于把它当成零。
八、便宜模型不是第一步
账单高的时候,最顺手的动作是换一个更便宜的模型。
但便宜模型通常意味着更长的提示词(为了让它照做)、更多的重试、更差的格式稳定性。
三样加起来,总价未必低。公开的采购建议也是同一句:比价要比「同一个任务跑成功一次的总成本」,不是比单价。
先把浪费去掉,再谈换模型。顺序反了,往往白折腾一轮。
九、什么时候换模型才划算
有三种情况,换模型确实划算。
一是任务本身简单,分类、抽取、改写这类,小模型够用。
二是量足够大,单价差一点乘以百万次就是真钱。
三是现在的模型在格式上反复出错,重跑比例压不下来。
换之前留一份对照:同一批真实请求,两个模型各跑一遍,比成功率与总成本,不比标价。
十、Batch 与错峰:不急的活别用实时价
还有一处不用改代码的省钱办法:把不急的活挪到批量通道。
公开的价格结构里,批量通道通常是实时价格的一半,代价是结果要等,不是立刻返回。
适合放的:夜间生成报表摘要、批量打标签、历史数据清洗。
代价是排队。提交之后要等几分钟到几小时才回来,所以只放没人守着的活。
不适合的:用户正在等的问答。分清楚哪一半可以等,账单立刻降下来。
十一、自建的那笔账要按「有效字」算
如果考虑自建,账更难算。
机器是固定的,用不用都要付;而外面按用量付,用多少付多少。
公开的建议是:先压测出吞吐,再把每月固定成本除以真正处理成功的字数,和外面按同一套算法比。
别忘了把运维的人算进去。自建的便宜,通常便宜在「有人盯着」这个前提上。
十二、今天能做的三件事
第一件,把系统提示里的时间戳和随机内容拿掉,让开头固定下来。这一件最快见效。
第二件,把工具返回的字段砍到需要的几个。
第三件,在账单里找到缓存那一行,把命中比例记下来,作为下个月的对照。
三件都不动业务逻辑,做完再看账单,通常能看到第一处变化。
十三、这笔账多久复核一次
用量是随业务长的,一次调好不管,三个月后又会回到原点。
建议每季度看一次三个数:输入字数、缓存命中、重跑比例。
哪一项变差,就从那一项对应的写法开始查,而不是一上来就换模型。
账单这件事,最贵的从来不是单价,是每轮都在为同一段历史付钱。
本文作者:Aryee 发布时间:2026-10-28 06:02
本文出处:ARYEE.cn 固定链接:https://www.aryee.cn/archives/ai-bill-doubled-cache-miss.html
转载或引用请连这一行一起带走;文中的代码与结论按当时环境成立,组件升级后请以官方文档为准。