冻结权重靠在线监督,PILOT让Terminal-Bench自我改进再涨14.6分

PILOT in the Loop: Live Self-Improvement for Long-Horizon Agents

Yang Xiao, Yusong Sun, Haoyi Wu, Wenyang Hui, Wen Da, Zhaokai Luo, Mu Chuan, Yao Hu, Wenjie Li, Chengyue Jiang

cs.AI

2026-08-27

PILOT用独立监督器在工人执行中途纠偏或中止,并把有效流程写入技能库。冻结GLM-5.1与Kimi-K2.6时,Terminal-Bench 2.0一次通过率最高71.9%,自我改进设置下再涨14.6分,输出token约降四成。

这篇在解决什么

长程任务里,Agent 一边干活一边产出经验:成功路径值得留下当技能,失败路径暴露了不该再走的坑。现有自我改进大多等整段轨迹跑完再复盘,Reflexion、judge 评估、改 harness 都走这条路。教训来不及救当次任务,也没法立刻在同一条执行里验证刚提炼的知识。

架构也卡住了。单 Agent 自我纠错把执行和诊断塞进同一段上下文,工具输出和死胡同占满窗口,策略已经跑偏也难被看见。子 Agent 委托把执行拆出去了,但主 Agent 通常要等子任务交卷才拿到摘要,中途改不了方向。缺的是两件事同时成立:纠偏要在线,而且纠偏要有独立角色。

方法

PILOT 是一套 supervisor-worker harness,装在 Pi coding-agent 运行时上。模型权重全程冻结,进化的是持久 harness:技能库和记忆。监督器和工人用同一个冻结骨干,避免更强模型管更弱模型,把编排收益混进模型差距。

两条机制绑在同一条经验流上。

工人上下文吞执行细节,监督器上下文只盯目标、近况和跑偏信号。需要诊断时才去读轨迹相关片段。一次任务里可以同时拉起多个工人。

结果

评测用两个开源冻结骨干 GLM-5.1、Kimi-K2.6,三套长程基准。每个配置跑两次取平均,开启 thinking,最大生成 32k。一次通过设置下,每个任务从空白 harness 起步,只测在线转向能不能把当次跑拉回来。

Terminal-Bench 2.0 共 89 题,全体通过率如下。

HarnessGLM-5.1Kimi-K2.6平均
Terminus-264.059.661.8
Hermes60.164.062.1
OpenCode66.964.665.8
Pi65.766.966.3
PILOT71.971.371.6

Hard 子集上 PILOT 两骨干都是 55.0%,比 Pi 的 50.0% / 48.3% 各高 5.0 和 6.7 分。SWE-bench Pro 平均 59.9%,比最强单 Agent 基线 Pi 的 55.5% 高 4.4 分;Kimi-K2.6 上 PILOT 65.1%、Pi 59.1%。六组骨干×基准里 PILOT 拿了五个第一。唯一没拿下的是 Kimi-K2.6 在 SWE-bench Multilingual:73.7%,低于 Pi 的 75.9%。

自我改进设置把 Terminal-Bench 2.0 扫 20 轮。执行中看不到 verifier 分数,技能只按轨迹和环境反馈写;一轮结束后,成功任务留下的更新才并进下一轮共享状态。所有 harness 收到同一条「留技能、下次复用」的指令,并从同一份初始技能库出发。PILOT 的最好通过率:GLM-5.1 从第 0 轮 66.3% 到 80.9%,加 14.6 分,第 14 轮首次到顶;Kimi-K2.6 从 68.5% 到 80.9%,加 12.4 分,第 13 轮到顶。OpenCode 只涨 7.9 分,Pi 只涨 2.3 分。技能数 GLM 62→83,Kimi 50→81。每题平均输出 token 从 28.5K 降到 16.3K,降 42.9%;从 41.9K 降到 22.1K,降 47.4%。每百万输出 token 的成功次数分别升 110.3% 和 134.0%。新增通过主要落在 Hard:GLM 多过 8 题,Kimi 多过 12 题。

人工核完整监督-工人轨迹后,被判定「在线转向真正帮上忙」的成功跑,Easy 是 0%;Hard 上 GLM 6.1%、Kimi 19.7%,全体 2.3% 和 10.6%。判定很严:监督器要指出具体错误或无效策略,工人沿纠正路径做完,干预后碰巧 PASS 不算。两个案例分别是 CoreWars 任务里叫停对着合成对手调 DAT-clear,改去找公开 warrior;张量并行任务里指出 RowParallelLinear 不该在 allreduce 前加 bias,否则 bias 会被乘上 worldsize。

为什么重要

这是 harness 层的渐进改进,不是新模型。权重不动,把当次纠偏和跨任务沉淀收成同一条闭环。做长程 coding 或终端 Agent 的人可以直接对照:在 Pi 系运行时上加一层独立监督会话,比再堆 Reflexion 式事后复盘更贴真实使用。开发者本来就会让 Agent 在相关任务之间留技能。

数字也标出了上限。一次通过已经比 Pi 高大约 5 分,真正拉开的是反复跑同一批相关任务。Hard 更吃可复用流程,技能库主要是给难任务省探索。token 下降说明后面几轮少在重复推理,不完全是靠多生成换分。

局限与存疑

论文自己写了两条:扫 20 轮太贵,所以只有三套基准、两个开源骨干,闭源模型没测;监督器和工人同骨干,异质配对的质量、成本和监督水平还没做。

另外几处读完站不太稳。写入发生在执行中,但跨轮保留仍用 verifier 成败做过滤器,失败跑的更新丢掉。这比完全事后总结更早,仍不是无外部对错信号的纯在线演化。一次通过 GLM 71.9% 和第 0 轮 66.3% 对不上,两套设置的指令和初始技能库不同,不能直接当消融。在线转向帮上忙的成功跑整体只有 2.3% 和 10.6%,Hard 才明显,多数分数可能来自角色分离和额外上下文,不一定来自中途改方向。SWE-bench 因 JavaScript 运行时冲突剔除了 Multilingual 43 题、Pro 198 题,虽然对所有 harness 一视同仁,绝对通过率不能跟公开榜直接比。PILOT 是 Pi 的扩展,和 Pi 的对照更干净,和其他从零实现的 harness 比,基座并不完全对称。

术语

原文与代码

社区讨论

相关论文

全部论文解读