LLM 成本优化
成本优化是持续的工作负载纪律,不是盲目降级模型。应测量原生用量、保护验收标准,并一次只改变一个变量。

速览快速结论
分离交互、批处理、智能体、Extract、Coding 与 Multimodal 路径。
优化前定义质量、结构定义、安全、延迟与审查工作量。
依据实测输入、输出、重试、缓存、工具与智能体 Loop。
确认供应商账单、监控回归,并在变化后重新评估。
从成本树开始
把总成本拆为工作负载量、路由结构、Input、Cached Input、Output、Reasoning、媒体、工具、重试、失败输出、人工审查与平台费。同时加入业务分母,例如被接受的报告、已解决工单或完成的 Agent 任务,避免把高流量误判为低效率。使用经过对账的用量与账单证据为驱动因素排序。
应选择最大的可控驱动因素,而不是最容易优化的指标。重复静态上下文可能适合 Prompt Caching,过大的检索内容可能需要更好的 Chunk Selection,冗长输出可能需要更严格 Schema,简单分类任务可能适合较低模型层。每个杠杆影响不同系统部分,应分别评估。
更便宜的模型可能增加 Prompt 长度、重试或审查工作;更短 Prompt 可能降低质量,激进缓存也可能提供过期上下文。应在质量、延迟与安全门禁下优化每个可接受结果的成本,并在账单对账前报告估算不确定性,而不是只庆祝 Token 行下降。
优化杠杆
| 杠杆 | 最适合 | 选择前验证 |
|---|---|---|
| 能力适配模型 | 负载可使用更小或专业模型且不破坏门禁。 | 核对 Golden Task、版本固定、路由策略与故障切换语义。 |
| 提示词与输出 | 冗余上下文或无限制输出是实测驱动因素。 | 核对质量、指令损失、截断、结构化输出与缓存影响。 |
| 缓存与批处理 | 稳定前缀重复,或离线工作可以等待。 | 核对资格、TTL、失效、隐私、完成窗口与失败。 |
| 重试与智能体 Loop | 重复尝试或工具轮次消耗大量用量。 | 核对单一重试 Owner、预算、幂等、终止与工具正确性。 |
每个实验的保护
固定提示词、模型、路由、工具、Evaluator 与工作负载 Sample。
一次只改变一个主要变量,使节省与回归可解释。
纳入所有尝试、工具、未通过结果、审查与平台费用。
发布前定义质量、安全、延迟与错误阈值。
运行优化循环
一次只改变一个主要杠杆,让结果仍可归因。Baseline 与 Candidate 使用同一组工作负载样本和验收标准,并在两边都计入重试、故障切换、缓存写入、工具调用与人工审查。
- 按工作负载、租户、路由与结果分段测量并对账稳定 Baseline。
- 选择最大可控驱动因素,提出一个带停止条件的有界假设。
- 使用共享质量、Schema、安全与延迟门禁以及完整成本证据进行 A/B 或 Replay。
- 检查节省导致更多重试、无效输出或审查工作的尾部案例。
- 灰度并监控回归,公开假设,在价格或工作负载变化后安排重新评估。
把优化变成闭环控制
运营 Telemetry 进入只追加的原生用量账本,并携带路由、模型版本、尝试、计费维度与结果标签。工作负载 Registry 提供代表性评测集与验收门禁。Optimizer 提出版本化的路由、Prompt、检索或缓存变更,而不是直接修改生产行为。
Evaluation Runner 测量可接受结果和完整估算成本;Canary 在实时流量中执行推进与回滚阈值。供应商导出与账单对账随后用财务证据替换或调整估算,并把差异反馈到下一次 Baseline,避免优化长期依赖过期的 Token 假设。
生产规则:同一工作负载未通过同一验收门禁,且对账证据未支持结果前,绝不能宣称节省。
分别优化模型与能力支出
QVeris 的外部 API、工具、服务与实时数据调用可能按请求、记录、数据包、计算或订阅计费,而不是 Token。应在能力账本中保留原生单位、价格版本、新鲜度与质量结果。若更便宜的数据源返回过期或不完整证据,导致 Agent 失败,就不能算节省。
模型推理与能力访问应分别优化,再在工作流验收门禁处汇合。测试模型重试能否复用已验证工具结果、检索能否减少字段,以及是否只有部分决策需要更短实时数据新鲜度窗口。最终报告可接受工作流总成本,但不要把不同单位折算成虚构 Token 数。
优化合格结果成本,而不是单纯 Token 单价
更便宜的模型可能增加重试、工具调用、人工审核或失败任务。应使用相同工作负载集比较路由,并在质量门槛之后计算每个合格结果的成本,包括所有 Attempt 与外部工具。
accepted_cost = (
model_input_cost
+ model_output_cost
+ cache_write_cost
+ gateway_fee
+ tool_cost
+ retry_cost
+ human_review_cost
) / accepted_results
compare_by = [
"workload", "route", "exact_model", "prompt_version",
"quality_gate", "latency_slo", "region", "price_version"
]
# Never average unrelated workloads into one global model score.- 先选择已有客观质量检查的高流量工作负载。
- 一次只测试提示词缩减、输出上限、缓存、批处理、路由或模型中的一个变量。
- 只有合格成本改善且不破坏延迟、安全或可靠性门槛时才推广。
实施参考已根据官方资料核验:OpenTelemetry GenAI conventions。
常见问题
选择最大且已对账、可安全测量并可逆的驱动因素。
不是。它可能需要更多上下文、重试、审查或回退尝试。
实验前定义门禁,并固定 Evaluator 版本。
