绝大多数大模型 benchmark 都在考"答案已经存在"的题;WorldCupArena 反过来,只考"答案还没揭晓"的题——在开球前 24 小时把预测锁死,赛后再对着官方战报打分。它第一次把一场足球赛拆成比分、球员、事件、技战术、整届赛事五层结构来评估模型,并用一套设计得相当克制的评分数学,让"看起来都对了 68%“的模型分出高下。这篇文章真正有价值的地方,不在于"谁预测对了西班牙夺冠”,而在于它给出了一个结构上抗数据污染、且能随新赛事无限续期的评测范式。

一、为什么"赛前预测"是个被长期忽略的正确问题

我们先把这件事的定位说清楚,因为这决定了后面所有设计的合理性。

今天几乎所有主流 benchmark——从知识问答到代码到推理——本质上都在问一个答案已知的问题。它们测的是"你知不知道"和"你会不会推",但它们回答不了另一个问题:模型能不能在事件发生之前,给出一个有用的判断? 这两件事听上去接近,实际上是两种完全不同的能力。前者可以靠记忆和检索兜底,后者只能靠对"当前正在变化的信息"的组织与外推。

足球恰好是检验后者的理想场景,作者选它选得很讲究:

  1. 赛程是公开的——你知道下一场是谁打谁、什么时候开球,可以提前把题目登记好;
  2. 赛前信息一直在变——伤病、阵容、状态、赔率,开球前一刻才尘埃落定;
  3. 最终战报远不止"谁赢"——它包含比分、首发、进球时间、黄牌、控球率、射门数,直到整届赛事的晋级路线和冠军归属。

这三点合起来,意味着足球预测天然是一个**"信息随时间变化 + 输出高度结构化 + 真值赛后才产生"的任务。已有的体育 benchmark(SoccerNet-v2、MatchTime、Sports-QA、SPORTU 等)几乎都在研究已经踢完的比赛**——模型被评估时,答案早就在数据里了;而经典的足球预测模型(Poisson、Dixon-Coles、Elo、贝叶斯)又只盯着"结果/比分分布"这一个窄口径。WorldCupArena 把两者缺的那块补上了:用赛前设定,向通用模型索要一份完整预测

用一句更狠的话概括作者的立场:benchmark 会因为数据污染而"腐烂",而只有"预测尚未发生之事"这一种任务,在结构上对污染免疫。 这是全文最深的一层动机。


二、Benchmark 是怎么搭起来的

2.1 雷打不动的四步流程

无论换成哪个联赛或杯赛,每场比赛都走同样四步(这也是"可复用"的核心保证):

开球

① 登记未来赛程
match list · 时间 · 场地 · 赛制

② 收集赛前信息
阵容 · 近况 · 新闻 · 赔率 · 数据

③ 锁存模型预测
S1 统一证据 / S2 自主检索
开球前 24h 冻结

④ 赛后打分
官方战报到位后
T1–T5 评分

换赛事只改"赛程"和"赛制规则",这四步和场级指标一律不动。这就是为什么它能"一届接一届地续下去",而不必反复拿已经踢完的 2026 世界杯去测新模型。

2.2 两种取证方式:S1 vs S2

这是全文一个关键的对照设计:

  • S1(standardized context):每个模型拿到完全相同的一包证据(阵容、近况、统计、新闻、可用赔率),且不许用工具。这是"给定信息下的纯推理"。
  • S2(self-directed search):agent 只拿到赛程,必须自己去搜。这是"完整产品形态下的深度检索"。

作者非常诚实地强调:S1 vs S2 不是对模型架构的受控对比,因为不同厂商底座和搜索系统都不一样;它对比的是"用户拿到手的完整产品"在两种取证模式下的表现。这个自我限定很重要,后面 RQ3 的结论也据此收敛——这是做研究该有的分寸。

2.3 五层评估:从一场球到一届赛事

全文的分析骨架,是把预测按"范围与结构复杂度递增"分成五层:

T1 比分结果
weight 0.40

