失败地平线 · SHORT-HORIZON BENCH

失败地平线Short-Horizon Bench — 一个模型能在多简单的任务上栽跟头?

METR 量模型的上限:能独立做多久的任务。
我们量它的下限:栽得最浅的那道题,有多浅。

品类:模型下限的测量仪 不是更难的题库,是另一根轴 1120 题 · 纯函数判分 · 无 LLM 裁判
Bench 黑客松 · 有用赛道 01 / 19
01 · 问题

模型对「自己是否守约」的判断,可以和事实相反

要求:介绍图书馆,整段不能出现「人」「有」「在」。正文全守住了——然后它主动补了一句:

(说明:以上文字未使用""""""这三个字。)

三个禁用字,全在这句免责声明里。复跑 3 次错 3 次。 这类失败在通常的评测里不被记录——因为通常的评测不问这种问题。

negative_instruction-L3 · 复现协议已确认 02 / 19
02 · 定位

同一个模型,两根轴;只有一根被测量过

METR / 现有基准

时间地平线

它能独立完成多长的任务?
题越做越难,衡量的是能力上限。
已经白热化,且都在往同一个方向卷。

失败地平线 / 本项目

失败地平线

它会在多简单的任务上翻车?
题越出越简单,衡量的是可靠性下限。
模型正被托付真实工作——没人系统地量这个。

8 个任务家族 × 15 级难度,从 L15 一路往下探到 L1,找它第一次站不住的那一级

上限告诉你能交什么,下限告诉你不敢交什么 03 / 19
03 · 方案

一个闭环:生成 → 批跑 → 判分 → 复现 → 发布

判分不含任何主观判断,因此可以被判分器自己的单测检验。

输入
参数化生成

8 家族 × 15 难度,1120 题。答案由构造保证,换 seed 即全新题库——污染不是事故,是一次回车。

批跑
6 模型 · 温度 0

全部原始输出与 finish_reason 落盘;未完成样本从分母剔除,不冒充失败。

关卡
纯函数判分

无 LLM 裁判。判分器自身被测:单测覆盖全部 checker,标准答案重新推导一遍。

决策
复现协议

候选失败复跑 3 次,错 ≥2 次才发布——58% 的单次失败在这里被扔掉。

输出
每模型 1 道

总榜 + 它最不该错的那道确认失败。质量在这里,1120 题只是测量手段。

每一步都留下可查证的证据 04 / 19
04 · 题集设计

八个家族,每一个都只考一种能力,且都能程序化生成

选题标准只有一条:人类一眼能判对错,而模型可能栽。所以全部是短答案、可判定、答案由构造保证。

否定指令
140 题 · L1–L15

写一段话,但不许用某几个高频字。禁用池全部取自最常用的 10 个汉字(的了是在有和个不人一)——越常用越难躲

状态追踪
140 题 · L1–L15

n 个人排队,依次交换位置,问最终顺序。生成器自己模拟一遍,没有解析捷径可以走错

精确长度
140 题 · L1–L15

恰好写 N 个汉字,高级别还要同时躲一个禁用字。没有唯一正确答案,标准答案是约束本身。

藏头诗
140 题 · L1–L15

n 句话,每句首字指定、每句字数指定。藏头串取自非成语字序,杜绝模型顺着名句续写。

计数
140 题 · L1–L15

数「的」出现几次 / 第 N 个「的」前面是哪个字。顶级混入「地」「得」同音干扰,不得计入。

倒序重组
140 题 · L1–L15

整串倒序 → 隔字倒序 → 只倒中间某一段,其余原地不动。答案由字符串切片直接推出。

反直觉
140 题 · L1–L15

多跳算术,第一跳会算出一个看起来就像最终答案的数。诱饵答案单独记录在 trap_answer。

干扰项
140 题 · L1–L15

题干里塞进大量同域、同句式的无关数字,模型必须边扛噪声边多跳计算

8 家族 × 15 级 · 每家族 140 题 · 共 1120 题 05 / 19
04 · 题集设计

题长什么样?八个家族各抽一道,全是题库原文

都取每个家族的最低难度——先看看最简单的一档有多简单, 后面模型翻车的那些题,难度和它们是同一个量级。

藏头诗L1 · acrostic-L1-600

