很多团队开始做 AI 成本治理时,第一步都是看单价。这没问题,但如果系统已经进入正式业务,只看单价通常不够,因为后面把预算拉开的,往往是调用结构。
所以这篇不讲抽象概念,直接讲一套更接近实战的成本治理思路。
一、先别急着只换便宜模型
如果预算开始变重,很多团队第一反应是换模型,或者把高价模型全部往下切。
但更常见的情况是,下面这些结构性问题在先:
- 高频轻任务也走高成本主链路
- 长背景和系统指令被重复发送
- fallback 和重试没有单独记账
- 多轮上下文越积越长
如果这些问题没处理,单纯换模型,很多时候只是把问题挪了位置。
这也是很多团队在第一轮成本优化里最常见的误区。单价确实会降一点,但如果调用结构没有改,最后只是把同样的请求链搬到了另一组模型上,整体账单不会从根上变轻。
二、先把请求按结构拆开
更常见的做法,是先把请求粗分成三层:
L1:轻任务,短问答、分类、基础改写L2:中任务,结构化整理、标准分析、普通工具调用L3:重任务,长文档、复杂推理、知识前处理
拆层之后,成本问题会清楚很多:
L1最看重吞吐和成本L2兼顾稳定性和效率L3更看重完成度和更少返工
如果三层混在一起,预算很容易失真,因为高价值任务和高频轻任务会一直争同一层资源。
而且这种失真通常会直接影响后面的判断。你看到的是"高价模型占比很高",但真正的问题可能只是 L1 请求太多;你看到的是"整体均价变贵了",但实际是长背景和 fallback 在抬成本。
三、成本治理里更值得看的几个数字
更有用的数字,通常不是单价本身,而是下面这些:
- 每类任务的调用占比
- 高价模型里有多少请求其实属于
L1 - fallback 触发率和二次调用比例
- 稳定背景重复发送的 token 占比
- 每条链路的平均请求成本
这些数字一旦拉出来,很多"模型越用越贵"的问题就会变得很具体。
如果日志再完整一点,通常还会继续看两项:一项是峰值时段的平均请求成本,另一项是不同业务链的成本差异。因为很多问题不是所有链路都贵,而是某一两条链路在持续放大预算。
四、一个最小的统计思路
如果已经接在 147API 这种统一入口上,日志最好至少带上这些字段:
text
task_type = L1 / L2 / L3
model = claude-sonnet-4-6 / gpt-4.1 / ...
fallback = true / false
retry_count = 0 / 1 / 2
input_tokens = ...
output_tokens = ...
cost = ...
只要这些字段开始稳定记录,后面至少能回答几个关键问题:
- 是哪个任务层在持续吃预算
- 是哪个模型承担了太多不该给它的请求
- 是 fallback 放大了成本,还是背景内容太长
没有这层记录,成本治理很容易只剩主观感觉。
而一旦只剩主观感觉,团队就很容易在错误的位置反复优化。比如一直想压输出长度,却没有意识到真正占大头的是输入侧的稳定背景;或者反复比较模型报价,却没有先处理掉 fallback 的放大效应。
五、为什么统一入口会让成本治理更顺
从工程角度看,147API 更适合作为主线入口:
- 可以统一接入 Claude、GPT、Gemini 等主流模型
- OpenAI 风格接口兼容,旧项目迁移更轻
- 后面补任务分流、fallback 和多模态能力更顺
- 价格、专线和人民币结算更利于长期治理
更重要的是,统一入口能把模型选择、路由规则、fallback 和成本统计收在同一层。这样后面无论是调模型,还是看结构问题,都不用把日志拆得到处都是。
六、一个更接近实战的治理顺序
很多系统最后是按这个顺序把成本慢慢拉回来的:
- 先拆轻任务和重任务
- 再找出被重复发送的稳定背景
- 把 fallback 和重试单独记账
- 最后再决定哪些链路该换模型,哪些链路该换结构
这样做的好处,是能先把结构问题看清,而不是一开始就把所有原因都归到模型单价上。
很多系统后面真正起作用的,也不是某次"换模型"本身,而是先把错误的调用方式理顺了。结构一旦收住,单价优化才会变得更有效,不然很容易越调越碎。
最后
多模型成本治理难的地方,不是模型太多,而是调用结构太容易失控。只看单价,很多问题会被看浅;把任务层、背景层、fallback 层和入口层一起看,成本问题才会慢慢清楚。对于既想用 Claude,又不想把系统长期绑死在单一路径上的团队,统一接入、多模型路由和成本治理会比单次模型比较更重要。