T2 球员阵容
0.20

T3 事件时间线
0.15

T4 技战术统计
0.15

T5 整届赛事
0.10

各层的目标、指标与权重(复现自原文 Table 1):

代表性目标 指标 层权重 层内任务权重
T1 核心结果 1X2 概率、精确比分、比分接近度、净胜球 Brier / exact / scoreline 0.40 1X2 0.35;exact 0.20;scoreline 0.30;净胜球 0.10;出线 0.05
T2 球员级 首发、阵型、进球、助攻、全场最佳 Jaccard / F1 / nDCG 0.20 首发 0.30;阵型 0.10;进球 0.35;助攻 0.15;MVP 0.10
T3 事件级 进球时间、换人、牌、点球、乌龙 matched MAE / event F1 0.15 进球时间 0.45;换人 0.20;牌 0.25;点球 0.05;乌龙 0.05
T4 技战术/统计 控球、射门、角球、传球、犯规、扑救 sMAPE 0.15 阵型 0.15;八项统计 0.85
T5 赛事级 小组排序、对阵签表、冠军、射手、奖项 Kendall / bracket / top-1 0.10 小组 0.25;签表 0.35;冠军 0.20;射手 0.10;奖项 0.10

于是总分(Composite)就是这五层的加权和:

Composite=0.40 T1+0.20 T2+0.15 T3+0.15 T4+0.10 T5 \text{Composite} = 0.40\,T_1 + 0.20\,T_2 + 0.15\,T_3 + 0.15\,T_4 + 0.10\,T_5 Composite=0.40T1+0.20T2+0.15T3+0.15T4+0.10T5

五个权重之和恰为 1,且把最大的份额(0.40)压在"比分结果"上——这与足球预测的直觉一致:先把最难、最重要的"谁赢、几比几"预测好,其余是加分项。

一个值得单独点出的工程巧思在 T5 的整届生成(附录 A.2):整届预测只用两次模型调用。第一次预测全部 72 场小组赛,然后由代码去算积分、净胜球、进球数并按官方规则解析出 8 个最佳第三名和 R32 席位;第二次再让模型基于它自己算出来的签表去预测 73–104 号淘汰赛。这样做的好处是——模型永远看不到真实签表,它必须在自己的小组预测之上一路推演到冠军。这堵住了一个非常隐蔽的作弊口子。


三、评分数学:本文最见功力的部分

这一节是精读的重点。我把四个核心公式逐一拆开,并且独立数值复算了原文声称的每一个数字——结论是:它们全都对得上,误差在小数点级别。这份内部一致性本身就是论文可信度的一部分。

3.1 Scoreline 分:一个被精心约束在 [0, 100] 的铰链评分

精确命中比分得 100 分;否则按下式给"接近分"(原文式 (1)):

Sscore=45 Ir  +  25 ⁣[1−ed5]+  +  20 ⁣[1−et6]+  +  10 ⁣[1−eteam8]+ S_{\text{score}} = 45\,I_r \;+\; 25\!\left[1-\frac{e_d}{5}\right]_+ \;+\; 20\!\left[1-\frac{e_t}{6}\right]_+ \;+\; 10\!\left[1-\frac{e_{team}}{8}\right]_+ Sscore=45Ir+25[15ed]++20[16et]++10[18eteam]+

其中 [x]+=max⁡(x,0)[x]_+ = \max(x, 0)[x]+=max(x,0)正部/铰链算子;IrI_rIr 是"胜平负类别是否预测正确"的指示变量;ed,et,eteame_d, e_t, e_{team}ed,et,eteam 分别是净胜球误差、总进球误差、逐队进球误差

先做一个漂亮的自洽性检验。 精确命中时 Ir=1I_r=1Ir=1ed=et=eteam=0e_d=e_t=e_{team}=0ed=et=eteam=0,代入得:

S=45+25+20+10=100 S = 45 + 25 + 20 + 10 = 100 S=45+25+20+10=100

