StateBench 给长上下文判了个分水岭:四个前沿模型在最长状态追踪题上全部跌破 13%,问题出在哪?
笔名:小六 / 上海 / 1995 女 / 某互联网公司工程师
先说结论
11 月 3 日,Ai2(艾伦人工智能研究所)在 Hugging Face 官方博客发布 StateBench——一个专测”长上下文状态追踪”的基准,把这类问题切成四个难度级别,同场放出数据集、技术报告和代码。结果相当扎眼:Gemini 3.8 Flash、Claude Opus 5.5、GPT-6 Sol 与 Luna 四个前沿模型在前两档表现良好,但到了后两档,准确率随输入变长急剧下滑,在最长的”一般有限”级题目上全部跌到 13% 或更低。而对照组里,一个只有 2.75 亿参数、从头训练的 Gated DeltaNet 小模型,把泛化长度拉到了训练长度的 250 倍,在前三档几乎满分。
我的结论:长上下文的真实瓶颈不是”塞得下多少 token”,而是”沿依赖链维护状态的能力”。这个能力差异是架构层的,提示词补不了,工程上唯一的正确姿势是把状态外置给确定性代码。
发生了什么
官方事实一:发布主体与时间。 主来源是 Ai2 发布在 Hugging Face 官方博客的《StateBench — Testing how language models track state changes over long documents》,发布日期 2026 年 11 月 3 日,作者署名 Kyle Wiggers,原始 URL 见文末 Q&A。配套发布物齐整:技术报告、数据集 allenai/state-bench(约 68k 样本)和评测代码全部公开,任何人可以直接复跑。
官方事实二:为什么要做这个基准。 Transformer 在”难变体”的状态追踪上有明确的理论局限——这正是过去两年 Gated DeltaNet 这类循环、混合架构兴起的动机之一。但官方点出现有测试的一个盲区:它们大多只盯着最难案例,而随着循环和混合设计越来越常见,研究者需要知道每一种架构分别能处理哪一档状态追踪,不只是”最难的那档谁都不行”。StateBench 的定位就是把这条能力谱系摊开量。
官方事实三:核心发现的两个方向。 一边是前沿模型在长依赖链上的集体塌方(详见技术细节);另一边是小模型直接训练实验给出的翻盘证据——循环与混合架构泛化得远比 transformer 好,且这个差距指向训练数据而非架构本身,唯独最难一档例外:transformer 怎么训都学不会。
同日辅助事件。 同一天,IBM Research 也在 Hugging Face 官方博客发布了 Palette:把一个 20B 开源模型微调成”设计师加程序员”双角色来生成幻灯片,用约 1000 套、近 1 万页合成数据对齐 IBM 设计语言,再套一层”检查加修复”的外部装置兜底几何错误,在 PresentBench 三个评测域中两个拿下第一。它和 StateBench 构成了一组有意思的对照——模型能力有边界时,什么能靠外围工程补上,什么补不上。这个对照放到”对 Agent 工程的影响”里展开。
技术细节
四档难度,本质是四种赋值操作
StateBench 把状态追踪按”允许的变量赋值操作”分成四级,每一级都能用代码直觉对应:
- R-trivial(平凡级):只允许不可变赋值。变量第一次设成什么就永远是什么,模型只需要把那个值找回来——像出生日期,或者代码里的
x = 4之后再也没有第二次赋值。 - Aperiodic(非周期级):允许按值重赋值。模型要找的是最近一次赋值,可以无视更早的——像恒温器,当前温度只由最新设定决定,
x = 4之后x = 2,答案是 2。 - Soluble(可解级):加入自引用更新。每次更新建立在当前值之上,模型必须把变化一路带 forward,不能只找最后一次——像比赛计分,每得一分累加一次,
x = x + 5。 - General finite(一般有限级):加入按引用赋值。一个变量可以取另一个变量的当前值,更新之间产生依赖——代码里就是
x = y或交换两个变量。官方给的生活化例子是经典的”五杯换球”(S₅ 问题):魔术师把球藏在五只杯子之一下面,反复交换杯子位置,你要一直跟着球走。漏看一次交换,后面全错。
这个分级不是拍脑袋,背后是 Krohn–Rhodes 代数理论——把状态追踪问题看成有限幺半群上的字问题,可以分解成原子原语,每一级对应一组不同的原语集合。更讲究的是公平性设计:四档题目从同一条”一般有限”赋值序列派生,变量数、取值数、赋值出现的位置完全相同,只有赋值类型变。所以四个级别之间的分数差可以干净地归因于”依赖链结构”,而不是题目长短或信息量。
预训练模型:三档滑落,且看题面”脸色”
官方先测了一批预训练数据完全公开的开源模型:两个 70 亿参数模型——Olmo 3(纯 transformer)和 Olmo Hybrid(混入 Gated DeltaNet 层),外加 2.75 亿和 27 亿参数的小模型,全部用同一份预训练数据。预训练时见过的上下文不超过 64k token,测试故意推到远超这个长度。
结果是一条整齐的滑落曲线:几乎所有模型在平凡级都好;非周期级随输入变长丢分;一般有限级全体停在随机水平。理论预测的架构分界线基本兑现——transformer 按标准理论假设可以稳健处理平凡级(可解级和非周期级部分处理),但预测在一般级失败;Gated DeltaNet 灵活的记忆更新原则上四档都能处理。
中间还藏着一个对评测工程很有价值的发现:题面格式本身就影响结果。同一个 2.75 亿参数混合模型,在 RULER 风格的平凡级题目上接近满分,换成”表格编辑”的形式出同一道题,成绩直接掉到随机。这正是 StateBench 坚持用多种格式测同一个底层问题的原因。
前沿模型:13% 的集体塌方
四个前沿模型——Gemini 3.8 Flash、Claude Opus 5.5、GPT-6 Sol 与 GPT-6 Luna——被要求读完整个赋值序列后写出每个变量的最终值。平凡级和非周期级都表现良好;但到了可解级和一般有限级,准确率随输入变长急剧下滑,在最长的一般有限级题目上全部跌到 13% 或更低。官方给的解释是”敏感度”:越难的级别,能影响最终答案的步骤越多,模型漏掉一步的空间越小——错一步,全盘错。
直接训练实验:差距在训练,但最难一档除外
第三组实验回答”这是架构的天花板,还是预训练没教”。官方从零训练了六个 2.75 亿参数模型:两个 transformer 变体、两个混合变体、两个记忆更新约束不同的 Gated DeltaNet 变体。训练序列最长 256 次赋值,测试拉到 64000 次——250 倍于训练长度。
结果分野清晰。Gated DeltaNet 和混合模型在平凡、非周期、可解三档上几乎完美泛化到几万次赋值;最难的一般有限级上,记忆更新更灵活的 Gated DeltaNet 变体泛化最远,在约 10 倍训练长度的序列上仍接近满分。Transformer 学会了容易的两档但长序列退化,一般有限级从未学会——直接训练也教不会。
所以结论是双层的:对混合架构,预训练和直接训练的差距说明”它们本可以,只是没人教”;对纯 transformer,最难一档是架构层的真天花板。官方还配套给了一个新证明:在固定精度舍入算术下,带非负特征值限制(记忆更新受限版)的 Gated DeltaNet 能解所有非周期任务和某些周期任务(比如追踪某个输入出现过偶数次还是奇数次)。它在层级里的精确位置仍是开放问题。
同日的对照组:Palette 靠外围工程补了什么
回到同一天的 Palette。IBM Research 面对的问题是反过来的:小开源模型做幻灯片,标题跑出边界、元素互相叠压——几何算不准。他们的解法全在模型外围:设计师角色写结构化蓝图、程序员角色逐页写代码,两层各管一种决策;训练数据约 1000 套演示文稿、近 1 万页,每条样本附”反事实推理”(权衡过哪个替代方案、为何放弃);推理时每个生成结果先过规则修复,再渲染成图跑几何检查器查重叠和溢出,发现即修复,修复过程又被改写成新的反事实训练样本。数据合成阶段就用同一个检查器过滤,模型还没上线,错误已经在训练数据里被消化过一轮。
对照着看就很清楚:几何错误是可以外部验证的——渲染出来量一下就知道对错,所以检查加修复装置有效;而 StateBench 的一般有限级状态追踪,中间任何一步漏看都无法从最终输出反推,外部装置无从下手。这两篇文章在同一个 24 小时里恰好划出了”工程补偿”的边界。
对 Agent / 工程的影响
第一,长任务 Agent 的核心能力就是状态追踪,别再只看上下文窗口。 Agent 跑长任务时做的事和 S₅ 问题同构:工具调用的返回值改写环境状态、后续调用依赖前面的修改、一个变量被多次重赋值。StateBench 的数据说明,哪怕上下文窗口塞得下全部历史,前沿模型也会在依赖链变长时丢失中间状态。做长任务 Agent 的团队,架构设计应该默认”模型会漏看状态更新”,把关键状态放在确定性的外部存储里,模型只负责读写和推理,不负责”记住”。
第二,混合架构进入选型视野,但要看任务类型。 如果业务里有真正的长依赖链(多轮代码修改、长对话中的实体状态、多步骤流程的血缘追踪),Gated DeltaNet 类混合架构在直接微调后的表现值得单独评测——2.75 亿参数的模型在可解级几乎满分,说明这个能力谱系上小模型加对架构可能优于大模型加错架构。反过来,如果任务以检索和摘要为主(平凡级、非周期级),现有 transformer 依然够用,不必为了 benchmark 迁移。
第三,评测方法本身的三条教训。 其一,测同一个问题要用多种题面格式——RULER 风格接近满分、表格编辑形式接近随机,说明很多”通过”只是格式红利。其二,”长度泛化”要单独测——预训练见过 64k,测试推到 250 倍才暴露真相。其三,评测集应该按难度分层并保持其余变量不变,StateBench 的同源派生设计是现成模板。
第四,”工程补偿”的边界清单。 Palette 和 StateBench 合起来给了一张决策表:输出可以被外部程序验证的缺陷(几何溢出、格式错误、可执行代码的运行结果),用检查加修复装置补,边际成本极低;输出无法局部验证的长链路推理(状态追踪、多步规划的一致性),外围装置帮不上忙,只能换架构、换训练数据,或者干脆把这一段从模型手里拿走。给 Agent 系统做设计评审时,先给每个能力弱点问一句”它可外部验证吗”,再决定补外围还是换底座。
我的判断
三个判断。第一,长上下文评测的主战场正在从”能塞多长”转向”依赖链多深”,StateBench 这种分层基准会快速成为标准工具,建议评测团队本周就把它加进选型清单。第二,混合架构会在两三年内成为长任务 Agent 的默认底座候选——Gated DeltaNet 与 transformer 的差距能用训练填平(最难一档除外),而 transformer 的天花板填不平。第三,13% 这个数字应该被贴在每个 Agent 团队的墙上:它证明”模型上下文里放着”和”模型真的维护着”是两件事,状态外置不是优化项,是正确性前提。
Q&A
Q1:来源和出处?
A:Ai2《StateBench — Testing how language models track state changes over long documents》,Hugging Face 官方博客 allenai 账号,发布于 2026 年 11 月 3 日,URL 为 huggingface.co/blog/allenai/statebench。配套资源:数据集 allenai/state-bench(Hugging Face,约 68k 样本)、技术报告与评测代码(链接见原文顶部)。辅助事件源:IBM Research《Palette — teaching a small model to build decks in your design language》,Hugging Face 官方博客 ibm-research 账号,2026 年 11 月 3 日,URL 为 huggingface.co/blog/ibm-research/palette-deck-building。本文全部数字(四档定义、13%、250 倍、10 倍、64k、64000、256、2.75 亿、70 亿、68k、20B、1000 套、1 万页)均出自上述两篇官方原文,未使用二手转述。
Q2:能不能自己复现?
A:可以,门槛不高。数据集公开在 Hugging Face(allenai/state-bench),评测代码和技术报告公开,四档题目自带生成逻辑。最小路径是拉取数据集,选一个开源模型在平凡级和一般有限级各跑一组,对照官方”平凡级通过、一般级随机”的结论核对;有训练资源的话,官方的直接训练实验设定(2.75 亿参数、训练 256 步赋值、测试 64000 步)也完全可复刻。
Q3:适用边界?
A:官方自己列了开放问题——StateBench 假设变量数固定,而真实长对话会不断引入新实体,模型需要中途开始追踪新对象,这个设定目前的框架还没覆盖;Gated DeltaNet 在层级里的精确位置(能否解所有可解任务、数值精度和与注意力层组合的影响)也仍是开放问题。另外四档题目是合成的赋值序列,它是能力探针,不等于真实任务成绩。
Q4:和 RULER 这类长上下文评测是什么关系?
A:互不替代。RULER 主要测检索式的长上下文能力(大海捞针、多针),StateBench 测的是沿依赖链维护状态的能力,且官方实测证明两者会给出相反信号——同一个模型检索式题目接近满分、表格编辑形式的状态追踪接近随机。选型时两个都跑,分别对应”找得到”和”跟得住”两种能力。
Q5:主要风险和坑?
A:三条。其一,别把”混合架构泛化好”直接读成”马上换底座”——官方实验是 2.75 亿参数从头训练,真实生产模型的行为要自己在目标任务上验证。其二,格式敏感性意味着自建评测时如果只用一种题面,可能测出格式红利而非真实能力。其三,状态外置方案本身有成本——外部存储的一致性、读写延迟、状态 schema 的演进都是新的工程负担,不是免费的正确性。