YouMind
登录

解放模型:前沿领域的 Harness 设计

@pirroh
英语2026年9月29日
237K
511
79
21
1.2K

TL;DR

Replit 认为,与允许前沿模型动态选择 subagents 和 effort levels 相比,僵化的 model routers 限制了性能表现。其全新的 harness 设计通过利用模型自主性,在编码基准测试中实现了 Pareto 效率。

模型路由器(Model Router)如今随处可见,但它们存在一个根本性的局限。无论是基于高级启发式规则,还是靠一个小模型逐轮读取并挑选要使用的 LLM,路由器的能力永远比不上它所要挑选的那个模型。Replit Agent 则反其道而行,把决定权交还给模型本身。

主 Agent(即核心循环)会自主选择子 Agent 的层级与推理强度(effort),并随着任务推进动态调整自身的配置。有了这份自由度,GPT-6 Astra 会把常规实现工作交给成本更低的子 Agent,自行判断哪些地方才值得消耗自己的 token。在 DeepSWE 和 Terminal-Bench 两项基准上,Replit Agent 相比单独使用 Astra 达到了帕累托最优:在所有已公开的 Astra 基线中,没有哪一个能做到成本更低且得分更高。它还以 11 分和 16 分的优势,击败了“副手”(sidekick)架构——也就是同一套配置,但只用一个长生命周期 worker 的版本。

Michele Catasta - inline image

包含动画与脚注的完整文章,请查看 https://replit.com/blog/free-the-models

为什么我们减少了脚手架

每一次模型发布,都会让固化在 harness(执行框架)里的假设失效。