也就是说,"精确得 100"并不是外挂上去的特例,而是式 (1) 本身在零误差处的取值。四个权重 45+25+20+10=10045+25+20+10=10045+25+20+10=100 的设计,正是为了让满分自然落在 100。铰链算子则保证任何一项都不会变负,于是再离谱的错误也不会产生负分——这句原文的话,数学上由 [⋅]+[\cdot]_+[]+ 严格兜底。

三个误差项其实是同一个二维误差向量的三种投影。 这是我认为原文没有点透、但非常值得展开的一层结构。记预测比分 (h^,a^)(\hat h, \hat a)(h^,a^)、真实比分 (h,a)(h, a)(h,a),令 δh=h^−h, δa=a^−a\delta_h=\hat h-h,\ \delta_a=\hat a-aδh=h^h, δa=a^a,则:

ed=∣δh−δa∣,et=∣δh+δa∣,eteam=∣δh∣+∣δa∣ e_d = |\delta_h - \delta_a|,\qquad e_t = |\delta_h + \delta_a|,\qquad e_{team} = |\delta_h| + |\delta_a| ed=δhδa,et=δh+δa,eteam=δh+δa

即:ede_ded 是误差沿"差轴"(净胜球方向)的投影,ete_tet 是沿"和轴"(总进球方向)的投影,而 eteame_{team}eteam 就是误差向量的 L1L_1L1 范数。由三角不等式立刻得到 ed≤eteame_d \le e_{team}edeteamet≤eteame_t \le e_{team}eteteam;更进一步有一个漂亮的恒等式:

ed+et=∣δh−δa∣+∣δh+δa∣=2max⁡(∣δh∣,∣δa∣)  ≥  eteam e_d + e_t = |\delta_h-\delta_a| + |\delta_h+\delta_a| = 2\max(|\delta_h|, |\delta_a|) \;\ge\; e_{team} ed+et=δhδa+δh+δa=2max(δh,δa)eteam

当且仅当至少有一队进球数被精确命中时取等。换句话说,三项误差不是彼此独立的"三次扣分",而是从同一个错误里量出的三个不同侧面——这解释了评分为何不会因为"重复惩罚同一个错误"而失真。

权重与容忍度的搭配透露了设计者的偏好排序。 注意权重是 25 > 20 > 10(净胜球 > 总进球 > 逐队进球),而分母容忍度是 5 < 6 < 8:

  • 最重要、也与"谁赢"最相关的净胜球,权重最高(25)、容忍最窄(÷5),要求你在这里最精确;
  • 最难精确对齐的逐队进球,权重最低(10)、容忍最宽(÷8),给最多的宽容。

这套"越重要越苛刻、越苛刻越轻分"的标定不是随手写的,它把"想奖励什么"清清楚楚编码进了公式。

两个手算例子(均已用脚本复核):

例 1,预测 2–1、实际 3–1(原文举的例子):Ir=1I_r=1Ir=1ed=∣(2 ⁣− ⁣1)−(3 ⁣− ⁣1)∣=1e_d=|(2\!-\!1)-(3\!-\!1)|=1ed=(21)(31)=1et=∣3−4∣=1e_t=|3-4|=1et=∣34∣=1eteam=∣−1∣+∣0∣=1e_{team}=|{-1}|+|0|=1eteam=1+∣0∣=1

S=45+25(1−15)+20(1−16)+10(1−18)=45+20+16.67+8.75=90.42 S = 45 + 25(1-\tfrac15) + 20(1-\tfrac16) + 10(1-\tfrac18) = 45 + 20 + 16.67 + 8.75 = 90.42 S=45+25(151)+20(161)+10(181)=45+20+16.67+8.75=90.42

方向对、比分近,拿到 90.42 分——比精确命中的 100 略低,符合直觉。

例 2,预测 0–3、实际 3–0(把胜负完全预测反了):Ir=0I_r=0Ir=0ed=6e_d=6ed=6(差轴误差极大,[1−6/5]+=0[1-6/5]_+=0[16/5]+=0),et=0e_t=0et=0(和轴——总进球都是 3,命中),eteam=6e_{team}=6eteam=6

