AI 预算一个月烧穿?四层限额和月度复盘怎么做

没有上限的调用,出事时往往已经烧完了
我们碰到过一个挺典型的场面。一家做电商的客户,客服机器人接了旗舰模型,平时一天几十块钱,谁都没当回事。某个周五晚上,前端重试逻辑写错了,失败就重试、重试又失败,一晚上跑出去四十多万次请求。周一早上看到账单,运营负责人半天没说话。
这类事故有个共同点:它不是慢慢涨上去的,是几个小时内冲顶的。所以「月底看账单再优化」这条路基本走不通,你得让它在冲顶那一刻就被挡住。下面这套做法我们在几个客户那里跑过,分四步:预算分层、软硬限额、异常检测、月度复盘。
第一步:预算分层,别只做一个总池子
只设一个总预算,最大的毛病是出事时不知道该找谁。分层不是为了省钱,是让每一笔钱都有归属人。
| 层级 | 管什么 | 怎么落地 | 负责人 |
|---|---|---|---|
| 团队层 | 部门月度总额 | 独立子账号或独立 key,账单可分 | 部门负责人 |
| 项目层 | 单个项目或活动周期 | 一项目一 key,项目结束就停用 | 项目经理 |
| 功能层 | 一条工作流、一个机器人 | 在网关或调用层打标签,按标签统计 | 产品/研发 |
| 单次调用层 | 一次请求的 token 上限 | max_tokens、上下文裁剪、超时中断 | 开发 |
四层里最容易被跳过的是功能层。大部分团队做完团队层和项目层就停了,结果账单上只知道「客服部花了八千」,不知道这笔钱属于知识库问答还是工单摘要。真出问题时,还得一个个翻日志。做AI 工作流自动化的客户尤其要注意——一条工作流里往往挂了三四个模型调用节点,不按节点打标签,成本就是一笔糊涂账。
单次调用层看着琐碎,其实性价比最高。一个 max_tokens 没设,模型写出八百字废话,钱照付。上下文每轮都带全量历史,聊到第二十轮,单次成本是第一轮的十几倍。
第二步:软限额和硬限额,两个都得有
软限额负责提醒,硬限额负责兜底。只有软限额等于没有限额——告警发到群里,谁也不认领,第二天照旧。
- 六成:日常提醒,只发给功能负责人,不用升级。
- 八成半:告警升级,抄送部门负责人,附上当天的调用分布。
- 额度用尽:降级而不是直接报错。旗舰模型切到小模型,或者优先返回缓存结果,同时把事件推给人。
- 超出两成:硬断。这里必须真的拒绝请求,不能再放行。
为什么额度用尽时要降级而不是报错?因为硬限额一定会误伤正常业务。用户侧体验掉一档,总比白屏强。我们见过一个客服场景,硬限额一触发直接返 500,客户那边以为系统崩了,投诉比多花那点钱严重得多。
硬限额的调整权限一定要收上去。这不是流程洁癖。真实情况是,业务方嫌麻烦,自己把上限改成原来的十倍,然后这件事没有任何人知道。三个月后再看,预算形同虚设。
第三步:异常检测,看总量没用,看分布才有用
日消耗总额这个指标,涨了才知道,通常已经晚了。真正能提前报警的是分布类指标:
- 单请求 token 的 P95 和最大值。中位数没动、最大值突然翻十倍,基本是提示词被改坏,或者混进了超长文档。
- 输入输出比。输出 token 突然暴涨,常见原因是模型陷进循环,或者有人在拿它生成长文。
- 按 key、按用户、按 IP 的分布。某一个 key 占了全天七成调用,要么是它承载了核心业务,要么是它被拿去跑批了。
- 重试率和失败率。重试必须设次数上限和退避间隔。前面那个跑掉四十万次的事故,根子就在重试没有天花板。
- 缓存命中率。这个数字掉下来,往往意味着流量结构变了,或者缓存 key 被改过。
这些指标不需要多复杂的工具,多数网关和模型 API 与成本管理面板里就能看到。关键是每天有人扫一眼,而不是等月结单。我们在给客户做AI 智能体私有化部署时,会把这几个指标直接接到他们现有的监控体系里,不另开一套系统。
第四步:月度复盘,问四个问题就够
- 钱花在哪个功能上,那个功能带来了什么?对不上业务价值的调用,先关掉再讨论。
- 有多少调用是重复的?同样的问法反复问,缓存能挡掉相当一部分。这一项通常能省下两成左右,具体看业务重复度。
- 有多少调用其实用小模型就够?分类、抽取、格式转换这类活,旗舰模型是浪费。分级路由是成本控制里回报最快的一招。
- 下个月的预算往上调还是往下压,依据是什么?没有依据就别调,保持原样再观察一个月。
复盘不用开长会,半小时够了。但结论要落到配置上,否则下个月还是同一张表。
几个我们踩过的坑
- 限额设在网关层,但有人直连厂商 API。绕过网关的流量,限额管不到,账单上却会出现。入口要收口,这事只能靠制度加技术一起卡。
- 免费额度和试用 key 散落在个人手里。半年后没人说得清哪些还在用、哪些该停。一开始就登记。
- 只盯单价不看总量。便宜模型用错地方,成本一样能翻倍——尤其是那种一次请求塞进整份合同的场景。
- 预算做完了不告诉人。团队不知道有上限,触发降级时第一反应是「系统出 bug 了」,然后提工单。
说到价格,这类成本管理方案没有统一报价:小团队只做 API 网关加告警,投入很小;要打通内部系统、做分级路由和私有化部署的,投入会明显上一档。具体以实际方案与报价为准,先做一次调用盘点再谈钱更靠谱。
下一步:先把「谁在花钱」这件事搞清楚
如果你现在只有一个总账单,别的什么都没有,别急着上工具。花半天时间导出一周的调用日志,按 key 和功能分个组,你大概就能看出八成问题在哪。有了这个底子,再去做分层限额,配置才不会拍脑袋。相关的记录表我们放在知识库里,可以直接拿去改。
需要人一起看的话,把日志脱敏后发过来,我们帮你过一遍。也可以直接打 400-873-2750,或者联系我们约个时间聊。