# 估算 LLM 成本并核对用量

## 区分估算与最终扣费

厂商公开标价、平台公开参考价和账号实际生效价格是不同信息。制定预算前检查当前[账号计费信息](/account/pricing)与模型契约。不要把文档示例当成报价，也不要假设不同模型对所有 Token 类别采用相同规则。

若费率按每百万 Token 表示，简单估算为：

```text
estimated cost = input_tokens / 1,000,000 × input_rate
               + output_tokens / 1,000,000 × output_rate
```

这是概念公式，不是平台计费实现。实际应使用路由规定的单位、币种和价格规则。缓存读取、缓存写入或推理若单独计费，应按其定义计算，避免对重叠用量重复计数。缺失字段不能推断为免费。

## 规划工作负载预算

用小规模代表性样本观察输入长度与输出需求。只看平均值会掩盖长尾请求，应纳入较长输入场景。仅在模型支持时设置对应输出上限，同时设置应用请求次数和并发边界。重试、更长历史和多步骤工具循环都会增加工作量。

在无状态请求模式下，对话历史通常由客户端再次发送。裁剪无关历史可缩短输入，但需要验证任务仍有足够上下文。没有路由与账号价格的证据时，不假设自动缓存或缓存折扣。

## 保留核对记录

| 字段 | 用途 |
| --- | --- |
| 应用操作 ID | 将同一用户任务的多次尝试关联起来 |
| 返回的原生请求 ID（如有） | 协助定位问题 |
| 公开模型 ID、端点、时间 | 识别使用的契约 |
| 原生 usage 对象 | 保留分类，便于后续核对 |
| 完成状态与重试次数 | 纳入失败和中断尝试 |
| 已观察的最终扣费与价格依据 | 比较实际花费和估算 |

记录中不包含凭据与私密内容。流式连接在返回用量前断开时，应标记未知，并与账号记录核对，不创建零成本记录。客户端超时且服务端结果不确定时也如此。

## 比较通过验收的工作

对固定评测样本，将实验总实际花费除以按预先规则通过验收的任务数。费用中保留重试与失败。若没有任务通过，单个通过任务的成本未定义，而不是零。单独报告不完整的用量回执，不把它们隐藏在平均值里。

用[评测指南](/zh/docs/llm/evaluation)定义验收标准，用[流式指南](/zh/docs/llm/streaming)保留用量，通过[重试指南](/zh/docs/llm/errors-and-retries)约束实验。本页不承诺具体价格或节省比例。