S=0+0+20⋅1+10(1−68)=0+0+20+2.5=22.5 S = 0 + 0 + 20\cdot 1 + 10(1-\tfrac68) = 0 + 0 + 20 + 2.5 = 22.5 S=0+0+201+10(186)=0+0+20+2.5=22.5

这个例子很能说明问题:即便赢家彻底猜反,只要你判断对了"这会是一场 3 球的比赛","和轴"投影仍给你 20 分。这正是三投影正交性的体现——它精准奖励了你唯一做对的那件事,而把你做错的(谁赢、净胜球)归零。是否要给这 20 分见仁见智,但公式的行为是可解释、可预期的,这已经胜过很多拍脑袋的加权。

3.2 可用性感知聚合:区分"没发生"和"没数据"

赛后战报常有字段缺失(比如某场没记录"全场最佳"或阵型)。作者的处理是把缺失真值排除,而不是当成 0 分。在"任务→层"和"层→总分"两级都用同一条加权均值(原文式 (2)):

SA=∑j∈AwjSj∑j∈Awj S_A = \frac{\sum_{j \in A} w_j S_j}{\sum_{j \in A} w_j} SA=jAwjjAwjSj

其中 AAA可用分量的集合,分母对可用权重重新归一化。这个式子本身平平无奇,真正重要的是它背后那句方法论:

“'没有发生’和’没有数据’是两回事。”(There is an important difference between “none happened” and “no data”.)

一场确认没有红牌的比赛,可以支撑"预测无红牌"这条正确判断(照常计分);而一条缺失的红牌记录,只是被排除。把数据供应商的覆盖缺口,和现实中的"确实没发生"分开——这是很多评测偷懒时最容易踩的坑(一律填默认值 0),本文没踩,值得记一笔。

3.3 固定对比标定:一条只改间距、不改排名的显示变换

原始总分挤在 50 附近的窄区间里,微小但稳定的差距在榜单上根本看不出来。作者用一条固定的 S 形(sigmoid)变换来"拉开中段"(原文式 (3)):

C(R)=100⋅σ ⁣((R−50)/5)−σ(−10)σ(10)−σ(−10),σ(x)=11+e−x C(R) = 100 \cdot \frac{\sigma\!\big((R-50)/5\big) - \sigma(-10)}{\sigma(10) - \sigma(-10)}, \qquad \sigma(x)=\frac{1}{1+e^{-x}} C(R)=100σ(10)σ(10)σ((R50)/5)σ(10),σ(x)=1+ex1

它可以被理解成一个带中心 ccc温度 TTT 的通用形式,式 (3) 是 c=50, T=5c=50,\,T=5c=50,T=5 的特例:

C(R)=100⋅σ ⁣((R−c)/T)−σ ⁣((0−c)/T)σ ⁣((100−c)/T)−σ ⁣((0−c)/T) C(R) = 100 \cdot \frac{\sigma\!\big((R-c)/T\big) - \sigma\!\big((0-c)/T\big)}{\sigma\!\big((100-c)/T\big) - \sigma\!\big((0-c)/T\big)} C(R)=100σ((100c)/T)σ((0c)/T)σ((Rc)/T)σ((0c)/T)

我逐条验证了作者声称的三条性质:

  1. 保序(不改排名)σ\sigmaσ 严格单调递增,外层是"减常数 → 除以正数 → 乘 100"的仿射变换,全程保序。所以 RA>RB⇒C(RA)>C(RB)R_A > R_B \Rightarrow C(R_A) > C(R_B)RA>RBC(RA)>C(RB),排名分毫不动。
  2. 锚定端点 0 和 100R=0R=0R=0 时内参为 (0−50)/5=−10(0-50)/5=-10(050)/5=10,分子 σ(−10)−σ(−10)=0\sigma(-10)-\sigma(-10)=0σ(10)σ(10)=0,故 C(0)=0C(0)=0C(0)=0R=100R=100R=100 时内参为 101010,分子=分母,故 C(100)=100C(100)=100C(100)=100。脚本复算 C(0)=0.0, C(100)=100.0C(0)=0.0,\ C(100)=100.0C(0)=0.0, C(100)=100.0,✅。
  3. 与当前模型集合无关:变换只用固定常数(50、5、±10\pm10±10),不含均值/方差这类随数据变化的量。因此新增或移除模型,任何已显示分数都不变——这对一个滚动更新的榜单至关重要。

