记录一下那天晚上的排查过程。同时用 Batch API 和 flex processing 跑离线标注,以为 50% 加 50% 能叠到 75%,账单只降了一半,对账差了三千多。
刚开始盯着「batch 的输出 token 不参与折扣」,折腾了半个多小时,排掉了。
原因不止一个,得分开看。两种折扣互斥,不会叠加计算。也可能是flex 只作用于在线同步接口。
还有一种情况,计费按请求完成的时间段归档。
第一件事是按接口类型拆开账单明细
curl -s https://api.openai.com/v1/organization/costs -H "Authorization: Bearer $KEY"
再往下把同一批数据分别用两种方式跑做对照
python run_batch.py --mode batch --input data.jsonl
随后用 usage 接口核对 token 与金额
curl -s 'https://api.openai.com/v1/usage?date=2026-11-14' -H "Authorization: Bearer $KEY"
末了把折扣假设写进成本模型并回归
python cost_model.py --check assumptions.yaml
改完先别撤,确认这几项。成本模型算出的金额与账单相差不超过 1%,每一笔都能对应到具体的接口类型。
补一句。折扣规则要以账单为准,营销页上的百分比往往只针对某一类 token,混跑之前先拿一百条做一次小额对账。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。
