← 返回题目列表

大模型应用如何做成本控制?

高频 中等 第 6 / 25 题 更新于 2026/09/18
LLMOps可观测性成本优化应用工程

简化版

大模型成本控制不能只看 Token 单价,应看“每次成功任务成本”。完整成本包括输入/输出 Token、重试、多模型调用、检索与重排、工具、GPU 空闲、人工审核及失败返工。

做法是先按租户、场景、模型和版本建立成本账本,再从减少无效调用、压缩上下文、限制输出、缓存、模型路由、批处理和容量规划逐层优化。所有节省措施必须同时回归质量、P95/P99 延迟与安全,避免便宜但失败率更高。

详细版

先计算基线:

cost_per_success = total_model_and_system_cost / successful_tasks

然后拆出成本驱动项:输入 Token、输出 Token、平均调用轮数、失败重试率、缓存命中、模型分布和人工接管率。优先删除没有业务价值的重复上下文与无界 Agent 循环,再做小模型路由、语义/前缀缓存和推理量化。

手段主要收益主要风险
Prompt/RAG 压缩降低输入成本丢失关键证据
输出预算降低生成成本答案被截断
模型路由简单任务用小模型错误路由损害质量
缓存避免重复计算过期、权限和隐私
Batch/量化降低自部署单位成本延迟或精度变化

预算要有事前配额、运行时硬上限和事后归因;上线用固定评测集和 A/B 比较“成本—质量—延迟”Pareto,而不是只报告总账下降。

完整版教学

1. 成本口径为什么先于优化

API 账单只是显性成本。一次回答还可能包含 Embedding、向量检索、重排、审核、工具调用、重试和人工接管;自部署还包括 GPU、空闲容量、网络和运维。

若只优化模型单价,可能把工作转移到更多调用或人工环节。应先定义任务成功和端到端核算范围。

2. 每次成功任务成本怎么算

total_cost = model + retrieval + tools + infrastructure
           + retries + human_review
cost_per_success = total_cost / successful_tasks

例如便宜模型单次成本降低 40%,但任务成功率从 90% 降到 55%,重试后未必更省。分母必须是业务成功,不是 HTTP 200。

3. 建立可归因的成本账本

每次调用记录租户、场景、模型版本、Prompt 版本、输入/输出 Token、缓存命中、调用轮数、延迟和结果状态。单价使用带生效时间的版本表,避免价格变更后历史账单漂移。

对自部署模型,可按 GPU 秒、显存占用或 Token 分摊固定成本,但方法需一致并能解释。成本标签禁止直接包含用户敏感文本。

4. 先消灭无效调用

常见浪费包括客户端超时后模型仍在生成、Agent 无界循环、解析失败无限重试、相同请求重复提交和已无证据仍继续调用。

设置 Deadline、取消传播、幂等键、最大步骤和重试预算,通常比换便宜模型风险更低。每次重试要记录原因,避免把确定性错误当瞬时故障反复执行。

5. 输入 Token 如何优化

System Prompt 去重,历史对话按任务摘要,RAG 对文档去重并动态选择 TopK,Few-shot 只保留对当前任务有贡献的示例。

压缩后必须验证证据召回和指令遵循。简单按字符截断可能删掉权限、安全规则或答案依据,属于错误节省。

6. 输出 Token 如何控制

明确输出 Schema、长度要求和停止条件,按场景设置 max tokens。分类、抽取类任务不应默认生成长解释,创作任务则不能用同一短预算。

流式服务在客户端断开后立即取消生成;否则无人消费的 Token 仍产生费用。截断率和 finish reason 应进入监控。

7. 模型路由如何降成本

简单、高置信任务路由到小模型,复杂、低置信或高风险任务使用强模型。路由器可结合任务类型、输入长度、风险等级和小模型置信度。

expected_cost = route_cost
              + model_cost
              + fallback_probability × fallback_cost

必须把误路由与二次升级成本算入,而不是只统计首选模型价格。

8. 缓存什么时候有效

精确缓存适合确定性、重复请求;语义缓存适合答案容忍同义问题的场景;前缀缓存降低共享长前缀的 Prefill 成本。

缓存键绑定模型、Prompt、知识库、权限和策略版本,并设置 TTL/主动失效。个性化、高时效或高风险回答不能仅凭相似度复用。

9. 自部署如何提高资源效率

连续批处理、量化、KV 分页和合适卡型可降低单位 Token 成本。低流量模型可安全共置或缩容,高流量模型根据 SLO 曲线选择副本数。

GPU-Util 高不等于经济性高。应比较在相同质量与 P99 下的每百万有效 Token 或每成功任务成本。

10. 配额与预算如何分层

租户级设置日/月预算和 Token 速率,场景级设置单请求 Token、调用次数和工具费用,平台级设置总预算与异常熔断。

控制阶段机制作用
事前配额、成本预估阻止明显超预算任务
运行时Token/步骤/Deadline防止单次失控
事后归因、告警、复盘修正策略与预算

达到软阈值可告警或降级,硬阈值才拒绝;高风险业务不能为省钱绕过安全校验。

11. 异常成本怎样发现

监控每请求 Token、调用轮数、缓存未命中、重试、模型分布和单位成功成本的分位数。按租户和版本比较,识别 Prompt 发布或流量变化造成的突增。

告警要基于相对基线和绝对预算双阈值。新业务自然增长不应与单请求泄漏混为一谈。

12. 如何做优化实验

固定线上回放与质量评测,分别比较总成本、成功率、TTFT/P99、安全和人工接管。只改变一个主要变量,例如模型路由阈值或 RAG TopK。

对新策略做小流量灰度,设质量下降和成本反弹回滚线。节省比例应在相同任务分布下计算,避免样本变简单造成假收益。

成本优化的目标不是让一次调用最便宜,而是用最低可持续成本交付一次合格结果。

13. 常见误区与追问

  • 误区:换最便宜模型就是成本优化。 成功率下降会增加重试和人工成本。
  • 误区:Token 单价就是总成本。 检索、工具、基础设施和失败返工也要计入。
  • 误区:上下文越短越省且无副作用。 关键证据和安全规则可能被删。
  • 误区:缓存命中越高越好。 过期或越权命中会制造质量与安全事故。
  • 误区:GPU 利用率越高单位成本越低。 尾延迟和失败率可能同步恶化。
  • 追问:先优化哪里? 优先取消无效调用和重复 Token,再评估模型路由与基础设施。
  • 追问:如何证明真的省钱? 在同一质量和延迟约束下比较每成功任务成本。

14. 加强记忆

  1. 先定口径:端到端总成本除以成功任务。
  2. 再做归因:租户、场景、模型、版本、Token 和重试。
  3. 再删浪费:取消、幂等、步骤与重试上限。
  4. 再省 Token:压输入、控输出,但回归质量。
  5. 再做路由缓存:算上误路由、升级与失效风险。
  6. 再提资源效率:Batch、量化、容量和卡型。
  7. 最后用 Pareto 验收:成本、质量、延迟、安全一起看。