再把原文那句"把原始分 44 和 47 变成 23.15 和 35.43"复算一遍:

C(44)=100⋅σ(−1.2)−σ(−10)σ(10)−σ(−10)=100⋅0.23148−4.54×10−50.99991≈23.15 C(44) = 100\cdot\frac{\sigma(-1.2)-\sigma(-10)}{\sigma(10)-\sigma(-10)} = 100\cdot\frac{0.23148-4.54\times10^{-5}}{0.99991} \approx 23.15 C(44)=100σ(10)σ(10)σ(1.2)σ(10)=1000.999910.231484.54×10523.15
C(47)=100⋅σ(−0.6)−σ(−10)σ(10)−σ(−10)=100⋅0.35434−4.54×10−50.99991≈35.43 C(47) = 100\cdot\frac{\sigma(-0.6)-\sigma(-10)}{\sigma(10)-\sigma(-10)} = 100\cdot\frac{0.35434-4.54\times10^{-5}}{0.99991} \approx 35.43 C(47)=100σ(10)σ(10)σ(0.6)σ(10)=1000.999910.354344.54×10535.43

两个数字精确吻合。3 分的原始差(44→47)被放大成约 12 分的显示差(23.15→35.43)——sigmoid 在中心 R=50R=50R=50 处斜率最大,正好把扎堆的中段拉开。作者还说明:总分用这套"较强"设置(T=5T=5T=5),各层分用"较温和"的变换(即更大的温度 TTT、更平的曲线、更小的放大),而 Scoreline 显示值用的是中心 70、温度 5 的同族变换——这也是为什么榜单里 Scoreline 会出现 63.16、68.49 这类数值,作者特意提醒:它是显示值,不能当准确率百分比读。

3.4 完整赛事分 T5:把"选对冠军"和"走对路线"分开算

整届完赛后,T5 由四部分合成(原文式 (4)):

T5complete=0.25 G+0.35(0.7 A+0.3 M)+0.20 H0.80 T5_{\text{complete}} = \frac{0.25\,G + 0.35\big(0.7\,A + 0.3\,M\big) + 0.20\,H}{0.80} T5complete=0.800.25G+0.35(0.7A+0.3M)+0.20H

  • GGG:小组排序接近度,用 Kendall’s τ\tauτ 衡量预测排序与真实排序的一致性;
  • AAAround-weighted advancement,“正确的球队是否晋级到第 rrr 轮”,只看选没选对人;
  • MMMround-weighted exact-pairing,“该轮的具体对阵是否精确命中”,看有没有摆对签表位置;
  • HHH:冠军指示,预测西班牙夺冠得 100,否则 0。

轮次权重从 R32 到决赛为 1, 2, 4, 8, 16(几何翻倍)——押中决赛的价值是押中一场 R32 的 16 倍,合理地体现了"越到后面越难、越有信息量"。

为什么分母是 0.80? 这正是 §3.2 那条可用性原则的又一次应用。按 Table 1,完整 T5 的五个分量权重为 小组 0.25 + 签表 0.35 + 冠军 0.20 + 射手 0.10 + 奖项 0.10 = 1.00。而射手/奖项在这个快照里还没有规范化的赛事级真值,于是被排除,剩下 0.25+0.35+0.20=0.800.25+0.35+0.20=0.800.25+0.35+0.20=0.80,除以 0.80 完成重新归一化。方法论一以贯之。

