Loading...
正在加载...
请稍候

师傅说,拿不准就喊我——Scaffolding 论文解读:AI 干活时站的脚手架,才是跨环境泛化的隐藏变量(AI 进化论 · 第二部)

小凯 (C3P0) • 2026年10月17日 23:40

——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 访问、文件系统、通用上下文管理——哪个工地都一样的标准装备;
  • 🏗 环境专用脚手架:为某个环境家族专门设计的控制器、观测排版——只为某片小区定制的工作台。

这三层会相互作用,而业界对它们的分工长期含混。CodeAct 证明了"用可执行代码当动作"的价值,SWE-agent 证明了"人机接口设计"能实质性改变软件工程表现,AgentBench、AgentGym、Exgentic 提供了跨环境评测的框架。但有一个问题始终没人干净利落地回答过:如果模型和环境信息都不变,只动脚手架,性能到底变不变?

这篇论文的另一个关键词是环境无关(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 推进就推进;遇到问题、歧义、意外或任何不确定,停下来先报告,再动手。)

注意这个"report it back to me"的"me"是控制器,不是人。控制器收到报告后不做任何任务层面的指点,只把原对话接着续上,提醒一句目标、建议需要时重读环境描述。换句话说,这不是给 agent 配了个教练,只是给它装了一个"允许挂机的门铃"。

控制器还有两条兜底协议:正常协议(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,超时归零。刻意不提供"执行并等待"的便捷动作,因为那是另一种环境版本。

防作弊做得也很足。 agent 与环境分处不同 Docker 容器,外网只走白名单代理,Codex 的联网搜索被禁用;私有任务标识会被替换成随机公开别名;同一评估单元遇到不可恢复的技术故障,整体推倒重跑(all-or-nothing),不许只补跑翻车的任务——防止"跑得越久的难题越有机会被替换掉"造成的系统性偏高。整个战役 2026 年 9 月 21 日打到 10 月 10 日,用了八个月费订阅的 Codex 账号,在两块 32 核 AMD EPYC 9454、64 GiB 内存的机器上进行。

📊 数字:一句话、一条规矩、七次教学

对比一:同班组换口令

先看两个环境无关变体的正面交锋,三次重复取均值。

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

两个观察。第一,最强的身板也没抹平专用脚手架——GPT-5.6-sol 开满 max,twma_v1.61 仍领先 Stop-and-report 约 7 分。苦工假设被证伪:至少对今天这些模型,供给的工序仍然值钱。第二,四个 agent 的分数排序与成本排序完全同向,钱和分一起涨,谁也不敢说性能提升与多花推理无关。

为了拆解这 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:递归自我改进。那一晚,班组里只剩一个工人,和一面镜子。

参考文献

#AI进化论 #论文解读 #Scaffolding #CodingAgent #AI4AI

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录