很多团队不是算不出一个月多少钱,而是周中就发现额度见底、临时加钱。问题通常出在两头:一是没统计过一周真实的请求量和输入输出比例,二是拿单次对话的价格直接乘,忽略了重试、上下文变长和缓存这几块。这篇给一套按周走的流程,从用量口径到单价核对再到缓冲系数,算完你能自己判断这周该充多少。
不少团队不是算不出一个月的账,而是周中突然发现额度见底、临时加钱。问题基本出在两头:一是从没认真统计过一周真实的请求量和输入输出比例,二是拿单次对话的直觉价格去乘,忽略了重试、上下文变长和缓存这几块。
下面这套流程按周走:先把用量变成能加总的数字,再换成 token,最后对着站内当天的单价算钱并留出缓冲。算完你能自己判断这周该充多少,而不是拍脑袋充一个数然后祈祷。前提是你手上有调用日志,没有日志的话先去把日志字段补齐。
第一步:把一周的用量变成可加总的数字
别用「大概每天多少条」估。去调一段时间的调用日志,按天累加三项:请求数、输入 token、输出 token,取一周总和。日志字段不全就先补字段,站内有日志字段清单类的页面可以参考应该记哪些维度。三项分开记,后面每一步都靠它们。
- 输入和输出必须分开统计,两者单价不同,混在一起的总数没法用来算钱
- 长上下文任务、带文档问答的任务,输入往往是输出的好几倍,别按对话轮次想当然
- 把「成功请求」和「重试请求」分开:被限速或超时后重发的部分一样计费,做预算时要单独留出重试率
- 走中转站而不是官方接口的,先确认对方计费口径与官方是否一致,口径不同用量数字不能直接搬
没有日志时怎么快速起量
- 挑一个有代表性的业务日选流量接近平均水平的正常工作日,不要选大促或节假日,把当天所有调用按接口、按功能模块导出
- 补记输入输出如果日志里只记了请求体和响应体大小,用站内的 token 估算工具换算一次,拿到输入输出 token 的近似值
- 乘以天数并标记误差把单日数字乘以七天得到周量级,同时在备注里写明这是估算而非实测,后续用真实数据替换
第二步:把 token 换成钱,单价当天去站内核
单价不要凭记忆写死。DeepSeek 的官方单价会调整,也存在缓存命中等更低档位。到站内官方 API 价格页和 DeepSeek 厂商页核对当天的输入、输出单价,以及缓存命中档是否适用你的场景。核对动作应该在你每次做预算时都做一遍。
| 项目 | 数据来源 | 注意事项 |
|---|---|---|
| 输入 token 总量 | 一周调用日志累加 | 不含重试的单独放一行 |
| 输出 token 总量 | 一周调用日志累加 | 长文本生成任务占比高的要复核 |
| 输入单价 | 站内官方 API 价格页当天数值 | 缓存命中档另算一列 |
| 输出单价 | 站内官方 API 价格页当天数值 | 不要与输入单价混用 |
| 重试损耗 | 重试请求数 × 单次平均 token | 按最坏情况先计入 |
换算公式是固定的:输入 token 总量乘输入单价,加上输出 token 总量乘输出单价。不要拿「一次对话大概多少钱」的直觉值去乘周请求数,那个误差通常在几倍以上。缓存命中比例高的时候实际支出会明显低于按全量输入算出来的数,但这部分波动大,估算时先按不命中算,命中的部分当作余量。
- 想省掉手算,用站内的 token 单价换算工具或模型成本计算器,把周用量填进去直接出结果
- 把公式写进表格,改一处单价全表自动更新,避免每次重新推导
- 单价和用量要分开存放,单价变了只改单价区,用量数据不受污染
第三步:加缓冲系数,并在一周中途核对一次
按估算值上浮一段比例当缓冲,覆盖重试、上下文变长、临时压测和新功能上线。比例多高取决于业务波动:稳定的批处理任务可以留得少,面向用户的交互式应用要留得多。没有绝对合适的数,先按你上一周实际超出估算的幅度来定。
- 周初充估算值的八成不要一次充满,把余额控制在略低于预估的水平,给自己留出观察窗口
- 周中核对消耗速度看的是「消耗速度」而不是「总额」:同样花掉一半,三天花完和六天花完,后面的动作完全不一样
- 按速度决定动作速度正常就按原计划,速度明显偏快就查是哪个功能模块在涨,再决定是补额还是先限流
- 设置预算告警阈值给账号设一个告警线,具体怎么设站内有专门做法可参考,先把跑飞的窗口限制在可控范围内
| 周中观察到的现象 | 可能原因 | 下一步动作 |
|---|---|---|
| 消耗速度与上周持平 | 业务稳定 | 按原计划执行,不做调整 |
| 消耗速度明显加快 | 新功能上线或上下文变长 | 定位到具体模块,先确认是否预期内 |
| 重试占比升高 | 限速或超时增多 | 查上游稳定性,重试损耗要补进预算 |
| 输入远大于输出 | 批量文档处理类任务为主 | 检查是否可以用缓存命中档,到站内价格页核对是否有更低档 |
哪些情况这套算法不适用
这套按周估算法成立的前提是有相对稳定的用量基线,并且计费口径与官方单价一致。这两个前提有一个不成立,结论就会偏。下面几种情况要换方法。
- 业务量本身波动极大、没有稳定基线时,按周估算的意义有限,更适合按天滚动看消耗、随时调整
- 用量里有大量非文本模态或工具调用时,token 口径只覆盖模型调用那一段,工具、检索、存储的费用要另外算
- 已签包量或走中转站阶梯折扣的,实际结算价与官方单价脱钩,应该直接用合同价或对方账单口径来算
- 多个账号或多个项目共用一套额度时,按项目分摊比按整账号估算更合理,否则单个项目超支会被平均数掩盖
按周估算的价值不在于算得多准,而在于让你在周三就发现问题,而不是周五才发现余额不够。下一步把上面的公式和字段整理成一张自己的周度预算表,然后到站内的价格追踪页核对当天单价、到中转站导航页确认计费口径,两边对齐后再决定这周充多少。→
常见问题
没有历史日志,新项目怎么估第一周的花费?
先用一个最小可用版本跑两三天,把真实请求量、单次平均输入输出长度记下来,再线性外推一整周。宁可估高一点,第一周先少充,看实际消耗速度再补。同时留一个人盯着调用量,发现比预期快就及时降级模型或砍掉不必要的上下文。
输入和输出哪个更影响周花费?
看任务类型。问答、文档总结这类,输入往往是输出好几倍,即使输入单价更低,总量也会把输入推成主要成本;纯生成、写代码补全这类,输出占比高。所以做估算时先按任务分类,分别统计两者的比例,别用一个平均比例套所有场景。
按周估出来的数,和月底账单差很多正常吗?
常见,差异通常来自三块:缓存命中比例、重试和失败请求、以及中途改了模型或提示词导致上下文变长。周度估算本来就是用来做充值决策的,不是用来对账的;真要核账,拿实际账单去比对,口径差异可以看站内账单核对相关的页面。