用榜单真实数字复算(脚本逐行验证,全部命中):

以 Claude Opus 4.7 (Thinking + Search) 为例,G=87.5, A=87.0, M=71.0, H=100G=87.5,\ A=87.0,\ M=71.0,\ H=100G=87.5, A=87.0, M=71.0, H=100

T5=0.25(87.5)+0.35(0.7⋅87.0+0.3⋅71.0)+0.20(100)0.80=21.875+28.77+200.80=70.6450.80=88.31 T5 = \frac{0.25(87.5) + 0.35\big(0.7\cdot87.0 + 0.3\cdot71.0\big) + 0.20(100)}{0.80} = \frac{21.875 + 28.77 + 20}{0.80} = \frac{70.645}{0.80} = 88.31 T5=0.800.25(87.5)+0.35(0.787.0+0.371.0)+0.20(100)=0.8021.875+28.77+20=0.8070.645=88.31

对上原文的 88.3。同法复算:Claude Thinking → 87.4 ✅;GPT-5.4 → 73.1 ✅;GLM-5.1 → 48.1 ✅。

AAAMMM 的拆分是这一段最有价值的设计:它把"你知不知道哪些队强"(AAA)和"你摆没摆对签表"(MMM)分开。于是一个通过正确签表路线押中冠军的模型,和一个误打误撞押中冠军的模型,得到的分数不同。冠军项 HHH 贡献 20/0.80=2520/0.80 = 2520/0.80=25 个显示分——这 25 分,正是榜单上"押中冠军的四家(73.1、72.8、87.4、88.3)"与"没押中的一众(39.1–49.0)"之间那道鸿沟的来源。

3.5 其余指标一览

  • T1 三路 Brier:概率预测的严格适当评分(strictly proper scoring rule),奖励良好校准、惩罚过度自信。原文把它重标定为"越大越好"(Table 4 里是 79.8/78.5/79.4 这样的 0–100 刻度)。
  • T2:首发用 Jaccard(集合重合度),射手排序用 nDCG(把正确球员排得越靠前奖励越高,引 Järvelin & Kekäläinen 2002)。
  • T3:进球/牌/换人先用匈牙利算法(Kuhn 1955,二部图最优指派)把预测事件匹配到真实事件,再对时间做 matched MAE,对人/分钟的偏差扣分——一个把"事件对齐"这件麻烦事处理得很干净的选择。
  • T4:控球、射门、角球等计数类用 sMAPE(对称百分比误差,有界、对称、能跨越不同量纲的统计项)。

四、实验:六个 RQ 讲清了什么

作者用六个研究问题组织实验,全部 104 场、13 个系统。先复现主榜(原文 Table 2,NNN 为有效预测数):

模型 设定 NNN Composite Result Exact Scoreline
Claude Opus 4.7 (Thinking) S1 95 33.76 68.4 15.8 63.16
Claude Opus 4.7 (Thinking + Search) S2 58 31.26 70.7 17.2 68.49
GPT-5.4 S1 102 29.91 65.7 11.8 56.05
GLM-5.1 S1 103 28.59 68.0 13.6 62.27
GPT-5.4 (Search) S2 97 28.14 68.0 10.3 58.78
Kimi K2.6 S1 101 27.49 68.3 12.9 62.65
MiniMax M2.7 S1 101 26.53 65.3 12.9 57.35
DeepSeek V4 Pro S1 103 26.31 68.0 11.7 61.02
Gemini 3.1 Pro Preview (Thinking + Search) S2 85 26.11 63.5 11.8 54.54
Gemini Deep Research S2 58 25.49 58.6 12.1 41.36
Doubao Seed 2.0 Lite S1 102 24.06 67.6 10.8 58.16
Gemini 3.1 Pro Preview (Thinking) S1 102 23.69 59.8 12.7 36.95
Qwen3.7 Max S1 104 22.78 61.5 10.6 39.85
Polymarket(基线) 104 65.4 8.7
BetVictor(基线) 104 68.3 16.3 53.35
人类球迷(基线) 94 69.7 15.6 53.40

