Skip to content

LLM Cost Chargeback:大模型成本分摊与租户账单设计 ​

这篇文章解决什么问题 ​

很多 Agent 项目上线前只算“总 token 成本”,上线后才发现真正难的问题是:哪个租户最贵?哪个功能最烧钱?哪些失败重试浪费最多?免费用户和付费用户如何分配额度?团队内部怎么解释预算消耗?

LLM Cost Chargeback 的目标是把大模型成本从“平台总账单”拆到 tenant、workspace、user、agent、feature、run 和 tool 层级,让成本可解释、可限额、可优化、可计费。

为什么要做成本分摊 ​

问题没有 chargeback 的后果
租户成本不可见大客户和小客户成本混在一起
功能 ROI 不清楚不知道哪个 Agent 功能值得继续投入
失败成本不可控重试、超时和错误调用持续烧钱
配额无法设计免费版、团队版、企业版边界模糊
优化没有方向不知道该优化 Prompt、RAG、模型还是缓存

Chargeback 不一定等于立刻收费,但它是商业化和平台治理的基础。

成本账本字段 ​

每次模型或工具消耗都应该进入成本账本:

字段说明
cost_event_id成本事件 ID
run_id / step_id关联执行轨迹
tenant_id / workspace_id成本归属
user_id触发用户
agent_id哪个 Agent
feature问答、报告、代码审查、评测等
model调用模型
input_tokens输入 token
output_tokens输出 token
cached_tokens缓存命中 token
tool_cost外部工具成本
eval_cost评测成本
retry_count重试次数
success是否产生有效结果
amount折算金额
created_at时间

关键是把 cost_event 和 run_id 关联起来,否则只能看到账单,看不到成本来自哪个任务。

成本指标 ​

指标说明
cost_per_task单任务成本
cost_per_success成功任务成本
cost_per_user单用户成本
cost_per_tenant租户成本
retry_cost_ratio重试成本占比
eval_cost_ratio评测成本占比
cache_saving_rate缓存节省比例
model_mix各模型成本占比
p95_cost高成本长尾
cost_per_feedback_positive正反馈任务成本

不要只看平均成本。p95_cost 和 retry_cost_ratio 往往更能暴露问题。

分摊维度 ​

维度用途
tenant企业账单、租户限额
workspace团队内部预算
user滥用检测和个人额度
agent哪个 Agent 成本高
feature哪个功能 ROI 低
model模型路由优化
tool外部工具成本治理
eval离线评测预算
environmentdev / staging / prod 成本隔离

评测环境和生产环境要分开,否则开发调试会污染产品成本判断。

配额策略 ​

策略示例
hard quota租户每月最多 100 万 token
soft quota超过后报警但不立刻停用
per-run budget单次任务最多 2 万 token
per-tool budget某工具每天最多调用 100 次
eval budget每晚评测最多消耗固定预算
burst credit企业客户允许短时突增
approval over budget超预算任务需要审批

配额不是只限制用户,也保护系统不被异常任务和重试风暴拖垮。

计费模型 ​

如果要商业化,可以从简单到复杂:

  1. 免费额度 + 超额限制。
  2. 按 seat + token 包。
  3. 按任务成功数计费。
  4. 按功能包计费,例如 RAG、数据分析、代码审查。
  5. 企业版自定义额度、模型和审计。

不建议一开始就做复杂计费,但应该提前把成本归属字段打好。

成本异常排查 ​

当成本突然上升时,按这条链路排查:

  1. 哪个 tenant / agent / feature 上升?
  2. 是 input_tokens 还是 output_tokens 上升?
  3. 是模型切换还是 Prompt 变长?
  4. 是 RAG top_k 增大还是上下文重复?
  5. 是工具失败导致重试?
  6. 是缓存命中率下降?
  7. 是评测任务异常放量?
  8. 是否有滥用或 Prompt Injection 导致循环?

成本异常通常不是“模型变贵”这么简单,而是系统策略、任务质量和失败恢复共同导致。

面试表达模板 ​

我会为 LLM 调用建立成本账本,把每次模型、RAG、工具和评测消耗都关联到 run_id、tenant_id、agent_id、feature 和 model。这样可以计算 cost_per_task、cost_per_success、retry_cost_ratio、cache_saving_rate 和 p95_cost。上线后如果成本异常,可以按租户、功能、模型、缓存和失败重试逐层定位,而不是只看平台总账单。

常见误区 ​

误区一:只记录总 token ​

总 token 不能回答哪个租户、哪个功能、哪个失败路径最贵。

误区二:成本优化只靠换便宜模型 ​

很多成本来自 Prompt 冗余、RAG 上下文过长、工具重试和缓存缺失。

误区三:评测成本可以忽略 ​

大规模离线评测会持续消耗预算,必须和生产成本分开管理。

相关链接 ​