Replit 详解 Replit Agent 的模型自主委派 harness 设计与基准结果
Free the models: Harness design at the frontier
Replit 撰文阐述其 harness 设计理念:由主 agent(core loop)自行决定子智能体的档位与 effort,而非用路由器选模型。
Replit 官方复盘 Agent harness 设计,给出生产数据与双基准对比,可迁移到自己的多智能体架构取舍。
模型路由器如今无处不在,但它们有一个根本性的局限。无论它是基于高级启发式规则,还是基于一个读取每一轮对话并选择使用哪个 LLM 的小模型,路由器的能力始终不如它所选择的那个模型。Replit Agent 则让模型自己来做决定。
主智能体,也就是核心循环,会选择其子智能体的层级和投入程度,并随着任务的推进调整自身的层级和投入。有了这种自由,GPT-6 Astra 会把常规实现交给成本更低的子智能体,并自行决定把 token 花在哪里才值得。在 DeepSWE 和 Terminal-Bench 上,Replit Agent 相对于单独运行的 Astra 都达到了帕累托最优:没有任何已发布的 Astra 基线能以更低的成本获得更高的分数。它还比副手架构——即同样配置但只有一个长期存活的 worker——分别高出 11 分和 16 分。
为什么我们减少脚手架
每一次模型发布都会让固化在 harness 中的假设失效。
随着模型在长时程任务上变得更强,它们不再需要 harness 层那么多的脚手架。在实践中,我们观察到它们会自行倾向于委派:使用子智能体来进行上下文管理和并行化。近期的突破,包括 Navier–Stokes 问题在内,部分就来自于协调由前沿模型驱动的智能体集群 [1]。
但前沿是参差不齐的。最强的编码模型未必是设计 UI 或制作幻灯片最强的,也未必是最擅长写邮件的。编码智能体用一种压缩的、术语密集的语体写作,被戏称为“Claudish”;每个前沿模型的文风都足够独特,仅凭文本就能辨认出来 [7]。 因此我们设计 harness 时,让每个模型按自己的方式工作,同时保留它仍然需要的护栏,并以最低成本达到质量为目标。
每一个新模型都会让我们回头重新测试那些我们曾坚信不疑的东西,并快速实验那些建立在涌现行为之上的技术。那么,解放模型,就意味着让它决定思考多努力、何时把工作交出去,以及交给谁。
用于委派的可组合原语
当我们开始用 GPT-6 Astra [2] 做实验时,我们发现这个模型很擅长委派。GPT-6 系列也是 OpenAI 首个支持在回合中途改变投入程度而不破坏缓存的系列。
为了利用这些能力,我们改进了四个 harness 原语。它们让核心循环在每一步都有一小组选择:派发什么类型的子智能体、以什么规模和投入程度、是否回到已经交代过任务的某个子智能体,以及思考多努力:
- 领域感知子智能体。除了通用 worker 之外,harness 还提供专家:只读探索者、浏览器测试者、审查者,以及用于幻灯片和 UI 的设计子智能体,截至 2026 年 9 月,Replit Design 在 Design Arena 的 Builders 排行榜上位居第一 [8]。 每个都有自己的模型和工具。目前,harness 仍然决定存在哪些专家;核心循环决定何时以及如何使用它们。
- 子智能体层级和投入程度。小、标准、大,每一级在成本和能力上都更进一步,并且每一级内还有投入程度。两者都适用于每个子智能体,核心循环在每次派发时选择它们。例如,机械式重命名交给低投入程度的小型子智能体,而为顽固的 bug 生成假设则交给高投入程度的大型子智能体。
- 可复用的子代理。核心循环可以返回到已经交代过任务的子代理,而不必从头开始。并非只有一个固定助手在整个会话中保持存活:任意数量的子代理可以跨类型和层级保持热状态,由核心循环决定唤醒哪些。OpenAI 较新模型上更长的缓存生命周期降低了这样做的成本。
- 动态努力调节。既然在某些模型上,回合中途改变努力程度能保留缓存在 GPT-6 系列 [2]、Fable 5.1 [3] 以及这些提供商此后发布的模型上,努力程度变化会保留缓存。在其他模型上,改变努力程度和切换模型都会重建缓存。,我们训练了一个升级系统,在每一步检查轨迹,并将努力程度与任务难度相匹配。与路由器不同,它是在回合中途针对进行中的工作采取行动,而不是对请求只判断一次。
Astra 和 Fable 5.1 [3] 的代码质量也让我们减少了代码审查子代理的使用,而评估分数没有下降。我们此前从未见过任何模型达到这样的工程水准。
较新的模型会自行委派任务
像 Astra 和 Fable 这样的前沿模型每 token 成本更高,这让它们在更小的模型旁边显得不经济。我们观察到它们会自然地委派给成本更低的子代理,把自己的 token 留给需要它们做的决策。
Replit Agent 从不强制核心循环生成子代理。表 1Replit Agent 生产环境,每个模型一周:Fable 5 在 2026 年 8 月,Fable 5.1 和 Astra 在 9 月。展示了三个模型在生产环境中如何处理这一决策:
| Fable 5 | Fable 5.1 | GPT-6 Astra | |
|---|---|---|---|
| 派发子代理的回合 | 32% | 21% | 36% |
| 将工作交给通用工作者的回合 | 0.9% | 2.3% | 20% |
| 返回到已有子代理的派发 | 17% | 29% | 42% |
三个模型都会委派,但方式各不相同。在中等努力程度下,Fable 模型很少将工作交给通用工作者:它们派出只读的探索者和审查者,把实现留给自己。Astra 是我们见到的第一个会例行委派给通用工作者而无需指示的模型,而且一旦它交代过某个工作者,它往往会回到那个工作者,而不是从头开始。这一返回率随着每一代模型而上升。
结果
我们在 Max 模式下评估了 Replit Agent,这是我们以 Astra 作为核心循环的最高质量设置,评估使用两个软件工程基准:DeepSWE 和 Terminal-Bench。我们的运行结果是四次重复的均值;须线为 95% 区间,均值 ± 1.96 SE,与 DeepSWE 排行榜 [4] 一致。Astra 的数据是已发布的 mini-swe-agent 基线 [4] [9],并在排行榜报告区间的地方给出区间。我们与两个基线进行比较:Astra 单独在 mini-swe-agent 中运行,如各排行榜所发布;以及一种助手架构,即相同配置只做一处改动:将其子代理原语替换为单个长期存活的工作者。每张图都绘制分数与每任务成本的关系,因此最高效的配置位于左上方。
在 DeepSWE v1.1 [4] 上,该基准测试对活跃开源仓库进行长周期变更,Replit Agent 得分为 72%,每任务成本 $2.11。Astra 在 mini-swe-agent 中以低努力得分为 67%,成本 $1.60,在 xhigh 努力下得分为 74%,成本 $4.43;sidekick 架构得分为 61%,成本 $1.34。Terminal-Bench 4.0 [5] 测试完全在 shell 中完成的多步骤工作。我们的运行中排除了三个 GPU 任务。 Replit Agent 达到 49%,每任务成本 $2.53,而 Astra 在低努力下为 42%,成本 $2.25,在 xhigh 下为 60%,成本 $5.86。sidekick 架构为 33%,成本 $1.84。
Replit Agent 在两个基准测试上都击败了 sidekick 架构,分别高出 11 分和 16 分。sidekick 成本更低,但为此放弃了六分之一到三分之一的分数。Astra 单独得分更高,只是因为它花费更多:其最佳设置比 Replit Agent 高出 2 分和 11 分,但成本超过两倍。两个基线都无法在成本和分数上同时获胜。我们完全按照 Replit Agent 交付给用户的方式运行它,没有对提示或 harness 做任何更改。
harness 设计的苦涩教训
我们将这些结果视为 Sutton 苦涩教训 [6] 的一个实例。将人类知识嵌入 agent 在短期内有所帮助,但长期会趋于平稳,最终会被随计算规模扩展的通用方法超越。僵化的 harness 迫使模型采用一种工作方式;可组合的 harness 则让它自行选择。模型越聪明,harness 就越不应该替它们做决定。
与更具规定性的架构相比,这种方法为我们带来了三点好处:
- 它押注于模型缩放定律。 依赖模型品味的委派会随着每次发布而改进。下一代模型的早期预览延续了这一趋势。
- 它契合任务。 对于小任务,模型不会生成任何东西;对于搜索,生成一个探索者;当构建分解为独立部分时,生成一个团队。
- 它复用而不持久化。 子 agent 会保留其上下文,以防模型想要取回,除非它这样做,否则不会持久化任何内容。
用 Sutton 的话说,harness 应该让模型发现如何执行工作,而不是规定我们会如何做。解放模型。
致谢
由 Daniel Furman、Jacky Zhao、Vaibhav Kumar、Ed Sioufi 和 Michele Catasta 撰写。感谢 James Austin、Toby Ho、Preeya Kirani、Zhen Li、Robin Newhouse、Devanshu Sen Pandey、Ibrahim Sheikh、Samuel Spitz、Peter Zhong 以及 Replit AI 团队的其他成员对这项工作的贡献。如果你想在 Replit Agent 上工作,我们的团队正在招聘;请联系 [email protected]。
参考文献
来源:Replit:Blog · replit.com