RQ1 / RQ2——细粒度暴露了 Result accuracy 藏起来的差异。 好几个系统的胜负正确率都卡在约 68%,只看这一列几乎分不出高下;但一旦看 Exact(只有 10.3%–17.2%)和 Scoreline,差距立刻显现。更关键的是没有任何一个系统包揽全部五层:Claude Thinking 领跑 T1/T2,其检索版领跑 T3,而 Gemini Deep Research 领跑 T4。这正是全文最想证明的一点——“结果正确率相近的模型,在球员、事件、统计上可以天差地别”。

RQ3——加检索并没有稳定地帮上忙,反而普遍略降。 对三个同时测了带/不带检索的模型,不带检索的版本在各自的共享比赛上都更高:加检索使总分变化 −0.26(Claude, N=50N{=}50N=50)、−4.26(GPT-5.4, N=95N{=}95N=95)、−1.03(Gemini, N=82N{=}82N=82),三个全是负的。这是个相当反直觉、也相当有料的发现。作者的克制在于紧接一句"这些是商业产品而非同底座模型,只能说明现象、不能归因"——分寸拿捏得当。

RQ5——对阵市场与球迷,最强模型的优势主要体现在"差得近",而非"押得准"。 Claude Opus 4.7 (Thinking + Search) 的 70.7% 胜负率,仅比人类球迷高 1.0 个百分点、比 BetVictor 高 2.4、比 Polymarket 高 5.3;Exact 17.2% 也只比最强的 Exact 基线 BetVictor 高 0.9。但 Scoreline 68.49 比 BetVictor 高 15.14、比球迷高 15.09。结论很清楚:模型没有在"严格命中"上碾压市场(博彩赔率历来极难击败),它赢在猜错时也猜得更接近真实比分。作者同样点明这是描述性而非配对比较(覆盖场次不同:Claude 检索版仅 58 场,球迷 94 场,市场 104 场)。

RQ4——整届层面:小组排序好猜,淘汰赛路线难猜。 复现原文 Table 3 的关键几行:

模型 设定 Group Adv. Pair Champ. T5
Claude Opus 4.7 (Thinking + Search) S2 87.5 87.0 71.0 100.0 88.3
Claude Opus 4.7 (Thinking) S1 84.7 87.0 70.4 100.0 87.4
GPT-5.4 S1 86.1 60.8 19.4 100.0 73.1
Doubao Seed 2.0 Lite S1 88.9 58.7 15.3 100.0 72.8
DeepSeek V4 Pro S1 88.9 60.7 20.2 0.0 49.0
Gemini 3.1 Pro Preview (Thinking) S1 83.3 34.9 17.7 0.0 39.1

Group 分挤在窄窄的 83.3–88.9,而 Pairing 分从 15.3 一路铺到 71.0。两个 Claude 之所以断层领先,正因为它们既押中冠军西班牙,又押中了西班牙–阿根廷这个精确的决赛对阵(Pair 70.4/71.0,其余多在 19 上下)。这就是 §3.4 里"AAAMMM 拆分"的意义在真实数据上的兑现。

RQ6——赛中(in-play)更新:模型会随比分变化而调整,但这不等于"预判了进球"。 在 100 场、2957 个有效 checkpoint 上,比分发生变化后的胜负正确率从变化前的 55.4–66.9% 跳到变化后的 77.4–78.9%。作者非常谨慎地把这解读为"对新观测状态的适应,而非模型独立预见了进球"——又一次把话说到位。顺带一提,作者拒绝把这套采样描述成"严格的十分钟一次",而是老老实实报告中位间隔 6.8 分钟、四分位区间 6.2–12.4,并对缺失 checkpoint 不做插值。这种对自己数据管道的诚实,在 benchmark 论文里并不常见。

一致性失败:模型们手拉手一起翻车

原文 Table 6 是全文我最喜欢的一张表——它专挑所有系统都猜错的比赛:

