Skip to content

LLM 成本预算表:把 token、模型、缓存和业务价值算清楚 ​

这篇文章解决什么问题 ​

大模型项目从 Demo 到上线,成本经常突然失控:Prompt 越写越长、RAG 上下文越塞越多、工具循环调用、评测跑批、用户增长、模型升级。没有成本预算表,就很难判断一个 Agent 产品是否真的能商业化。

LLM 成本预算表的目标是把每个任务的 token、模型、工具、缓存、评测和人审成本拆开,形成可估算、可监控、可优化的成本模型。

为什么需要成本预算 ​

Agent 项目成本不是只看一次模型调用。一次任务可能包含:

  • 意图识别调用。
  • 计划生成调用。
  • RAG query rewrite。
  • embedding 和向量检索。
  • rerank。
  • 多次工具调用。
  • 结果生成。
  • Judge 评测。
  • 人工接管。
  • 日志、存储和监控。

如果只看最终回答的 token,很容易低估真实成本。

成本拆解表 ​

成本项说明优化方向
Input Tokens系统提示、历史、证据、工具 schemaPrompt 瘦身、上下文裁剪
Output Tokens模型生成内容输出长度控制、结构化摘要
Model Price不同模型单价不同模型路由、降级策略
Embedding文档和 query 向量化增量入库、缓存
Rerank候选证据重排控制候选数量、按需启用
Tool Calls外部 API、搜索、数据库批处理、去重、缓存
EvaluationJudge、回归评测抽样、离线批处理
Human Review人工审批和接管风险分级、运营台效率
Infra数据库、队列、向量库、日志资源配额、冷热分层

单任务预算模板 ​

字段示例
task_typeresearch_summary
model_routesmall -> large fallback
avg_input_tokens6000
avg_output_tokens1200
avg_tool_calls3
avg_retrieved_chunks8
avg_eval_calls1
cache_hit_rate35%
cost_per_task估算值
p95_cost_per_task估算值
business_value节省 20 分钟人工阅读

预算表要按任务类型拆,不同任务成本差异很大。

任务类型分层 ​

任务类型成本特征策略
FAQ 问答短输入、短输出、高频用小模型、缓存、严格上下文
RAG 深度问答证据多、引用要求高控制 top_k、rerank 按需启用
长文总结输入长、输出中等分块摘要、层级摘要
数据分析 Agent工具调用多、可能多轮限制工具循环、SQL dry-run
多 Agent 研究多模型、多步骤任务预算、步骤预算、人工中断
批量评测调用量大但离线低峰运行、抽样、便宜模型 Judge

不要用一个平均成本覆盖所有任务。高频低价任务和低频高价任务要分开治理。

Token 预算怎么设 ​

Token 预算不是越大越好。建议为每个阶段设置预算:

阶段预算策略
System Prompt固定版本,避免不断膨胀
Tool Schema只暴露当前可用工具,按需加载
Chat History摘要压缩,保留关键事实
RAG Context控制 chunk 数量和长度
Memory只放相关且可信的记忆
Output明确最大长度和结构

一个常用做法是设置 context budget:系统规则 10%,历史 15%,RAG 50%,工具 schema 15%,输出预留 10%。具体比例要按项目调整。

成本监控指标 ​

指标作用
cost_per_task单任务平均成本
p95_cost_per_task长尾任务成本
token_per_tasktoken 使用量
model_mix各模型调用占比
cache_hit_rate缓存命中率
tool_call_count工具调用次数
retry_cost_ratio重试带来的额外成本
eval_cost_ratio评测成本占比
cost_per_success成功任务成本,而不是所有任务平均
cost_by_tenant租户级成本和配额

cost_per_success 很重要。如果一个 Agent 单次任务便宜但失败率高,真实有效成本可能更高。

优化手段清单 ​

手段适用场景风险
Prompt 瘦身系统提示过长可能丢失约束
Tool Schema 按需加载工具很多路由错误会漏工具
RAG top_k 控制上下文过长召回不足
Query Cache高频相似问题过期和权限问题
Answer CacheFAQ需要 tenant 和 permission key
Model Routing简单任务用小模型路由错误影响质量
Batch Eval大量评测延迟结果,不适合在线
Early Exit低价值任务提前结束可能影响体验
Human Handoff高成本低置信任务人工成本增加

成本优化不能牺牲安全边界。不要为了省 token 删除权限、引用和安全策略。

预算门禁 ​

可以把成本接入 Release Gate:

门禁示例
avg_cost_per_task不高于上版 10%
p95_cost_per_task不超过业务预算
retry_cost_ratio不超过 15%
model_mix大模型调用占比不超过阈值
cache_hit_rate高频 FAQ 不低于目标
cost_per_success不退化

当 Prompt 或模型变更导致成本上涨时,要能在上线前发现。

面试表达模板 ​

我会为 Agent 系统设计成本预算表,把一次任务拆成 input/output token、模型路由、embedding、rerank、工具调用、评测、人审和基础设施成本。然后按任务类型统计 cost_per_task、p95_cost、cost_per_success、retry_cost_ratio 和 cost_by_tenant。优化时会做 Prompt 瘦身、上下文预算、工具 schema 按需加载、缓存和模型路由,但不会牺牲权限、引用和安全策略。

常见误区 ​

误区一:只看 token 单价 ​

真实成本还包括失败率、重试、工具、评测、人审和基础设施。

误区二:只看平均成本 ​

长尾任务可能吞掉预算。必须看 p95 和高成本任务分布。

误区三:为了省钱删安全上下文 ​

安全策略、权限说明、引用约束和审计字段是上线必需品,不能简单当作可删除 token。