师傅说,拿不准就喊我——Scaffolding 论文解读:AI 干活时站的脚手架,才是跨环境泛化的隐藏变量(AI 进化论 · 第二部)
第一片是造型古怪的视觉楼群,二十五栋,每栋的规矩都得工人自己边干边猜;第二片是一百零六座迷宫式庭院,讲究用最少的步数穿堂入室;第三片是八十九间终端机房,考的是真刀真枪的管线活。三个小区,三套图纸,三种验收标准。
目录
——Scaffolding 论文解读:AI 干活时站的脚手架,才是跨环境泛化的隐藏变量(AI 进化论 · 第二部)
城东有三个小区同时在施工。
第一片是造型古怪的视觉楼群,二十五栋,每栋的规矩都得工人自己边干边猜;第二片是一百零六座迷宫式庭院,讲究用最少的步数穿堂入室;第三片是八十九间终端机房,考的是真刀真枪的管线活。三个小区,三套图纸,三种验收标准。
承包三个小区的是同一个班组。工人是 Codex,身板是 GPT-5.5 和 GPT-5.6-sol,工具箱人人相同:shell、Python、文件系统、一个通用的环境客户端。班组唯一可以调的东西,是工头每天上工前说的一句话。
A 班组工头说:"一直干到交活为止。"
B 班组工头说:"干得下去就接着干;要是遇到问题、拿不准的地方、任何让你不确定该怎么继续的事,停下来,先喊我一声,再动手。"
就这一句话的差别。代码一行没改,工具一个没换,图纸一份没加。然后呢——B 班组在头两个小区全面领先,差距从零点几个百分点到七个多百分点不等;第三个机房小区,有赢有输,谁也说不准。
真正让项目经理坐不住的是后面这个发现:厂里另有一位只干过第一片小区的"专用班组",人家对那片楼的脚手架做过定制加固,验收分还是更高。调查组把专用班组的一项小动作——"死局之后自动申请重来"——抄进 B 班组的流程里,只加这一条,就追回了专用班组领先幅度的三到六成。而讽刺的是,"死局之后可以重来"这条规矩,从第一天起就白纸黑字写在图纸说明里,两个班组人人可见。
这不是工地寓言。这是 arXiv:2610.22289 这篇论文的实验记录:一个 Codex 驱动的环境无关 coding agent,用两套几乎完全相同的提示词,跨 ARC-AGI-3、AGI Maze、Terminal-Bench 2.1 三个环境跑出的全部结果。
「AI 进化论」三部曲,上一部讲的是数据后厨——AI 接管 AI 生产线的第一道工序。这一部讲第二道工序:工程工序——AI 干活时身处的脚手架与工作台。
🧭 先认识脚手架:agent = 模型 + 马具
把基本功讲清楚。
一个 LLM agent 不是裸模型。它是模型 + 马具(harness):提示词、工具、记忆机制、控制逻辑,一整套支撑它与环境交互的装备。论文把这套装备拆成三层:
- 🧠 基座模型(backbone LLM):工人的手艺和身体素质;
- 🧰 环境无关脚手架:shell 访问、文件系统、通用上下文管理——哪个工地都一样的标准装备;
- 🏗 环境专用脚手架:为某个环境家族专门设计的控制器、观测排版——只为某片小区定制的工作台。
这篇论文的另一个关键词是环境无关(environment-agnostic)。它的意思不是"保证在每个环境都成功",而是一个更硬的承诺:对某个变体和某个"模型—努力"配置,它的代码、提示词、初始工具在所有环境里原封不动,开发者不写任何环境专用的控制逻辑。每个环境只提供一份文字版环境描述和可选的辅助文件,然后通过一个统一的交互契约与 agent 对话:初始化交底、之后 agent 发 JSON 动作、环境回传观测文件和终止状态。这套框架作者开源了,叫 EnvTraverse。
打个工地的比方:三个小区图纸不同,但班组进场流程一模一样——看图纸、领材料、按统一格式的工单报进度。班组不许自带"某小区专用小窍门"。能不能干好,全看通用流程本身的质量。
🕳 现有认知的盲区:"苦工假设"
在进实验之前,先看一眼行业的预期——论文把它称为一个待检验的假设。
这个预期来自 Sutton 那篇著名的《苦涩的教训》:长期看,赢的总是能随算力扩张的通用方法。翻译到脚手架问题上就是:模型越强,越能自己给自己造出好用的工序,开发者提供的脚手架就越不值钱。甚至有实证为它助威:Exgentic 在五个 agent 架构、五个基座模型的横向比较中发现,基座选择解释的聚合性能方差大于架构选择;作者自己前一篇 ARC-AGI-3 的研究也发现,模型能力和推理努力带来的增益,常常超过 agent 变体之间的差异。言下之意:反正模型会长大,脚手架凑合就行。
但注意一个被忽略的漏洞:所有这些研究里,所谓"通用 agent"的身上都bundled(捆绑着)一堆没被拆解的专用件。作者前作的几个变体全部保留着 ARC-AGI-3 专用的组织与控制逻辑——按关卡和尝试归档观测、由控制器统一管理的 RESET 策略。脚手架的贡献从来没有被单独称量过,就像不知道一个班组的真实水平,因为 customized 的工作台从来没被撤下来过。
所以这篇论文问了两个互为表里的问题:
第一,一个环境无关的 agent,能不能在某些环境上被改进,同时不在其他环境上明显退步?(这是工程问题。)
第二,在模型不变、任务信息和通用工具不变的前提下,为什么改变引导与控制就能改变性能?(这是机制问题。)
🔬 实验设计:只改一句话
回答问题的办法,抠门到近乎固执。
一个 agent,两个变体。 架构是四件套:一个脚本化控制器(controller)、一个 Codex 编码 agent、一个环境无关客户端、一块持久化的 Linux 工作区。控制器是个小脚本,只负责发提示词、检查会话状态,不含任何任务求解逻辑。Codex 干全部脑力活:读观测、推理、写程序、选动作。
两个变体叫 Baseline(agent_v1)和 Stop-and-report(agent_v1_01_wstop)。它们唯一的差别,是每次续谈时追加的那句指令——continuation_string.txt:
- Baseline 版:"Continue working until you have completed your task."(继续干活,直到完成任务。)
- Stop-and-report 版:"Continue working on the task as long as you can proceed confidently. If you encounter a problem, ambiguity, unexpected issue, or anything that makes you unsure how to proceed, stop and report it back to me before taking further action."(能 confidently 推进就推进;遇到问题、歧义、意外或任何不确定,停下来先报告,再动手。)
控制器还有两条兜底协议:正常协议(Codex 返回但未终止,就续谈),卡死协议(续谈后一个环境动作都没产出,先提醒,再没动作就退出);外加一个运行恢复监督器,最多救场十次,救场时保留环境、工作区、观测记录和原对话。
四个"身板配置"。 GPT-5.5 开 high 和 xhigh 两档推理努力,GPT-5.6-sol 开 xhigh 和 max,全部跑在 Codex 0.154.0 上。
三个小区,三套验收规矩。
- 🎮 ARC-AGI-3:25 个公开游戏,每关动作预算 1500 次(含 RESET,跨所有尝试,过新关卡清零)。验收分是相对人类动作效率 RHAE。
- 🌀 AGI Maze:从 CLASSIC 和 EXTENDED 集合里取编号 0005 与 0009 的全部迷宫,共 106 座;单迷宫预算为基准 max_steps 的五倍;验收用作者自定义的 RHAE70——解出得
100·min{1,(0.7·mᵢ/aᵢ)²},没解出归零。这个 0.7 因子来自 AGI Maze 团队分享的内部试玩:一名熟悉机制但没玩过这些图的熟练玩家,8 局下来平均只用掉预算的 0.617,其中 7 局低于 70%。 - 💻 Terminal-Bench 2.1:89 个真实终端任务,六种动作(terminal_send / terminal_read / terminal_new / get_file / send_path / finish),终端是非阻塞的——命令在后台跑,空屏不代表干完了。验收看任务验证器 reward,超时归零。刻意不提供"执行并等待"的便捷动作,因为那是另一种环境版本。
📊 数字:一句话、一条规矩、七次教学
对比一:同班组换口令
先看两个环境无关变体的正面交锋,三次重复取均值。
ARC-AGI-3 上,Stop-and-report 四个配置全胜:GPT-5.5 high 从 27.57 涨到 34.86(+7.29),xhigh 从 50.45 到 52.36;GPT-5.6-sol xhigh 从 70.81 到 77.33,max 从 89.59 到 90.96。增益区间 1.37–7.29 个百分点。
AGI Maze 上,八个对比全胜(单迷宫与教程课程 × 四个配置):增益 0.37–4.95 个百分点。比如 GPT-5.6-sol max 单迷宫 69.35→71.87,课程设定 68.03→72.98。
Terminal-Bench 上,方向混乱:四组差异从 −1.50 到 +2.25 个百分点,GPT-5.5 xhigh 甚至微降(82.77→82.40),GPT-5.6-sol max 也从 86.89 掉到 85.39。同一句话,在游戏里灵,在机房里未必灵。
特别值得圈出的一点:这条指令是在 ARC-AGI-3 上研发出来的,全程没用 AGI Maze 的分数做过挑选。它在迷宫上的增益是事后才确认的——这说明收益确实跨环境迁移,不是在某个 benchmark 上贴膏药。
代价也要写进账本:Stop-and-report 的 token 成本在 ARC-AGI-3 上高出 2–52%,在 AGI Maze 上高 7–39%。作者把话挑明了:这些增益确立的是"同等执行策略下的提升",不是"同等推理成本下的优越"。
对比二:专用班组还剩多少绝活
真正精彩的戏码在 ARC-AGI-3 的内部对标。作者搬出自己前作的专用 agent 升级版 twma_v1.61:它不告诉模型任何新规则或解法,只做三件组织性的事——按关卡和尝试归档观测、由控制器统一管理 RESET、要求维护一份持久的文本世界模型。而这些做法依赖的信息,通用 agent 的环境描述里其实都有。
结果是一张整齐得像台阶的表(RHAE / 成本,单位 M):
| 配置 | Baseline | Stop-and-report | Controlled_RESET | twma_v1.61 |
|---|---|---|---|---|
| 5.5 high | 27.57 / 9.36 | 34.86 / 14.19 | 45.92 / 42.19 | 53.19 / 64.09 |
| 5.5 xhigh | 50.45 / 16.08 | 52.36 / 20.18 | 61.44 / 45.52 | 71.11 / 63.64 |
| 5.6-sol xhigh | 70.81 / 16.30 | 77.33 / 16.57 | 84.59 / 18.36 | 92.24 / 27.03 |
| 5.6-sol max | 89.59 / 15.34 | 90.96 / 18.01 | 93.31 / 18.86 | 97.86 / 26.61 |
为了拆解这 7 分差距到底藏在哪里,作者做了一个极克制的手术:从 Stop-and-report 出发,只加一条 ARC-AGI-3 专用的 RESET 规矩——提示词里写"如果你死了(GAME_OVER),报告我,禁止自己调 RESET",控制器检测 GAME_OVER 后代替它执行。这一个改动就追回了 Stop-and-report 与 twma 之间差距的约 34–60%,max 配置下 90.96→93.31。
请停下来想想这件事的荒诞之处:RESET 的用法早就写在环境描述里,通用 agent 手里一直握着这条规则,主提示词还明确允许它自建索引、脚本和观测整理。信息全有,工具全有,唯独没人替它把这条规矩钉进流程。一旦钉进去,分数立刻动。
这就是全文最想钉进读者脑子里的一句话:拥有信息和工具 ≠ 有效地使用它们(having information and tools available vs using them effectively)。员工手册里写着"打印机卡纸请呼叫行政",人人都"知道";只有把这条写进巡检流程、由行政主动执行,事情才真正发生。
对比三:先上七节课,反而考砸了
第三个实验换了个问法:经验是不是越多越好?
AGI Maze 的课程设定里,agent 先连续闯 7 座教程迷宫(全图开放,机制教学),再进考核迷宫。直觉上这是白送的练习。结果——GPT-5.5 两个努力档下,教程全部起了反作用:比如 xhigh 课程设定 58.35 对单迷宫 63.32,分数掉了。GPT-5.6-sol 在 xhigh 时教程对两个变体有帮助,到了 max 又变成 Baseline 降、Stop-and-report 微升,方向混杂。
同一套课程,换一个身板配置,药效就翻面。更多相关经验并不必然更好,它的收益取决于被教的是谁。这和 RESET 的发现互为镜像:一个是"有规则不用",一个是"有练习不受益"——脚手架与经验的价值都不随"可得性"自动兑现。
顺带交代一句稳健性:RHAE70 的 0.7 因子是作者自定义的代理参考,不是标定过的人类基线。用 0.8 因子重算,大部分结论不变,但 GPT-5.5 xhigh 课程设定会轻微反转(67.14 对 66.54,偏 Baseline)。主要结论用的都是 RHAE70,排序对归一化方式并非完全免疫。
🧠 这篇论文真正想说的
把三组数字摊在桌面上,作者的答案其实很诚实:我们证明了脚手架有效,但说不清它为什么有效。机制上有两个互补的解释,实验没有、也暂时不能把它们分开。
解释一:脚手架帮 agent 更好地"用"已有的信息和程序。 Stop-and-report 返回时,控制器会提醒目标、建议重读环境描述——这个机会 Baseline 其实也有,区别只在于前者被"鼓励"在困难时停下来。twma_v1.61 的优势不必来自额外信息,它来自把"按关卡归档、维持文本世界模型"这些好工序从可选项变成规定动作。Controlled_RESET 是最干净的证据:一条现成规则,从"写在那里"变成"钉在流程里",立刻兑现成分数。
解释二:脚手架改变了推理的总量与分配。 组织报告、重新续谈、重读描述,这些动作都烧 token。四次对比里成本排序与分数排序完全一致——"不确定性时刻多想想"很可能就是增益来源本身。但反过来,更好的性能也会带来更多可继续的场景(多过几关就多几关可打),性能和花费互相喂养,因果箭头画不清。
作者的态度值得尊敬:没有把故事讲圆,而是把 EnvTraverse 框架和这个实测过的 Baseline agent 一起开源,邀请所有人来做分离实验——在某个环境涨分不算赢,要在不拖累其他环境的前提下涨分才算。
对"AI for AI"这条大叙事,这是第二块扎实的基石。第一部证明了数据工序的自动化瓶颈在组织设计而不在个体聪明;这一部证明工程工序同理:同一个模型,站在不同的脚手架上,产出差一个量级。而更锋利的信息藏在那个负结果里——即便 GPT-5.6-sol 开到 max,专用脚手架的优势依然健在。模型在长大,但它到今天为止,仍然需要一个会把 RESET 规矩钉进流程的工头。
⚠️ 冷静一下:局限
照例把丑话说在前面。所有结论只覆盖四个"模型—努力"配置和三个环境家族,换一个模型、换一个环境,一句话的魔力未必还在;增益全都伴随 token 成本上涨,论文比较的是执行策略下的差异,不是等推理成本下的公平对决;"用得更好"与"想得更多"两个机制没能分离,这恰恰是全文最想回答的问题;RHAE70 是自定义代理分数,0.7 因子的选择会轻微影响个别排序;此外作者也坦承,脚本化的 RESET 未必最优——一个足够聪明的 agent 本可以在死局到来之前就提前止损,把省下的动作花在别处。
🌙 回到工地
夜色降下来,三个小区的路灯次第亮起。
这个班组最动人的地方,不是它造出了多高的楼,而是它把"造楼"这件事故意拆到了最朴素的一层:同一把凿子,同一套图纸,同一群工人,只在工头那句话上做了手脚——"拿不准就喊我"。然后他们拿着这份最简的脚手架,挨个小区去验收,涨就是涨,跌就是跌,连学费都记在明处。
而那些分数也替我们守住了幻想的边界:专用班组还在前面,七级台阶的差距开满马力也没追上;七节课的教程能教出负分;一句口诀搬出游戏机房就失灵。模型、脚手架、经验,这三样东西没有谁可以替谁值班。
第三部,我们去看终极的那道工序——当 AI 开始自己给自己搭脚手架。Terminal-RSI:递归自我改进。那一晚,班组里只剩一个工人,和一面镜子。
参考文献
- 论文:Improving Environment-Agnostic Coding Agents: The Role of Scaffolding
- 作者:Sergey Rodionov
- 机构:SingularityNET
- 链接:arXiv:2610.22289(https://arxiv.org/abs/2610.22289),2026 年 10 月 15 日
- 代码:https://github.com/astroseger/envtraverse(EnvTraverse 框架与 Baseline agent,含完整运行数据)