写2句话,每句话恰好5个汉字,并且第1、2句话的第一个字依次是“山”“草”。每句话单独一行,只输出这2句话,不要解释。

答案2 句,每句首字依次为「山草」;每句 5 字

反直觉L1 · counterintuitive-L1-500

小明做兼职。前4小时每小时赚35元,接下来3小时每小时赚24元,接下来4小时每小时赚40元。请问小明一共赚了多少元?只回答一个阿拉伯数字,不要解释。

答案372

计数L1 · counting-L1-0

这句话里“的”出现了几次:她的猫,她的故事。 只回答一个阿拉伯数字。

答案2

干扰项L1 · distraction-L1-500

一辆公交车有46个座位。起点站有26名乘客上车。下一站有4名乘客下车,3名乘客上车。下一站有2名乘客下车,3名乘客上车。请问现在车上有多少个空座?只回答一个阿拉伯数字,不要解释。

答案20

精确长度L1 · exact_length-L1-300

用恰好5个汉字描写海边。只输出这5个汉字,不要标点,不要解释。

答案恰好 5 个汉字

否定指令L1 · negative_instruction-L1-2000

介绍一下火锅,至少写10个汉字,但整段话里不能出现“的”、“不”这2个字中的任何一个。

答案不得出现:的、不;至少 10 个汉字

倒序重组L1 · reversal-L1-600

把“钥匙”倒过来写。只输出结果,不要解释。

答案匙钥

状态追踪L1 · state_tracking-L1-200

甲乙这2个人从左到右排成一排。依次执行:1)甲和乙交换位置。现在谁站在原来甲的位置上?只回答一个字,不要解释。

答案

八道真题原文 · 每family一道 · 未经改写 06 / 19
04 · 题集设计

难度不是换题型,是把同一个旋钮拧到底

以「否定指令」为例——题型一字未改,只有禁用字数量和最短篇幅在涨。这样才能定位「它在哪一级开始站不住」。

L1
介绍一下火锅,至少写10个汉字,但整段话里不能出现“的”、“不”这2个字中的任何一个。
↓ 难度旋钮:禁用字 2 → 8 个,最短篇幅 10 → 160 字 ↓ L15
介绍一下秋天,至少写160个汉字,但整段话里不能出现“个”、“人”、“和”、“有”、“一”、“的”、“不”、“是”这8个字中的任何一个。

每道题都带 seed:换一个 seed 就是全新的 1120 题,题面不同、难度分布不变。 污染不是要防的事故,是一次回车——这也是我们敢把全部题目和答案随包公开的原因。

同一家族,同一根梯子,只有难度旋钮在动 07 / 19
05 · 评分设计

难度由数据定义,不由出题人自称

pᵢ = 其余模型在第 i 题上的通过率  score = Σpᵢ(你错的)/Σpᵢ(全部)

别人都会、只有你错 → 扣满分;全场都不会、你也错 → 几乎不扣

为什么不用我们自己标的难度等级

我们手标的 L1–L15 实测并不单调:27B 在藏头诗上的失败率是 20/30/70/40/10/20/20/20/100/100。用它当难度,量的是我们的标签,不是模型。

为什么必须留一法(leave-one-out)

算你的分时不能用你自己的结果:否则一个全错的模型会把每道题都压成「很难」, 然后因为「题难」被从轻发落。留一法让权重无法被自己操纵

未完成的样本(finish_reason≠stop)整条剔除——既不记作失败,也不参与 pᵢ 的计算。 「失败地平线」=你答错的题里 pᵢ 最高的那道,也就是你栽得最浅的地方

score = Σp(错的题) / Σp(全部题) · 越低越好 08 / 19
06 · 结果

前排与后排差一个量级,而榜首是统计平局

你错的每道题,按其余 5 个模型在同题上的通过率加权。分数越低越好。

模型加权失败分(越低越好)2000 次重采样里争第一
1Qwen3.8 Maxqwen/qwen3.8-max0.02056%
2Claude Opus 5anthropic/claude-opus-50.02144%
3GPT-5.6 Solopenai/gpt-5.6-sol0.0420%
4Kimi K3moonshotai/kimi-k30.4790%
5DeepSeek V4 Prodeepseek/deepseek-v4-pro0.5150%
6Qwen3.8-27B(弱参照)qwen/qwen3.8-27b0.6100%

