那天晚上我又在挑模型。两个候选,一个每百万 token 一块三,一个一块三毛五。价格差几乎可以忽略。我心想这还有什么好比的,随便选一个得了。
然后我点开那个网站的“按任务成本”视图,愣了几秒:同样的任务,一个花两美分,一个花九美分。
先停一下,问个问题:每百万 token 价格一样的东西,怎么单任务成本差了快五倍?
我一开始也以为是自己看错了。后来才发现不是。是其中一个模型为了得出那个答案,前后吐了五倍多的 token。这事本身不算新鲜,但那天晚上我意识到一个挺别扭的事实——我过去大半年比较模型性价比,用的可能一直是个错尺子。
每百万 token 价格,这玩意儿现在几乎人人都在看。榜单、对比表、选型讨论,开口就是“这个模型现在一块五了”“那个涨到三块了”。但它是价格,不是成本。价格是一升油多少钱,成本是跑完这段路烧了几升。两个车油耗差五倍的时候,你盯油价意义不大。
再往下呢?为什么有些模型会为了同一个答案烧那么多 token?因为推理强度。现在主流模型同一个名字底下挂着一排档位——low、medium、high、xhigh、max,每一档独立评测、独立得分、独立单任务成本。但注意,它们的每百万 token 价格是同一个。价格不变,成本暴涨,多出来的全是思考过程中吐出去的中间 token。我试过把某个模型的推理强度从 high 调到 max,得分没涨多少,单任务成本几乎翻倍。那晚我盯着这两条曲线,忽然觉得那个“value frontier”跟我一开始理解的根本不是一回事。
我原来以为“性价比前沿”就是画一条线,把便宜又强的模型圈出来。这层没错,但太薄。再往下剥一层:前沿的真正含义是,不存在任何一个模型,又比你便宜,又不比你笨。换句话说,你选的这个点,是用尽可能少的美元买到了这档智能——再往下压价格就得接受更笨,再往上提智能就得多掏钱。
这个定义其实很苛刻。它不管你“看起来还行”“综合感觉不错”,它只问一个二元的问题:有没有人既便宜又强于你?有,你就掉到前沿下面去了。这意味着前沿上的每个点,都是它那个价格段里最对得起钱的。但反过来也成立:一旦你站在前沿上,你每省下来的一块钱,都对应着实实在在掉下去的智能。
我承认,这个视角把我过去的一些选择照得有点难堪。我以前常用一个模型,因为它“各方面都够用,价格也不贵”。后来那网站更新了一次,我才发现它已经在价格和得分上都被另一个新模型双边压制了——更便宜,还更聪明。我还在那儿用呢,单纯是因为习惯。
但这个网站最值得说的不是“前沿”这个念头。是“按任务成本”这个视图。
价格视图把同名模型只画一个点,因为推理档位之间每百万 token 价格确实不变。看起来清清爽爽,一个模型一个位置。但切到按任务成本,每个档位单独一个点,唰一下散开成一条竖带。同一模型最低档和最高档的单任务成本能差好几倍。这几个点如果只看价格视图,全都叠在同一点上,像同一个人站在那儿。切过来才发现,那根本不是一个人,是一条由相同价格、不同成本构成的光谱。
这层是它真正有用的地方。因为它逼着你看一件反直觉的事:模型贵不贵,不取决于它怎么收费,取决于它怎么干活。
后来我在那个数据表里看到第 12 条,写得明明白白:两个每百万 token 价格相同的模型,单任务成本可能差数倍,原因是其中一个消耗的 token 远多于另一个。这其实就是说,定价是一回事,干活时的真实消耗是另一回事。以前我们的习惯是看定价,因为定价是明牌。但单任务成本才是你账单上真正出现的那个数字。
这也是为什么“每个模型一行”这个选项在两个视图里默认设置不一样:价格视图里默认开,因为一行一个模型价格相同,合并着看无妨;按任务成本视图里默认关,因为一合并你就把最高分那档留下来了,而最高分那档往往也是最高推理、最贵的一档。你以为你看到的是“这个模型的表现和成本”,其实是“这个模型最贵那个档位的表现和成本”。同名的低档位可能性价比好一截,被这个默认合并悄悄藏掉了。
不过我得说,按任务成本不是万能尺。这个指标直接取自 Artificial Analysis 的 API,是按它们的基准工作负载跑出来的加权平均成本,不是你自己的场景。覆盖的模型数量还比价格指标少。你在那看到的一个任务九美分,拿到你自己的代码库上可能是三美分,也可能是三毛。它给的是一个可比较的锚,不是你的账单预测。
但锚也不该被轻易