解放模型:前沿上的 harness 设计
作者:Daniel Furman、Jacky Zhao、Vaibhav Kumar、Ed Sioufi、Michele Catasta(Replit AI 团队)
一句话论断
「无论基于先进启发式,还是用一个读每一轮对话的小模型来挑该用哪个 LLM,router 永远比它正在为其选择模型的那个模型更弱。」
所以 Replit Agent 让模型自己决定。
核心循环选择它的子 agent 用什么档位和多少 effort,并随着任务展开调整自己。 有了这份自由,GPT-6 Astra 把日常实现交给更便宜的子 agent,自己决定哪些 token 值得花。
一、为什么我们要「少」搭脚手架
每一次模型发布,都会让 harness 里烘焙的假设作废。
随着模型在长时程任务上变强,它们不再需要 harness 层那么多的脚手架。 在实践中,我们观察到它们自己就越来越倾向于委派——用子 agent 来做上下文管理和并行。
但前沿是锯齿状的。 最强的编码模型不一定是 UI 设计或做幻灯片最强的,也不一定是写邮件最强的。编码 agent 会写一种压缩的、术语密集的腔调(绰号「Claudish」),而且每个前沿模型的文风独特到可以仅凭文本辨认出来。
所以我们把 harness 设计成让每个模型按自己的方式来工作,保留它仍然需要的护栏,以最低成本拿到质量为目标。
每一个新模型都把我们送回原点,重新测试那些我们曾确信的东西,并快速试验那些建立在涌现行为之上的技术。
解放模型,意味着让它决定该想多用力、什么时候把手上的活交出去、以及交给谁。
二、三个决定
harness 提供选项并守住护栏;每一步,核心循环来做决定。
① 该想多用力
effort 逐步设置,而且在最新模型上,中途改变 effort 不会造成缓存失效。
② 什么时候把活交出去
自己做,或者交出去(还可以一次两个)。 交接换来上下文管理和并行;一个小任务根本不会派生任何子 agent。
③ 交给谁
前沿是锯齿状的,所以每个专家跑在各自最擅长的模型上。
三、四个可组合的委派原语
我们细化了四个 harness 原语。它们给核心循环在每一步提供一小组选择。
① 领域感知的子 agent
除了一个通用 worker,harness 还提供专家:只读的 explorer、浏览器测试者、reviewer,以及一个负责幻灯片和 UI 的设计子 agent。
目前,harness 仍然决定存在哪些专家;核心循环决定什么时候用、怎么用。
② 子 agent 的档位与 effort
小、标准、大三档,每档在成本和能力上递进;档位之内还有 effort 级别。 两者都适用于每个子 agent,核心循环在每次派发时选。
比如,一次机械的重命名交给「小 + 低 effort」,而为顽固 bug 生成假设交给「大 + 高 effort」。
③ 可复用的子 agent
核心循环可以回到一个它已经交代过任务的子 agent,而不是从头开始。 不存在一个为整个会话保活的「sidekick」:任意数量的子 agent 跨种类、跨档位保持温热,由核心循环决定唤醒哪一个。
OpenAI 较新模型上更长的缓存寿命,压低了这样做的成本。
④ 动态 effort 调整
既然在某些模型上中途改变 effort 能保住缓存,我们训了一个升级系统:它在每一步检查轨迹,把 effort 与任务难度匹配。
与 router 不同,它在工作进程中途对正在做的事做出反应,而不是对请求做一次判断。
另外,Astra 和 Fable 5.1 的代码质量也让我们可以更少地使用代码审查子 agent,而评测分数没有下降。我们从未在任何模型上见过这个水平的工程质量。
四、较新的模型会自己委派
前沿模型如 Astra 和 Fable 每 token 更贵,这让它们看上去不如小模型经济。我们观察到它们会自然地委派给更便宜的子 agent,把自身的 token 留给出那些真正需要它们做的决策。
Replit Agent 从不强制核心循环派生子 agent。 一张表显示了三个模型在生产中如何处理这个决定:
Fable 5 Fable 5.1 GPT-6 Astra
派发子 agent 的轮次 32% 21% 36%
把活交给通用 worker 的轮次 0.9% 2.3% 20%
回到已有子 agent 的派发占比 17% 29% 42%
(三个模型都在 medium reasoning effort 下)
三个模型都会委派,但各有各的方式。 在中等 effort 下,Fable 系很少把活交给通用 worker:它们派出只读的 explorer 和 reviewer,把实现留给自己。
Astra 是我们见过的第一个会例行地把活交给通用 worker、而不需要被吩咐的模型,而且一旦它交代过一个 worker,它倾向于回到那个 worker 而不是重新开始。这个回访率随着每一代模型都在上升。
一个真实的生产回合(2026 年 9 月 17 日,取自 trace):核心循环派了一个 explorer、两个 worker、一个 tester;它的五次 worker 派发里,有三次是回到已经交代过的 worker。
五、结果
我们在 Max 模式(我们质量最高的设置,核心循环用 Astra)下,在两个软件工程基准上评估 Replit Agent。
每次运行是四次重复的均值。
DeepSWE v1.1(113 道题,长期改动活跃的开源仓库)
Replit Agent 72% @ $2.11/任务
Astra low 67% @ $1.60
Astra xhigh 74% @ $4.43
Sidekick 架构 61% @ $1.34
Terminal-Bench 4.0(63 道题,扣除三个 GPU 任务)
Replit Agent 49% @ $2.53/任务
Astra low 42% @ $2.25
Astra xhigh 60% @ $5.86
Sidekick 架构 33% @ $1.84
几个读法:
① Replit Agent 在两个基准上都打败 sidekick 架构,分别高出 11 和 16 个点。 sidekick 花钱更少,但为此放弃六分之一到三分之一的分数。
② Astra 单独跑只有花更多钱时才能拿到更高分:它最好的设置在 Replit Agent 之上 2 和 11 个点,但成本超过两倍。
③ 两个基线都无法同时在成本和分数上取胜——用他们的话说,Replit Agent 对单独跑的 Astra 是帕累托有效的。
④ 我们完全按它交付给用户的样子跑 Replit Agent,没有改动任何提示词或 harness。
六、他们自己给出的理论框架
我们把这些结果读作 Sutton「苦涩的教训」的一个实例。把人类知识烘焙进 agent 在短期内有用,长期会进入平台期,最终被那些能随计算规模扩展的通用方法超越。
僵硬的 harness 迫使模型按一种方式工作;可组合的 harness 让它自己选。模型越聪明,harness 就应该替它做越少的决定。
相比一个更规定性的架构,这个做法给他们买了三件事:
① 它押注在模型的扩展律上。 依赖模型品味的委派,会随每一次发布而改善。
② 它适配任务。 模型对小任务什么都不派生,对一次搜索派一个 explorer,对一次断成独立几块的构建派一个团队。
③ 它复用而不持久化。 一个子 agent 保留它的上下文,以防模型还想用它;除非模型用了,否则什么都不持久化。
最后那句总结:
用 Sutton 的话说,harness 应该让模型去发现该怎么执行工作,而不是规定我们会怎么做。解放模型。
七、我的判断
这是「harness 该做多厚」这个争论里目前最硬的一篇实证。
① 那个论断本身值得单独记
「router 永远比它正在为其选择模型的那个模型更弱。」
这句话把整个 router 范式逼到了墙角。 如果 router 更弱,那它凭什么替更强的模型做决定?
而 Replit 的答案是:不改进 router,而是拿掉它。 让模型自己说「这个我派给谁、用多大 effort」。
② 生产数据比基准更有说服力
那张委派表是全文最有意思的东西:
Fable 5 Fable 5.1 Astra
交给通用 worker 的比例 0.9% 2.3% 20%
回到已有子 agent 的比例 17% 29% 42%
这两个数字的上升趋势说明:委派能力本身在随模型世代进化。 而 Astra 是第一个「不用被吩咐就会把实现交给别人」的模型——这是涌现出来的,不是被设计出来的。
这也正是「harness 该做少」论点的经验基础:如果模型自己学会了委派,harness 就别抢着替它做。
③ 「回访率」这个指标很少有人测
42% 的派发是回到已经交代过的子 agent。 这个数字背后的设计选择是:没有一个为整个会话保活的 sidekick,而是任意数量的子 agent 保持温热,由模型决定唤醒谁。
我怀疑很多人在搭多 agent 系统时默认了「一个主 agent + 一个长期 worker」的形态,而这里的数据说那是更差的那一档(sidekick 在两个基准上都输 11~16 个点)。
④ 「不用改提示词」这个声明很重要
「我们完全按它交付给用户的样子跑,没有改动任何提示词或 harness。」 ——这句话把这篇从「又一个自家基准」拉到了「生产数据」的量级。
诚实的边界:
· 这是 Replit 自家产品、自家基准运行,Astra 的数字来自公开榜单(mini-swe-agent 基线),两个来源的 harness 不同
· Astra 在 xhigh 下 DeepSWE 拿到 74%(高于 Replit Agent 的 72%),只是贵一倍多——所以「Replit 更好」准确的说是「在同等成本下更好」
· 四个模型里只有一个(Astra)表现出强委派倾向,样本只有三个模型
· 代号(Astra / Fable 5.1)是他们的叫法
一句话:如果你在搭 agent harness 并且正在写 router,这篇值得先读——它在论证你那一层可能根本不该存在。
链接
原文:https://replit.com/blog/free-the-models
Sutton《The Bitter Lesson》:http://www.incompleteideas.net/IncIdeas/BitterLesson.html
#Agent工程 #Harness #多agent



