大模型应用如何做 token 预算和成本优化?
简化版
token 预算要在系统提示、上下文、检索片段、工具描述、用户输入和输出上分配额度。成本优化常用模型路由、上下文压缩、缓存、批处理、输出长度控制、降级模型和离线预计算,但不能牺牲关键任务质量。
详细版
- 输入 token 和输出 token 都会影响成本,输出还影响响应时长。
- RAG 片段越多不一定越好,过多会增加成本并稀释注意力。
- 模型路由可以让简单问题走小模型,复杂问题走强模型。
- 输出长度、温度、重试次数和工具调用次数都要纳入预算。
- 成本优化要和质量评测绑定,避免省钱省到不可用。
完整版教学
记忆钩子:成本优化不是砍 token,而是把 token 花在最能降低错误的位置。
一、这题真正考什么
记忆钩子:成本优化不是砍 token,而是把 token 花在最能降低错误的位置。
Token 预算是一项逐请求资源分配:系统提示、历史、检索、工具 schema、当前输入和输出预留共享同一窗口。成本治理要先保证必要证据与任务成功,再压缩低价值上下文,不能只追求 token 最少。
二、核心原理和工程边界
LLM 请求成本通常按 token 计费,系统的吞吐和延迟也受 token 数影响。token 预算就是在有限上下文窗口里决定哪些信息值得放进去。好的优化会先做流量分层,再对高频路径加缓存和压缩,对低价值信息做裁剪,对高风险请求保留强模型。
三、带数字的工程算例
假设一次请求输入 6000 token、输出 1000 token,单价分别是每百万 2 元和 8 元,则单次约 6000/1e6*2 + 1000/1e6*8 = 0.02 元。每天 50 万次就是约 1 万元,10% 的无效上下文也很贵。
单次成本 = input_tokens / 1e6 * 输入单价 + output_tokens / 1e6 * 输出单价
上下文预算 = 系统提示 + 用户输入 + 检索片段 + 工具描述 + 输出预留
节省率 = 1 - 优化后总成本 / 优化前总成本
四、典型链路怎么跑
可以把这类问题拆成下面的链路来理解:
统计请求 token 分布
|
识别高频高成本路径
|
设置预算和截断策略
|
引入缓存与模型路由
|
跑质量回归
|
上线监控成本和错误率
五、方案对比和选择标准
| 手段 | 节省对象 | 风险 |
|---|---|---|
| 上下文压缩 | 输入 token | 可能丢关键证据 |
| 输出限长 | 输出 token 和延迟 | 答案不完整 |
| 模型路由 | 单次价格 | 小模型误判 |
| 缓存 | 调用次数 | 过期和串权限 |
六、上线后最容易出问题的地方
-
只按平均 token 做预算会忽略长尾请求,长尾可能拖垮成本和延迟。
-
重试策略如果没有上限,会在模型波动时制造成本尖峰。
-
路由到小模型前要检查困难样本漏判率;省下的调用费可能被重试、人工处理和错误决策成本抵消。
七、常见误区与追问
- 误区:减少 RAG chunk 数一定会降低错误率。 chunk 过少可能漏掉证据,过多才会增加噪声;应通过召回率和答案正确率联合选择。
- 误区:小模型路由只需要按问题长度判断。 短问题也可能需要复杂推理或高风险判断,路由特征还应包含任务类型、工具需求和置信度。
- 误区:输出越短用户体验越好。 过短会丢步骤、证据和风险说明,应按任务设最小完整性与最大预算,而非统一截断。
- 追问:如何为不同用户设置 token 配额? 按套餐、任务价值和并发预算分层,区分单请求上限与周期总额,并为高风险任务保留必要上下文。
- 追问:模型路由的分类器怎么评估? 在每个模型可胜任性标签上测混淆矩阵,重点看把困难请求误送小模型造成的质量损失。
- 追问:成本下降和质量下降如何权衡? 画成本—质量 Pareto 曲线,并把重试、人工接管与错误代价纳入总成本,而非只看 API 单价。
八、加强记忆
记住“先量化,再分层,再压缩,再路由,再验收”。成本优化必须有账本,也必须有质量护栏。