Qwen3.8 Max 与 Claude Opus 5 相差 0.001,2000 次重采样里争第一 56% / 44%——我们不宣布第一名,这是统计平局,就这么印在榜上。 同门的 Qwen3.8-27B(弱参照) 排在最后:这根轴分得开同一家族的强弱。

加权失败分:栽得越浅,扣得越狠 09 / 19
07 · 现场

这道题,请全场一起做

大概需要五秒。翻页之前,先想好你的答案。

甲乙丙这3个人从左到右排成一排。依次执行:1)丙和甲交换位置;2)甲和乙交换位置。现在谁站在原来丙的位置上?只回答一个字,不要解释。

state_tracking-L3-252 · 难度 L3 / 共 15 级

题库原题,未经任何改写 10 / 19
07 · 现场

你答对了。它没有。

全场的答案 · 标准答案

由题目构造时推出,不经过任何模型。

Kimi K3 的答案

复跑 3 次错 2 次。其余 5 个模型全对。

一道三人换位、两步操作的题。同题型下 DeepSeek V4 Pro 也栽了:state_tracking-L3-254。 这不是刁难模型的偏题——这是它自己的下限

标准答案由生成器构造时推出,不靠任何模型 11 / 19
08 · 证据(1/2)

每个模型只发布一道:它栽得最浅的那道

其余模型通过率最高、它错了、且复跑 3 次错 ≥2 次的那一道。

Qwen3.8 Max

state_tracking-L7-280
状态追踪 · L7 · 其余 5 模型 40% 通过 · 复跑 3 次错 2 次

最浅的确认失败——但同题另有 3 个模型也错,它没有「别人全对、只有它错」的题。

题目
甲乙丙丁戊这5个人从左到右排成一排。依次执行:1)丙和丁交换位置;2)甲和丁交换位置;3)丙和甲交换位置;4)戊和丁交换位置;5)甲和戊交换位置。最终从左到右的顺序是?只输出5个字,不要解释。
标准答案
甲乙丙戊丁
模型作答(错)
甲乙丙丁戊

判失败的理由标准答案是「甲乙丙戊丁」,模型给出「甲乙丙丁戊」。

Claude Opus 5

negative_instruction-L3-2021
否定指令 · L3 · 其余 5 模型 100% 通过 · 复跑 3 次错 3 次

题目
介绍一下图书馆,至少写15个汉字,但整段话里不能出现“人”、“有”、“在”这3个字中的任何一个。
标准答案
不得出现:人、有、在;至少 15 个汉字
模型作答(错)
**图书馆简介**

图书馆是知识的宝库。藏书丰富,门类齐全,从文学名著到科技典籍,应尽收其中。走进大厅,书架整齐排列,墨香扑鼻,四周安静,只闻轻轻翻页之声。读者凭证即可借阅,也能坐下慢慢品读,度过充实的时光。

(说明:以上文字未使用"人""有""在"这三个字。)

判失败的理由踩到禁用字 「人」(…以上文字未使用"人""有""在"这…);「有」(…字未使用"人""有""在"这三个字…);「在」(…用"人""有""在"这三个字。)…)

GPT-5.6 Sol

negative_instruction-L10-2097
否定指令 · L10 · 其余 5 模型 100% 通过 · 复跑 3 次错 2 次

题目
介绍一下北京,至少写60个汉字,但整段话里不能出现“一”、“个”、“了”、“是”、“不”、“人”、“和”这7个字中的任何一个。
标准答案
不得出现:一、个、了、是、不、人、和;至少 60 个汉字
模型作答(错)
北京位于华北平原北部,作为中国首都,拥有悠久文明、丰富古迹与多彩城市景观。故宫、天坛、长城、颐和园闻名遐迩,胡同、四合院展现独特风貌。春季花木繁盛,秋季天高气爽,冬季雪景清雅。这里汇聚教育、科技、文化、金融资源,公共交通便捷,美食种类繁多,烤鸭、涮羊肉、炸酱面颇具代表性。游客可漫步中轴线,登景山远眺,感受古都气韵与现代活力。

