OnlySOTA 不评测模型。本站的每一个数字都由别人发布,也都与发布者的名字并列显示。本站做的只有一件事:对齐。同一个模型,无论各家榜单把它的名字写成什么样,都会被识别出来、归到一处。
这件事比听起来难得多。单看一张榜很容易,难在把两张榜放在一起比较:难点从来不是排名本身,而是确认这张榜上的某一行,和另一张榜上的某一行,究竟是不是同一个模型。
数字从哪里来
每个数据源按计划定时抓取,并作为快照提交到仓库。抓取和构建是两个独立的步骤:站点只用已经存档的文件重新构建,构建过程从不实时调用任何外部接口。这样做有两个刻意追求的结果。一是上游宕机不会导致部署失败;二是数字旁边的日期是它被抓取的日期,而不是页面重新构建的日期,所以一个没有变化的页面,会如实显示它没有变化。
每个数据源自己的榜单都在 /leaderboards 下按原作者发布的形式呈现,并附有出处栏:发布方、许可协议(如有注明)以及更新频率。
这里的「归一化」指什么
只有三件事,没有更多。
把名字解析到模型。 claude-opus-4-5、Claude Opus 4.5 和 anthropic/claude-opus-4.5 是同一个模型。匹配依据一份人工维护的别名表,只做精确匹配,没有模糊匹配兜底。原因在于,一次错误的模糊匹配是看不出来的;一个悄悄把两个不同模型合并在一起的聚合站,比一个坦承「分辨不出」的聚合站更糟。
把运行配置与模型身份分开。 Claude Opus 5 (Max Effort) 是一个模型加一项设置,而不是第二个模型。规模、发布阶段、带日期的构建也一样:同一次发布的十一种规模,是同一个模型的十一个档位。
匹配不上的名字照常显示。 它会被标记为「未识别」,留在原始榜单上,而不是被丢弃。悄无声息地丢弃数据,正是聚合站在不知不觉中失真的方式:榜单看起来依然合理,却已经不再完整。
绝不做的事:不合成综合分
本站不会把不同数据源的分数做平均、加权,或以任何方式合成单一排名。首页不会,结构化数据里不会,任何地方都不会。
之所以要特别说明这一点,是因为它恰恰是每个聚合站都会被要求提供的功能。两张榜一平均,看起来就像是一张意见一致的榜,但这份一致是人为制造的。不同基准在不同条件下衡量不同的东西:一场有标准答案的考试,和一轮「人们更喜欢哪个回答」的投票,加在一起并不会更接近真相。两个数据源意见不一时,分歧本身就是值得读的信息,而且就各自衡量的内容而言,两者都没有错。
所以各栏并排放置,各自保持自己的排序,列与列之间从不合并。
斩杀线
这是本站唯一一个由推导得出、而非照搬原榜的图形。它只取同一个数据源自己的两个轴——能力和价格——来推导,绝不把两个数据源的数据拼在一起。
斩杀者是斩杀同类最多的模型,「斩杀」指至少一样便宜、且至少一样强。以它为中心的十字把榜单分成三块:得分更高的是 SOTA,更便宜、得分也更低的是低成本,价格不低于它、得分又不高于它的被斩杀。一次调价就可能让斩杀者易主,不必等到新模型发布,所以每次刷新都会重新计算。
上一代模型会被放到这个十字上定位,但绝不参与画线:斩杀线只在数据源仍列为当前的模型之间计算。
「新上榜」是什么意思
上游没有任何一家公布模型的「上榜日期」,本站也不会编造一个。「新上榜」标记只表示一件事:在一张我们已经持续跟踪的榜单上,最近七天内出现了一行新记录。
一个数据源的第一份快照只作为基线,不产生任何标记,否则一张榜单接入的当天,上面每个模型看起来都是新的。如果某次快照一口气带来了五分之一的榜单,就会被视为换了一批模型,而不是新闻。记录按数据源、按每一行最终对应的模型来登记,所以无论是数据源改写了模型名称,还是本站新增了一个别名,都不会被算作新上榜。
「上一代」是什么意思
有一个数据源把超过一半的行藏在「当前」筛选之后。本站保留这些行并加上标记,而不是把它们隐藏:「我现在该用什么」用不上它们,但「这个领域进步了多少」离不开它们。
这个标记是数据源打的,不是厂商打的。标为「上一代」只说明它已不在该榜的当前列表里,通常是被更新的型号取代了;厂商很可能仍在提供它。Claude Opus 5 在那个榜上就是上一代,但依然可以通过官方 API 调用。
上一代模型保留它在榜上的位置,成绩取该榜仍列为当前的最好配置,不出现在价格图和斩杀线上,因为这两处只比较数据源仍在跟踪的模型。
本站不做什么
不重跑评测。不合成综合分。不对各数据源做主观排名。不展示任何一个脱离发布者名字的数字。