很多团队第一次做 AI 成本测算,要么只估个总数放在文档里,要么表格列了一堆却没人知道某格该填什么,月底账单来了才发现对不上。问题不在算得不准,而在表的结构和口径没定死。这篇给一份可以照抄的表格骨架:分几个 sheet、每列什么意思、数据从哪来、什么情况下这套算法不适用。
很多团队第一次做 AI 成本测算,要么在文档里估个总数就交差,要么拉了一张表却没人知道某格该填什么,月底账单来了才发现对不上。问题通常不在算得准不准,而在表的结构和口径没提前定死,改一个数全表乱,换个人接手又要重猜一遍。
下面给一份能直接照抄的表格骨架:先定几张 sheet,每张管一段;再定每行放什么字段、每格数据从哪来;最后定多久校准一次。全程不给死数字,需要数字的地方都写清去站内哪个页面核对当时的报价。
先定表的结构:三个 Sheet 各管一段
最容易犯的错是把估算、参数、实际账单全塞进一张表。结果是估的改一下,实际的那列跟着动,最后谁也说不清偏差到底出在哪。拆开之后,每张表只负责一件事,出错时也容易定位。
| Sheet 名 | 放什么 | 谁维护 | 更新时机 |
|---|---|---|---|
| 任务清单 | 一行一个业务场景,含频次、单次输入输出量级、模型档位 | 业务或产品侧 | 场景增删时 |
| 单次成本参数 | 单价口径、换算系数、缓存与重试折算比例 | 做测算的人 | 官方或渠道调价时 |
| 月度汇总 | 只做乘法与合计,字段越少越好,方便逐项对账单 | 做测算的人 | 每期账单出账后 |
- 三张表分别对应「我们要做什么」「一次大概多少钱」「这个月花了多少」,职责不要交叉
- 参数表里只放口径和系数,不要在里面写死任何具体单价,单价一律回站内页面现取
- 汇总表不写假设,只做引用和求和,方便和账单逐条比对
- 场景如果同时用到文本、图片、语音,按计费单位拆成不同 sheet,不要在一张表里直接求和
每行怎么填:把「一次调用」拆成可填的字段
填表的核心思路是:先算清一次典型调用花多少,再乘以次数。直接填月度总量看着省事,但一旦要调参或换档位,你没法判断变化来自哪里。按调用拆开,改一个变量就能看出影响。
- 拆输入输出输入 token 和输出 token 分两列填,别只填一个总量。两者单价口径通常不同,合并之后换算会失真。
- 填频次与单次量调用次数一列、单次 token 量级一列,两者相乘得到该场景的月度用量。别跳过乘法直接填结果。
- 加例外列缓存命中、批量合并、失败重试各加一列备注和折算比例。这些如果不折算,汇总会系统性偏低。
- 先写区间拿不准的格子先填低/中/高三档,汇总时按中位出一版、按高位出一版,两版都留着备用。
数据从哪来:三类别拍脑袋,去站内核对
测算表里最不可信的就是拍出来的单价。单价和口径这类会变的东西,不要在文章或表格里写死,统一去站内页面看当时的数字,自己手算容易错位。
- 报价口径
- 到 /official-api 对齐各家的计费方式与起步方式,看当时的页面为准
- 换算核对
- 用 /tools/model-cost-calculator 做一次换算,比自己拿计算器敲更稳
- 渠道倍率
- 到 /pricing-alignment-basics 走一遍口径对齐方法,不换算倍率和分组,比出来的数不成立
- 自家用量
- 调用次数与 token 分布优先从用量日志取,字段参考 /usage-log-fields 列的项
- 外部参照
- /usage 与 /price-watch 可以做参照,但别直接拿别人的用量当自己的输入
多久校准一次:把表变成能用的东西
只搭一次的表很快会过期。校准的意义不是把数字改得好看,而是发现偏差后判断是口径错了还是业务变了。两种情况处理方式完全不同。
- 上线前用估算表出一版预算,第一个完整周期结束后用真实账单回填,算一次偏差率
- 偏差超出预设阈值时先查口径:输入输出是不是填反、有无漏掉重试和缓存、档位有没有被悄悄换掉
- 模型、套餐、渠道任何一项变动就重新校准一次,别让表停留在旧口径上
- 表里留一列「假设依据」,写清关键数字的来源,换人接手不用重新猜
先对口径,再改数字。多数偏差不是估得不准,而是两边算的根本不是同一件事。
什么情况下这套表不适用
这套表的前提是「用量驱动成本」,而且调用量相对可预测。满足不了这个前提的场景,硬套只会得出误导性结论,不如换另一种估法。
| 场景 | 为什么不适用 | 改用 |
|---|---|---|
| 按席位订阅的办公工具 | 任务级 token 表算不出真实花销 | 按人头与活跃度估 |
| 内部试用期、波动极大的项目 | 估算误差大到没有参考价值 | 预算封顶加用量告警 |
| 自建推理 | 成本主要在显卡租期和闲置率 | 按租期整机算,参考 /compute/tco |
判断标准很简单:如果成本主要跟「多少人用」「多少台机器开着」相关,而不是跟「多少次调用」相关,就别用 token 表,换成人头表或整机租期表。
下一步拿不准单价和换算口径时,先去站内价格与工具页核对当时的数字,再回来填表,能省掉一轮返工。→常见问题
表格里要不要写具体单价?
建议不写在主表里,单独放一张参数页。单价会变,写在主表里每次调整都要改几十行,容易漏改。参数页只维护一份,主表引用它,涨跌时改一处即可。具体数字到站内价格页看当时的报价,别用几个月前的印象值。
估算和实际账单差很多,先查什么?
按这个顺序查:输入输出是否填反、有没有漏算重试与失败请求、缓存读写是否按不同口径计、模型档位中途有没有被换过、币种与汇率口径是否一致。多数偏差出在前两项,不是模型单价估错了。
小团队有必要做这么细吗?
如果每月花费在一个可接受的固定额度内、没有对外结算需求,用一页粗表加一个预算告警就够了。要做细的前提是:要么金额已经影响决策,要么需要向客户或财务解释每一笔去向。