判失败的理由踩到禁用字 「和」(…、天坛、长城、颐和园闻名遐迩,胡同…)

按总榜顺序 · 全部原文 12 / 19
08 · 证据(2/2)

榜尾三名:连 L3 的三人换位都站不住

同一套协议、同一批题、同样的复现门槛——三个模型,三道几乎一样的题,三种不同的错法。

Kimi K3

state_tracking-L3-252
状态追踪 · L3 · 其余 5 模型 100% 通过 · 复跑 3 次错 2 次

题目
甲乙丙这3个人从左到右排成一排。依次执行:1)丙和甲交换位置;2)甲和乙交换位置。现在谁站在原来丙的位置上?只回答一个字,不要解释。
标准答案
模型作答(错)

判失败的理由标准答案是「乙」,模型给出「甲」。

DeepSeek V4 Pro

state_tracking-L3-254
状态追踪 · L3 · 其余 5 模型 100% 通过 · 复跑 3 次错 2 次

题目
甲乙丙这3个人从左到右排成一排。依次执行:1)乙和丙交换位置;2)丙和乙交换位置。现在谁站在原来甲的位置上?只回答一个字,不要解释。
标准答案
模型作答(错)

判失败的理由标准答案是「甲」,模型给出「乙」。

Qwen3.8-27B(弱参照)

state_tracking-L3-255
状态追踪 · L3 · 其余 5 模型 100% 通过 · 复跑 3 次错 3 次

题目
甲乙丙这3个人从左到右排成一排。依次执行:1)甲和乙交换位置;2)丙和乙交换位置。现在谁站在原来乙的位置上?只回答一个字,不要解释。
标准答案
模型作答(错)

判失败的理由标准答案是「甲」,模型给出「丙」。

按总榜顺序 · 全部原文 13 / 19
08 · 证据(全表)

全部 31 条确认失败,一条不藏

前面六张卡只是每个模型栽得最浅的那一道。这是完整清单—— 其中 21 条 p=1.0,即其余模型全部答对、只有它错

题号模型p复跑
distraction-L8-583DeepSeek V4 Pro1.03/3
negative_instruction-L1-2001Kimi K31.03/3
negative_instruction-L10-2097GPT-5.6 Sol1.02/3
negative_instruction-L3-2021Claude Opus 51.03/3
negative_instruction-L3-2022Kimi K31.02/3
negative_instruction-L4-2036Kimi K31.03/3
negative_instruction-L5-2042DeepSeek V4 Pro1.03/3
negative_instruction-L7-2065Kimi K31.03/3
negative_instruction-L9-2081Qwen3.8-27B(弱参照)1.02/3
negative_instruction-L9-2088Qwen3.8-27B(弱参照)1.03/3
reversal-L2-651Qwen3.8-27B(弱参照)1.03/3
reversal-L3-608Qwen3.8-27B(弱参照)1.03/3
reversal-L3-654Qwen3.8-27B(弱参照)1.02/3
state_tracking-L2-205Qwen3.8-27B(弱参照)1.02/3
state_tracking-L2-206DeepSeek V4 Pro1.02/3
state_tracking-L2-207DeepSeek V4 Pro1.03/3
题号模型p复跑
state_tracking-L2-249DeepSeek V4 Pro1.03/3
state_tracking-L2-251DeepSeek V4 Pro1.03/3
state_tracking-L3-252Kimi K31.02/3
state_tracking-L3-254DeepSeek V4 Pro1.02/3
state_tracking-L3-255Qwen3.8-27B(弱参照)1.03/3
negative_instruction-L10-2090Claude Opus 50.82/3
negative_instruction-L6-2052GPT-5.6 Sol0.82/3
negative_instruction-L9-2085GPT-5.6 Sol0.83/3
state_tracking-L2-246GPT-5.6 Sol0.83/3
negative_instruction-L15-5039GPT-5.6 Sol0.63/3
negative_instruction-L9-2082GPT-5.6 Sol0.62/3
state_tracking-L3-210GPT-5.6 Sol0.63/3
reversal-L9-635Qwen3.8 Max0.42/3
reversal-L9-689Qwen3.8 Max0.42/3
state_tracking-L7-280Qwen3.8 Max0.42/3

