我最初只是好奇,一个月流水才几十万的产品线,是怎么在三个月内把 LLM 账单从 4.8 万干到 27 万的。财务把月度成本表格发到工作群的时候,整个技术部都安静了几秒。当时我们还在用最原始的“大家在各个业务代码里直接拼 prompt、直接调各家 API”的方式,没有统一网关,没有用量统计,更没有成本预算的概念。说白了,LLM 能力刚接入那阵子,所有人的兴奋点都在“能做什么”上,“花多少钱”根本没人算过。
这篇文章就是想把我们后来做的“成本感知型 AI 平台”拆开讲清楚。它不是什么高深的研究项目,而是一整套针对 LLM 费用失控的治理方案:从成本数据的采集、计量、分账,到模型路由、缓存、Prompt 瘦身这些优化手段,再到最终承载这些能力的平台架构。如果你所在的团队也正在被大模型账单追着跑,这篇文章值得你花十分钟看完。
1. 账单失控的真相:钱不是一次花光的,是一点点漏光的
先聊点扎心的。很多人一听到“LLM 费用暴涨”,第一反应是“是不是有人在拿生产环境的 Key 乱调模型”。我们排查了一圈发现,真正的问题比这隐蔽得多。账单爆炸是多个环节的小浪费叠加出来的结果,每一个单独拎出来看都不至于让人警觉,合在一起就是灾难。
1.1 一条 prompt 从 200 token 涨到 3000 token,成本翻了 15 倍
我们最早接的一个客服机器人场景,刚上线的时候 system prompt 大概 200 token,一问一答的上下文控制在 1000 token 以内,单次调用成本折合人民币不到一分钱。当时业务方觉得效果不够好,产品经理往里加功能,工程师往里加工具描述,运营往里加品牌话术。三个星期以后再看,system prompt 变成了 1800 多 token,再加上每次请求带上的对话历史、业务标签、用户画像数据,单次调用成本轻松突破一毛钱。
一天一百万次调用,就是一天 10 万块钱的输入费用。而这一切只是改了一段“看起来没多大变化”的代码。
这个案例里最反直觉的地方在于:token 是隐形成本。你加一段 500 字的工具说明,在代码评审里完全看不出问题,但它会跟着每一次请求一次不落地发送给模型。调用量越大,越小的 prompt 增量越致命。
1.2 重试风暴:一次用户请求,背后可能付了三倍的钱
另一个典型案例是重试逻辑。我们某个定时分析任务,调用外部大模型做文本摘要,代码里有这样一段逻辑:
python复制for attempt in range(3):
try:
response = client.chat.completions.create(
model="gpt-4o",
messages=messages,
)
break
except Exception:
time.sleep(2)
看起来就是一个标准的“失败重试三次”,但问题在于:这个任务每五分钟跑一次,某天上游数据源不稳定,每次请求都超时,每次超时都会触发重试。也就是说,原本一个任务消耗一次 token,因为异常,实际消耗变成了两次三次。而且这个任务处理的文本还特别长,一次就是 2 万 token 起步,重试两次就是 6 万 token。
那天单单这一个任务就烧掉了正常情况下的 5 倍费用。
1.3 模型误选:杀鸡用牛刀,而且天天在用
还有一个特别普遍的问题:不分场景,一律调用最强的模型。
我们内部做过一次统计,接入平台的所有请求里,有大约 34% 的调用其实只做关键词抽取、意图分类、实体识别这类简单任务。用当时的标杆大模型来做,效果确实好,但成本也是小模型的十倍不止。有些场景甚至连模型都不用换,用 GPT-4o-mini 级别的模型,准确率几乎没差别,价格却便宜了一个数量级。
那为什么大家不换?因为“没人告诉我这个场景可以用便宜模型”,大多数人只会往自己最熟悉的型号上面靠。
1.4 传统 API 网关为什么会漏掉 LLM 成本
我们当时内部不是没有监控。普通 API 网关有请求量、响应时间、错误率,但这些东西和“成本”之间隔