随着模型在长周期任务上越来越强,它们在 harness 层所需的脚手架也越来越少。在实践中,我们观察到它们更倾向于自主委派任务:用子 Agent 来管理上下文、实现并行。最近的几项突破(包括 Navier–Stokes 问题)在一定程度上就得益于协调由前沿模型驱动的 Agent 集群 [[1]](https://openai.com/index/navier-stokes-solution/)。

但前沿能力并不均衡。最强的代码模型未必最擅长设计 UI 或制作 Slides,也未必最会写邮件。

因此,我们在设计 harness 时,让每个模型都能按自己的方式工作,只保留必要的护栏,并以最低成本达成目标质量。

每推出一个新模型,我们都要重新检验那些曾经深信不疑的做法,并快速尝试基于涌现行为的新技术。所谓“解放模型”,就是让它自己决定思考多深、何时交出任务、交给谁。

Michele Catasta - inline image

图 1:核心循环在每一步做出的三个决策。

用于委派的组合式原语

当我们开始试验 GPT-6 Astra [[2]](https://openai.com/index/gpt-6-astra) 时,发现它的任务委派能力非常出色。GPT-6 系列也是 OpenAI 首个支持在单轮对话中途切换推理强度而不破坏缓存的模型。

为了用好这些能力,我们打磨了四个 harness 原语。它们让核心循环在每一步只有少量选择:派出哪种子 Agent、用什么规模和推理强度、是否回到已经交代过任务的子 Agent,以及自己要思考多深:

  • 领域感知型子 Agent。 除了通用 worker,harness 还提供专家角色:只读探索者(explorer)、浏览器测试员、评审员,以及负责 Slides 和 UI 的设计子 Agent,各自配备专属模型与工具。目前,有哪些专家仍由 harness 决定;而何时、如何使用它们,则由核心循环决定。
  • 子 Agent 层级与推理强度。 分为 small、standard、large 三档,成本与能力逐级提升,每档内部还可设置推理强度。这两项适用于所有子 Agent,由核心循环在每次派发时选定。例如,机械式的重命名会派给 low effort 的 small,而为顽固 bug 生成假设则会交给 high effort 的 large。
  • 可复用的子 Agent。 核心循环可以回到已经交代过任务的子 Agent,而不是从头开始。整个会话期间并不会一直养着某个固定的“副手”:任意数量的子 Agent 都可以跨类型、跨层级保持待命,由核心循环决定唤醒谁。OpenAI 新模型更长的缓存生命周期,也让这种做法的成本得以压低。
  • 动态推理强度调节。 既然部分模型支持中途切换推理强度且不丢缓存,我们就训练了一套升级系统,在每一步检查执行轨迹,让推理强度匹配任务难度。与路由器不同,它是在单轮对话中途对进行中的工作做出反应,而不是只在请求到达时判断一次。

Astra 和 Fable 5.1 [[3]](https://www.anthropic.com/claude-fable-and-mythos-5-1) 的代码质量也让我们可以少用代码评审子 Agent,而评测分数丝毫不降。这种工程水准,我们此前从未在任何模型上见过。

新模型会自主委派任务

像 Astra 和 Fable 这样的前沿模型,单 token 成本更高,与小模型相比显得不够划算。但我们观察到,它们会自然地把任务委派给成本更低的子 Agent,把自己的 token 留给真正需要它们的决策环节。

Replit Agent 从不强迫核心循环生成子 Agent。表 1 展示了三个模型在生产环境中如何处理这一决策:

Michele Catasta - inline image

表 1:Replit Agent 生产环境中的委派情况,各模型均设为 medium 推理强度。

三个模型都会委派任务,但方式各不相同。在 medium 推理强度下,Fable 系列很少把工作交给通用 worker:它们会派出只读探索者和评审员,把实现工作留给自己。Astra 是我们见过的第一个会在无人指示的情况下,习惯性把任务委派给通用 worker 的模型;而且一旦交代过任务,它往往倾向于回头找同一个 worker,而不是另起炉灶。这个“回头率”随着每一代模型的迭代都在上升。

Michele Catasta - inline image

图 2:根据 trace 绘制的 2026 年 9 月 17 日的一次生产对话轮次。核心循环派出了一个探索者、两个 worker 和一个测试员;在五次 worker 派发中,有三次是回到已经交代过任务的 worker。

结果

我们在 Max 模式(以 Astra 作为核心循环的最高质量配置)下,用 DeepSWE 和 Terminal-Bench 两项软件工程基准对 Replit Agent 进行了评测。对比对象有两个基线:一是 mini-swe-agent 中单独使用的 Astra(采用各榜单公布的配置),二是“副手”架构——配置完全相同,只是把子 Agent 原语替换成了一个长生命周期的 worker。每张图表都以得分为纵轴、单任务成本为横轴,因此最高效的配置会落在左上角。

在 DeepSWE v1.1 [[4]](https://deepswe.datacurve.ai/)(测试对活跃开源仓库的长周期修改)上,Replit Agent 得分 72%,单任务成本 $2.11。mini-swe-agent 中的 Astra 在 low effort 下得分 67%、成本 $1.60,在 xhigh effort 下得分 74%、成本 $4.43;“副手”架构得分 61%、成本 $1.34。Terminal-Bench 4.0 [[5]](https://www.tbench.ai/) 测试完全在 shell 中完成的多步骤任务。Replit Agent 达到 49%,单任务成本 $2.53;相比之下,Astra 在 low effort 下为 42%、$2.25,在 xhigh 下为 60%、$5.86。“副手”架构为 33%、$1.84。

Michele Catasta - inline image

Replit Agent 在两项基准上都击败了“副手”架构,分别高出 11 分和 16 分。“副手”架构成本更低,但代价是丢掉六分之一到三分之一的分数。单独使用 Astra 只有在花更多钱时才能拿到更高分:它的最佳配置比 Replit Agent 高出 2 分和 11 分,但成本是其两倍多。没有任何一个基线能同时赢在成本和得分上。我们运行 Replit Agent 的方式与交付给用户时完全一致,没有改动任何 prompt 或 harness。

Harness 设计的“苦涩教训”

我们将这些结果视为 Sutton “苦涩教训”的一个实例 [[6]](http://www.incompleteideas.net/IncIdeas/BitterLesson.html)。把人类知识硬塞进 Agent,短期有效,长期会遇到天花板,最终会被随算力扩展的通用方法超越。僵化的 harness 会迫使模型按一种固定方式工作;可组合的 harness 则让模型自己选。模型越聪明,harness 就越不该替它做决定。

与规定性更强的架构相比,这种方式为我们带来了三点好处:

  • 押注模型缩放定律。 依赖模型自身“品味”的委派能力,会随着每次发布不断提升。下一代模型的早期预览版延续了这一趋势。
  • 贴合任务。 小任务不生成任何子 Agent,搜索任务派一个探索者,当构建可以拆成独立部分时就组建一支团队。
  • 复用但不持久化。 子 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 从事 AI 相关工作,我的团队正在招人;欢迎联系 pirroh@repl.it。

参考文献

  1. 关于 Navier–Stokes 千禧年大奖难题
  2. GPT-6 Astra 介绍
  3. Claude Fable 5.1 与 Claude Mythos 5.1 介绍
  4. DeepSWE v1.1
  5. Terminal-Bench 4.0
  6. 苦涩教训
  7. 大型语言模型中的特异性
  8. Design Arena
  9. Terminal-Bench 4.0 结果,Artificial Analysis
一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章