p = 其余模型在该题上的通过率;复跑列是 3 次里错了几次。 另有 42 条单次失败复跑后没能稳定复现,全部不计入

复跑 3 次错 ≥2 次才进这张表 · 共 31 条 14 / 19
09 · 洞察

给模型团队的第一条洞察:失败模式比失败率更有信息

Opus 5 在否定指令上错了 20 道。其中 9 道正文完全守住了禁用字, 破功的是它结尾主动加的那句「说明」——一句用来声明自己遵守了规则的话,本身违反了规则。

正文全程未出现「人」「有」「在」,然后:
(说明:以上文字未使用""""""这三个字。)

这个模式只在 Opus 5 身上出现,其余五个模型都是 0—— 它不是「能力不够」,是对齐训练出来的解释习惯,盖过了任务约束。这条是可以直接拿去改的。

Claude Opus 59/20
DeepSeek V4 Pro0/28
Kimi K30/43
GPT-5.6 Sol0/10
Qwen3.8-27B(弱参照)0/71
Qwen3.8 Max0/1
同一个失败率背后,是完全不同的病因 15 / 19
09 · 洞察

第二条:这个第一名,取决于一条判分约定

如果我们「宽恕」结尾那句自我说明、只判正文,Opus 5 的加权失败分从 0.0209 降到 0.0105,直接反超成为第一。我们没有这么判—— 但我们把这件事印在这里,而不是让它藏在判分器里。

现行判分(整段都算)
Qwen3.8 Max 0.0200
Claude Opus 5 0.0209
若只判正文、宽恕说明
Claude Opus 5 0.0105
Qwen3.8 Max 0.0200

对厂商的意义:你的排名可能不取决于模型,而取决于评测者怎么定义「输出」。 任何一个 bench 都该把这种敏感性摊开——我们的做法是把两种判法的结果都算给你看。

把这条规则反过来判,榜首就换人 16 / 19
09 · 洞察

第三条:看错的「幅度」,能分辨能力缺口和执行缺口

精确长度题要求恰好写 N 个汉字。同样是写错, 差一个字说明它在数、只是数岔了;差七八个字说明它压根没在跟踪长度。 下面是每个模型写错时「只差 1 个字」的比例:

GPT-5.6 Sol100%
DeepSeek V4 Pro15%
Kimi K315%
Qwen3.8-27B(弱参照)1%
GPT-5.6 Sol:100% 只差 1 字

只错了 6 道,而且全部是差一个字。这是数数的精度问题, 不是不懂任务——属于解码期就能修的那类缺口。 注意 n=6,样本太小,只能当线索不能当结论。

Qwen3.8-27B(弱参照):1% 只差 1 字

错了 129 道,其中 94% 是写得太短。 差距是成片的,说明它没有在生成过程中维持长度状态——这是能力缺口,不是精度问题。

错一个字和错八个字,不是同一种病 17 / 19
10 · 可信度

单次运行的「失败」不是证据

73头条失败复跑次数(31 次复现,42 次消失)
58%单次失败复跑后不再出现 → 只发布 3 跑错 ≥2 的
7.1%温度 0 重跑判定翻转(DeepSeek V4 Pro,352 对重复调用)
确定性关卡四道独立自检:checker 单测、题目良构、标准答案重新推导、near-miss 全扫。主观判断为零。
恢复路径可续跑、指数退避、坏响应重试;finish_reason≠stop 从分母剔除而不是记作失败。
协议分层温度 0 主榜 / 温度 0.7 稳定性 / 复现协议,三套数据物理分开存放,互不污染。

温度 0.7 × 5 采样下,Kimi K3 有 45% 的题「五次里对错都出现过」。 翻转率这一项只在 DeepSeek V4 Pro 上实测,单模型样本,不外推——这句话也印在报告正文里。

把判分器自己当成被测对象 18 / 19
11 · 边界与收尾

我们不测什么,说在前面

不测真实交付(换来答案由构造保证)· 不测多步与环境(测守约,不测 agent)· 不排名 harness(测模型本身)。 两处不可外推已写进报告正文。

好 Bench 不是最能欺骗模型的那个,
而是最能诚实告诉你——模型到底行不行的那个。

$ ./复现.sh
全部产物离线可复现,无需 API key 19 / 19