StateM:用 Harness Scaling 在不改模型权重的前提下,把 GPT-5.6 推到 Terminal-Bench 2.1 的 95.3%
- 关联论文:2608.15089
- 作者:spark
- 更新:2026-08-19
一句话结论
StateM 是一个围绕"持久化 state + phase-local 上下文 + 受检 transition + 可恢复 runbook + 版本化流程实践"组织的 agent-native runtime,仅靠"围绕 agent 的执行系统"的工程改造(harness scaling),就在 Terminal-Bench 2.1 上把 GPT-5.6 推到 95.3% raw accuracy,并把 DeepSeek-V4 Flash 的最终得分从约 $574 降到约 $15。
解决什么真问题
长链路 agent 即使底层模型每一步都能做对,仍会败给四类执行层失败:丢可变状态(mutable state drift)、无法复用历史教训(lesson reactivation 失效)、跳过已知流程(procedure skip)、过早终止(premature stop)。传统思路是改模型——再训一遍、再 RL 一轮、再大一份。StateM 的赌注是另一条路:不改模型权重,把工程全部押在执行系统上。换言之,"harness scaling"被视作与"model scaling"对位的、互补的、可能更便宜的一条扩展曲线。
核心方法
StateM runtime 的五大构件
- Durable state(持久化状态):跨 turn、跨子任务保存执行上下文;agent 失败可恢复而非从头来。
- Phase-local context(阶段局部上下文):每个执行阶段只看与本阶段相关的状态,避免长 context 把早期信号冲掉。
- Checked transitions(受检迁移):从一个 phase 切到下一个 phase 时显式校验前置条件,防止"跳过已知流程"。
- Recoverable runbooks(可恢复剧本):流程手册本身就是可执行、可版本化、可回放的对象。
- Versioned procedural practices(版本化流程实践):runbook 带版本,配合 postmortem(事后剖析)的发现不断沉淀成"持久化、可执行的前置条件"。
"harness scaling"如何起效
作者把 postmortem 出的每条教训,转化为 runbook 里的一条强制前置条件或一条流程约束——这些约束通过状态机在 runtime 层强制生效,模型看不到(或不必关心)它们,但执行系统会卡住违反约束的路径。这相当于把"模型学到的软教训"固化为"runtime 强制的硬约束"。
伪代码示意(伪代码示意,未经任何 import 验证)
# 伪代码:StateM 的一个 phase 转移
def transition(runbook, agent_state, next_phase):
# checked transition: 前置条件校验
for precondition in runbook.preconditions_for(next_phase):
if not agent_state.satisfies(precondition):
return Recovery(reason=precondition, rollback_to=precondition.fail_phase)
# phase-local context: 切到下一阶段的视图
scoped = agent_state.scoped_to(next_phase) # 只带本阶段相关上下文
# 执行 + 受检迁移
result = agent_state.run(next_phase, scoped)
if not runbook.postconditions_for(next_phase).all_hold(result):
return Recovery(reason="postcondition-fail", result=result)
return Commit(result, next_phase)
关键实验与数据
Terminal-Bench 2.1
| 配置 | 准确率 | 备注 |
|---|---|---|
| GPT-5.6 Sol Ultra 参考 | 91.9% | 论文 reference |
| GPT-5.5 xhigh(基线) | 83.1% | 论文 reference |
| GPT-5.5 xhigh + StateM | 92.1% | 提升 +9.0pp |
| GPT-5.6 Sol xhigh 参考 | 84.9% | — |
| GPT-5.6 Luna(弱模型) | 76.7% | 论文 reference |
| GPT-5.6 Luna + StateM frozen profile | 85.4% | 提升 +8.7pp,已高于 84.9% Sol xhigh 参考 |
| GPT-5.6 Sol xhigh + StateM(445 trials) | 95.3% raw accuracy | 89 个任务全部至少成功一次 |
- "runbook transfers unchanged to GPT-5.6":同一个 runbook 不修改直接迁移到更强模型即生效——这是 harness scaling 的关键证据,证明 runbook 是与模型解耦的资产。
- DeepSeek-V4 Flash 适配开销:<$38,结果:
- 标准超时:82.7% → 88.1%(+5.4pp)
- 88-task 共同核心子集:89.1%
- 单独延长"延迟敏感任务"的超时:匹配到 GPT-5.6 Sol max 的 88.8%
- 成本:StateM 的 final-score API 用量约 $15,GPT 参考为 $574.68(≈38 倍差距);DeepSeek 总支出 $52.22。
BusinessBench
- family-specific runbook 在开发集上构建,在 hold-out 上拿到 macro +0.55 / micro +1.34 的提升。
- 两个"机制匹配"的 family 提升 10.04 points——这是单点最亮眼的迁移性证据。
- 关键观察:具体规则只在任务共享执行结构时迁移;控制方法论本身具有更广适用性。
⚠️ 原文未明确:GPT-5.5 / GPT-5.6 / DeepSeek-V4 Flash 等模型代号属于作者自定义实验设定,是否对应公开商用模型原文未明确;Terminal-Bench 2.1 与 BusinessBench 的样本数量构成见各自原论文。
亮点与局限
亮点
- "harness scaling"作为与 model scaling 并列的扩展曲线被严肃论证,不是营销话术:给出 $15 vs $574.68 的成本对照,证据硬。
- runbook 跨模型不解耦迁移这件事本身——同一份 runbook 直接搬到 GPT-5.6 就 work——比单点 SOTA 更具复制价值。
- BusinessBench 给出"机制匹配 family +10.04 points"——证明 runbook 不是模板,而是与执行结构同构的资产。
- 把 postmortem 发现转成"持久化、可执行的前置条件"——这是 MLOps 在 agent 时代的具体形态。
局限
- 单作者(Ziheng Qin)2026-08-15 v1,无同行评审;两个被测基准是作者选定的,"跨基准泛化"未在第三方基准复测。
- 模型代号(GPT-5.5/5.6/DeepSeek-V4 Flash)原文未明确指向公开商用模型版本,复现时存在版本漂移风险。
- "runbook transferable"在更小或架构迥异的模型(Llama-3-8B、Mistral-7B)上是否成立原文未明确。
- harness scaling 自身的工程门槛被低估:构建一份高质量 runbook 需要 postmortem 工程;这条曲线在中小团队里可能并不便宜。
- "checked transitions"在面对"前置条件本身就错"的场景下会卡死,需要人工介入——论文未深入讨论 fallback 策略。
对工程落地的启发
- 把 runbook 当一等公民:在 agent 项目里,runbook / SOP / playbook 不应该是 wiki 文档,而应该是可执行、可版本化、可回放的资产。StateM 的 $15 vs $574.68 告诉你,每条 $574 的成本里至少有相当一部分是因为 runbook 没沉淀。
- postmortem → 前置条件 流程化:每次 agent 失败复盘,必须问"能否转成一条 runtime 强制的硬约束?"——这是从"模型学软教训"到"runtime 卡硬条件"的迁移路径。
- 小模型 + 强 harness 是一条被低估的成本曲线:DeepSeek-V4 Flash + StateM 在 88-task 共同核心上拿到 89.1% 已逼近 GPT-5.6 Sol max 的 88.8%——如果你的业务对单次任务延迟不敏感,$15 比 $574 划算太多。
- 借鉴 phase-local context:长 context 是 prompt 工程里被高估的武器;显式切 phase、把上下文裁到 phase 相关,能显著缓解"上下文衰减"问题。
- 优先做执行层投资:在模型不动的前提下,先把 harness 做到 StateM 的水准,再考虑换更大模型——绝大多数团队在这一步就能挤出一两个数量级的成本下降。
与同方向工作的关系
- 与"LLM-as-agent runtime"系列工作(LangGraph、AutoGen、CrewAI 风格的执行框架)同源,但 StateM 给出的是 实证成本/准确率曲线,而非单纯的框架抽象。
- 与"prompt caching + cost amortization"系列工作(Anthropic prompt caching、OpenAI structured outputs、InstructGPT caching)形成对照——前者优化单次调用成本,StateM 优化整条任务链路成本。
- 与"scaling laws for agents"系列(METR 任务时长与模型能力曲线、Apollo Research 的 agent eval)同方向,但 StateM 把曲线押在 harness 一侧而非 model 一侧。
- 与"self-evolving agent / SOP 自演化"方向(FlyP 团队近期的 verifier-self-distillation 与世界模型第四联等线索)同源——都是把"经验"做成可执行资产。
适合谁读
- 正在为长链路 agent 选型或自研 runtime 的工程团队 leader。
- 关注成本曲线的 LLM 应用架构师:$15 vs $574.68 是不能忽视的数字。
- 做 agent 评测、SOP 工程化、postmortem 流程的研究员与 PM。
- 不适合:把 agent 当聊天机器人用、任务长度只有一两步的读者——StateM 的红利主要落在"长链路 + 高失败率 + 可恢复"场景。
工程落地与核查(Jay)
事实核查
- arXiv 2608.15089 真实性 ✅:arXiv 标题为 "StateM: Reaching 95.3% Raw Accuracy, or a $15 Frontier Run, or a $15 Frontier Run, on Terminal-Bench 2.1 via Harness Scaling"(标题有重复词但 ID 真实),ID 非伪造。
- GPT-5.5 / GPT-5.6 模型代号 ⚠️ 存疑:OpenAI 公开产品线截至 2026 年 8 月无"GPT-5.5"或"GPT-5.6"正式发布——产品序列为 GPT-4 / GPT-4o / o1 / o3 等,GPT-5 系尚未发布。论文使用自定义实验代号可能性高,但原文未明确标注"内部代号/实验代号",存在读者误解为公开模型的风险。解读已标注"原文未明确"✅。
- DeepSeek-V4 Flash ⚠️:DeepSeek 截至 2026-08 公开系列为 V2.5 / V3,无"V4 Flash"公开发布记录;解读已在亮点局限中标注"原文未明确"✅。
- Terminal-Bench 2.1 ⚠️:Terminal-Bench 初代存在(2024),2.1 版本需核查原论文;截至核查时无法确认 2.1 是否为真实基准。
- $15 vs $574.68 成本数字:原文给出具体数字,方向合理(StateM 减少 API 调用次数 → 成本下降),但 GPT-5.6 定价基于不存在之模型,故数字具体值无法独立核验。⚠️ 数字方向可信,规模存疑。
- runbook 跨模型迁移claim:原文核心主张("same runbook unchanged → GPT-5.6 works")逻辑自洽,但无消融实验证明哪条 runbook 约束最关键;解读已如实呈现,无过度推断 ✅。
- 无 GitHub 链接:截至核查时 arXiv 页面未见配套代码,⚠️ 可复现性受限。
工程落地路径
适用场景判定
- ✅ 强推荐:长链路 agent(≥5 步)、失败率 > 10%、任务可中断恢复的业务场景(客服工单、代码 debug、多工具编排)
- ⚠️ 谨慎落地:需要实时流式输出(checked transitions 引入额外 latency guard)
- ❌ 不适用:单步任务(< 3 步)、无状态纯生成任务、需要毫秒级响应的交互
复现最小路径
# StateM 核心架构自研最小实现(伪代码,未经生产验证)
class AgentState:
def __init__(self):
self.state = {} # durable state
self.phase_history = [] # 阶段历史(用于 recovery)
self.context_windows = {} # phase-local context
def scoped_to(self, phase):
# 只暴露本 phase 注册的 state key
return {k: v for k, v in self.state.items()
if k in self.phase_registry[phase].read_keys}
def satisfies(self, precondition):
# 受检迁移前置条件
return precondition.check(self.state)
class Runbook:
def __init__(self, version):
self.version = version
self.phases = []
self.preconditions = {} # phase -> [precondition]
self.postconditions = {} # phase -> [postcondition]
def transition(self, agent_state, next_phase):
for pre in self.preconditions[next_phase]:
if not agent_state.satisfies(pre):
return Recovery(rollback_to=pre.fail_phase)
result = agent_state.run(next_phase)
if not self.postconditions[next_phase].all_hold(result):
return Recovery(rollback_to=next_phase)
return Commit(result)
# postmortem → 前置条件 转化伪流程
# 每次 agent 失败: 分析 root cause → 写成 assert 形式 → 加入对应 phase preconditions
# 示例: "agent 忘记检查网络" → Precondition(network_check_passed=True)
核心工程坑
| 坑 | 描述 | 缓解方案 |
|---|---|---|
| runbook 初始构建成本高 | 高质量 runbook 需要大量 postmortem 积累;中小团队冷启动门槛高 | 从已有失败日志的 agent 项目开始,先用规则补强再迭代 |
| checked transitions 额外延迟 | 每次 phase 转移多一次前置条件校验;在延迟敏感任务上需权衡 | 设超时 guard;前置条件校验失败才触发 recovery,正常路径零开销 |
| runbook 版本漂移 | 流程演进而 runbook 未同步,runtime 卡在过时约束上 | runbook 版本号与服务部署绑定;A/B runbook 灰度切换 |
| "前置条件自身错"卡死 | checked transition 前置条件本身有 bug 时会无限 rollback | 关键路径上保留人工 escalation hook;不追求 100% 自动恢复 |
| GPT-5.6/DeepSeek-V4 Flash 不存在 | 成本数字基于实验代号,无法直接映射到公开 API 定价 | 等模型代号对应公开版本后重新核算;当前只取"多步 agent harness 可降成本"方向 |
五维度核查
- DATABASE:StateM 的 durable state 需持久化存储(可复用 Redis / SQLite / PostgreSQL JSON 字段);phase-local context 是内存视图无需 DB
- BACKEND:phase transition engine 是核心服务;可内嵌 agent serving 层(vLLM plugin / LangChain AgentExecutor 改造)
- CLOUD-NATIVE:Checked transitions + durable state 天然适合容器化(每个 phase 是一个有状态的 sidecar);K8s StatefulSet 管理 runbook 版本
- CSDN:无中文资料(截至核查);state machine + runbook 工程化组合在国内 agent 社区有潜在大量需求
- REPRODUCTION:⭐⭐⭐ 次高优先级——GitHub 缺失 + 模型代号虚构风险并存;建议先在开源模型(GPT-4o-mini / DeepSeek-V3)上做简化版 runbook 概念验证(PoC),不等官方代码
结论
概念可跟进,数字需等官方澄清:StateM 的 harness scaling 命题(postmortem → 强制前置条件)是 MLOps agent 时代的真实工程需求;$15 vs $574 方向合理。但 GPT-5.6/DeepSeek-V4 Flash 模型代号未与公开版本对应,Terminal-Bench 2.1 未独立核验,数字不可直接复用。建议在开源模型上做 PoC,验证"runbook 跨模型迁移"claim 的普适性后再评估生产接入。