▌推理比答案贵得多,而且你看不到
向GPT-5.6抛出一道一行就能写完的数学题,它给你的回答只有10个看得见的令牌。但账单上写的是81个,多出来的71个全花在你看不到的推理环节,占到了单次输出费用的88%。
这已经是本次测试里最温和的选手了。同一道题,GLM 5.2对一个4令牌的答案开出了217个完成令牌的账单,推理消耗占比达到98%。Qwen3.7-max更夸张,完全一样的回答收了1104个完成令牌,推理占比冲到99.3%。这不是什么偶发故障,是推理类模型设计上就定好的计费方式,而绝大多数成本面板至今不会把这些数字拆给你看。
▌一张账单,五种令牌
一次看上去简简单单的模型调用,背后可能同时记录着最多五类令牌,分别按四种不同的单价结算。
按照OpenAI兼容接口的字段命名,这五类是:输入令牌(prompt_tokens)、输出令牌(completion_tokens)、推理令牌(reasoning_tokens,被归类在输出令牌明细里)、缓存读取令牌(cached_tokens)和缓存写入令牌(cache_write_tokens)。Claude系列产品使用了另一套标签体系,把推理消耗记在output_tokens_details.thinking_tokens底下,计入输出费用;缓存写入则按留存时长进一步拆成ephemeral_5m_input_tokens和ephemeral_1h_input_tokens,分别对应1.25倍和2倍的输入单价。解剖结构完全相同,只是账单的表达方式不同,这个数据口径上的坑我们后面还会专门讲。
让我们回到GPT-5.6那个真实的返回对象。整次调用的完整计费明细就藏在下面这段json里:提示令牌38个,完成令牌81个,合计119个。完成令牌明细中,推理令牌占去71个。扣减之后,真正在屏幕上显示给用户的答案只有10个令牌,恰好就是那行“401”。单次调用成本0.000524美元,这就是账单运算的全部底稿。
▌这道题,五个模型都没算对
我们特意挑了这道题来做测试,是因为它有唯一正确答案,而且答案只有三四行,无论哪个分词器都能把它切成固定长度的3-4个令牌。题目看上去不复杂:有多少个不大于1000的正整数,能被3或5整除,但不能被15整除?
正确答案是401个。计算逻辑并不深:1000以内3的倍数有333个,5的倍数有200个,加起来减去被重复计算两次的那66个,得到467个。再剔除掉同时被3和5整除、也就是被15整除的那66个,最终剩下401。题目故意卡在一个刚好能让模型想“多想一想”的难度区间,我们才好观察到推理行为本身的消耗。
结果是五组模型在不开思考模式的情况下全部答错了,分别给出了399、400、427、466和467的答案。GPT-5.6是唯一一个不靠推理模式就能直接答对的选手。而当所有模型都被切换到推理模式运行之后,每一家的回答都整齐地变成了401。
▌缓存读写,账单和报价对上了
Claude Sonnet 5在这轮测试中贡献了一个值得留意的细节:在没有主动发送思考参数的情况下,它依然对一条5令牌的回答花费了114个思考令牌。如果你在成本面板里只盯着输出令牌总数看,根本不会注意到这笔隐性消耗的存在。
另外一次验证发生在Claude的缓存计费上。一次1181令牌的缓存写入操作产生了0.01246美元的费用,随后读取同一条缓存花费0.00566美元,这两项金额和官方公布的定价表完全吻合。至少在缓存这块,账单没有玩任何花活,小数点后五位都对得上。
热门跟贴