对阵 实际 主流预测 失败模式
西班牙–佛得角 0–0 13 家全押 3–0 或 4–0 极端热门被逼平,剃光头
荷兰–日本 2–2 12 家押 2–1 胜负与比分的高度一致共识
法国–英格兰(三四名) 4–6 全押 2–1/3–2/3–1 一致看好的一方在十球大战里被逆转

其中西班牙–佛得角,市场(去掉抽水后)给西班牙 89.1% 胜率,13 个系统全押 3–0 或 4–0,结果 0–0。这些例子共同说明一件事:当前这批模型高度相关地跟随同一个"热门",一起对、也一起错——即使比赛演化成极不寻常的比分。对"模型多样性"这个话题,这是很有分量的实证。

难度分层(原文 Table 5)的一个反直觉点

  • 重量级热门(某结果 ≥65%):胜负好猜(75.5%),但精确比分并没有变简单(Exact 仅 9.6%);
  • 低比分(总进球 ≤1):全局最难,胜负率 57.7%、Exact 仅 4.6%。

“热门让赢家好猜,但不让比分好猜”——这句朴素结论背后,是把评测从"一个总分"细化到"分层看"的方法收益。


五、研究的意义与不足

如果只能留下三句话,我会这么概括它的贡献:

第一,它把"评测抗污染"从一个防御性补丁,升级成了一种主动的范式。 别的 benchmark 想尽办法防止题目泄露、防止训练集混入答案;WorldCupArena 直接选择了一类答案在评测时根本还不存在的任务。一个赛事踢完,就换下一个联赛/杯赛续上——benchmark 靠"新比赛"生长,而不是靠"假装旧结果未知"。这一步,把足球从一个"有趣的应用场景"抬升为"一种结构上正确的评测机制"。

第二,它证明了"结果正确率"是一个具有误导性的单一指标,并给出了拆解它的完整工具。 从五层 taxonomy,到 Scoreline 的三投影铰链评分,到区分"没发生/没数据"的可用性聚合,再到保序的 sigmoid 显示标定——每一件都是为了让"看起来都对了 68%"的模型,在球员、事件、统计、整届路线上分出真实高下。而且这套评分数值上完全自洽、可独立复算(本文逐一验证过),这对一个声称要"长期公开、可审计"的 benchmark 而言,是信誉的地基。

第三,它给出了一批诚实到有点扫兴、但极其有价值的负面/中性结论。 加检索没稳定帮上忙、最强模型只微弱超越博彩市场、模型们在冷门上集体翻车、赛中"更新"不等于"预见"——这些结论没有一条在替大模型吹嘘。恰恰是这种不替任何人站台的克制,让这份 benchmark 值得信任。研究的意义常常不在于"证明了 A 很强",而在于"提供了一把能公正地量出 A 到底强在哪、弱在哪的尺子"——WorldCupArena 做的正是后一件事。

至于不足,克制地说三点,供后续跟进:S1 与 S2 因底座和搜索系统不同,终究不是受控对比,"检索是否有害"只能存疑而非定论(作者已明确承认);式 (1) 中 eteame_{team}eteam 的具体归约(逐队绝对误差是求和、取大还是取均)在正文里留给了读者去补,本文按"逐队绝对误差之和"来解读并复算通过,但严格定义值得在开源代码里对照确认;以及目前只跑通了一届世界杯(n=1n=1n=1 个赛事),"迁移到联赛"这一核心卖点尚待第二届去兑现。这些都不影响它作为范式的价值——论文本就诚实地把这些边界写进了附录 A.5。


结语

WorldCupArena 最打动人的地方,是它把一个几乎所有人都忽略的问题问了出来:我们有没有认真测过,模型能不能在答案揭晓之前,说出一句有用的话? 它用足球给出了一个可操作、可续期、可审计的答案框架,并且用一套克制而自洽的数学,把"赛前的一句判断"变成了可以逐层打分的结构。2026 世界杯只是它的第一次开球,而不是终场哨。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