Replit Agent 放弃传统模型路由器,改由主 Agent 自主决定子 Agent 层级和任务分配,GPT-6 Astra 在 DeepSWE 和 Terminal-Bench 上均达帕累托最优,超越固定架构 11-16 分。
Model Router 如今无处不在,但存在一个根本局限。无论基于高级启发式规则还是小模型来读取每轮对话并选择使用哪个 LLM,Router 的能力永远比不上它正在为之选择的模型。Replit Agent 则让模型自己来做决定。
主 Agent,即核心循环,负责选择子 Agent 的层级和投入力度,并根据任务进展自行调整。得益于这种自主权,GPT-6 Astra 将日常实现工作交给成本更低的子 Agent,自己决定在哪里值得花 token。在 DeepSWE 和 Terminal-Bench 上,Replit Agent 相比单独的 Astra 达到了帕累托最优:没有已发布的 Astra 基线能在更低成本下取得更高分数。它还比 Sidekick 架构(同配置但用一个常驻 Worker)分别高出 11 分和 16 分。
每一次模型发布都会使框架层中固化的假设失效。
随着模型在长时程任务上越来越强,它们在框架层需要的脚手架也越来越少。在实践中,我们观察到模型本身就更倾向于委托:使用子 Agent 进行上下文管理和并行处理。近期的突破——Navier–Stokes 问题便是其中之一——部分来自于协调由前沿模型驱动的 Agent 集群 [1]。
但前沿是参差不齐的。最强的编程模型不一定最强于设计 UI 或制作幻灯片,也不一定最强于写邮件。编程 Agent 用一种被称为 "Claudish" 的压缩、术语密集的语体写作;每个前沿模型的文风独特到仅凭文本就能辨认 [7]。因此我们设计框架时,让每个模型按自己的方式工作,保留它仍需要的护栏,以最低成本达到质量目标。
每一个新模型都促使我们重新检验我们坚信不疑的东西,并快速尝试基于涌现行为的新技术。解放模型,意味着让它决定思考多深、何时移交工作、以及交给谁。
框架提供选项并保持护栏;每一步都由核心循环决定。
Effort 逐步设置,在最新模型上还支持中途变更而不产生缓存未命中。
Hand-off 换取上下文管理和并行性;小任务根本不会派生任何子 Agent。
前沿参差不齐,因此每个专业子 Agent 运行在最适合其工作的模型上。
图 1:解放模型:核心循环在每一步做出的三个决策。
框架提供选项并保持护栏;每一步都由核心循环决定。
Effort 逐步设置,在最新模型上还支持中途变更而不产生缓存未命中。
Hand-off 换取上下文管理和并行性;小任务根本不会派生任何子 Agent。
前沿参差不齐,因此每个专业子 Agent 运行在最适合其工作的模型上。
当我们开始用 GPT-6 Astra [2] 做实验时,发现这个模型很擅长委托。GPT-6 系列也是 OpenAI 首个支持中途变更 Effort 而不破坏缓存的模型。
为使用这些能力,我们完善了四个框架原语。它们为核心循环在每一步提供有限的选择:派遣哪种子 Agent、用多大规格和投入程度、是否返回已brief过的子 Agent、以及思考多努力:
Domain-aware subagents. 除了通用 Worker,框架还提供专家型子 Agent:只读浏览器探索者、浏览器测试员、Reviewer,以及负责幻灯片和 UI 的 Design 子 Agent,截至 2026 年 9 月,Replit Design 在 Design Arena 的 Builders 排行榜上名列第一 [8],每个子 Agent 都有各自的模型和工具链。目前框架仍然决定存在哪些专家子 Agent;核心循环决定何时以及如何使用它们。
Subagent tiers and effort. 小、标准、大三档,每档在成本和能力上逐级提升,同一档内还有不同的 Effort 级别。两者适用于每个子 Agent,核心循环在每次派遣时选择。例如,机械性的重命名发给小档低级 Effort,而为一个棘手 Bug 生成假设则发给大档高级 Effort。
Reusable subagents. 核心循环可以返回已 brief 过的子 Agent 而不是重新开始。没有一个贯穿会话始终存活的单一 Sidekick:任意数量的子 Agent 可以跨类型和层级保持温热,核心循环选择唤醒哪一个。OpenAI 更新模型的更长缓存生命周期降低了这样做的成本。
Dynamic effort tuning. 既然在部分模型上中途变更 Effort 能保留缓存 [2] [3],我们训练了一个升级系统,在每一步检查轨迹并将 Effort 与任务难度匹配。与 Router 不同,它在工作进行中中途对正在处理的任务采取行动,而不是对请求只做一次判断。
Astra 和 Fable 5.1 [3] 的代码质量也让我们可以更少使用代码 Review 子 Agent,而评估分数没有下降。我们从未在任何之前的模型上见过这种工程质量水平。
Astra 和 Fable 等前沿模型每个 token 成本更高,这让它们看起来比小模型不划算。但我们观察到它们会自然地委托给成本更低的子 Agent,把自己的 token 留给真正需要的决策。
Replit Agent 从不强制核心循环派生子 Agent。表 1 显示三个模型在生产环境中如何处理这一决策:
| Fable 5 | Fable 5.1 | GPT-6 Astra | |
|---|---|---|---|
| 派遣子 Agent 的轮次 | 32% | 21% | 36% |
| 将工作交给通用 Worker 的轮次 | 0.9% | 2.3% | 20% |
| 返回已有子 Agent 的派遣 | 17% | 29% | 42% |
表 1:Replit Agent 生产环境中的委托行为,每个模型均为中等推理 Effort。
三个模型都会委托,但方式各异。在中等 Effort 下,Fable 模型很少将工作交给通用 Worker:它们派出只读探索者和 Reviewer,把实现工作留给自己。Astra 是我们见过的首个无需指示就常规委托给通用 Worker 的模型,而且一旦 brief 过一个通用 Worker,它倾向于返回而不是重新开始。这种返回率随每一代模型都在上升。
When I add a service from a vendor's page, it never brings me back to the vendor. Can we fix this? AgentExplorerWorker AWorker BTester
图 2:2026 年 9 月 17 日的生产轮次,来自 trace。核心循环派遣了一个探索者、两个 Worker 和一个测试员;在它的五次 Worker 派遣中,三次是返回已 brief 过的 Worker。
我们在 Max 模式下评估 Replit Agent(我们的最高质量设置,以 Astra 为核心循环),在两个软件工程基准测试上:DeepSWE 和 Terminal-Bench [4] [5]。我们的运行是四次重复的平均值;须状线是 95% 置信区间,均值 ± 1.96 SE,与 DeepSWE 排行榜一致。Astra 的数据是已发布的 mini-swe-agent 基线 [4] [9],排行榜报告了置信区间的地方也一并提供。我们与两个基线比较:单独使用 Astra 的 mini-swe-agent(在各排行榜上已发布),以及 Sidekick 架构——相同配置但有一处改动:将其子 Agent 原语替换为单一常驻 Worker。每张图的纵轴是分数,横轴是每个任务的成本,因此最有效的配置位于左上区域。
在 DeepSWE v1.1 [4](测试对活跃开源仓库的长时程变更)上,Replit Agent 得分 72%,每个任务成本 $2.11。Astra 在 mini-swe-agent 中低 Effort 得分 67%,成本 $1.60;高级 Effort 得分 74%,成本 $4.43;Sidekick 架构得分 61%,成本 $1.34。Terminal-Bench 4.0 [5] 测试完全在 Shell 中完成的多步工作。三个 GPU 任务从我们的运行中排除。Replit Agent 达到 49%,每个任务成本 $2.53;Astra 低 Effort 为 42%,成本 $2.25;高级 Effort 为 60%,成本 $5.86。Sidekick 架构只有 33%,成本 $1.84。
DeepSWE: score against cost per task
Mean of 4 repetitions over 113 tasks. GPT-6 Astra alone in mini-swe-agent, public v1.1 leaderboard.
DeepSWE: score against cost per task
Mean of 4 repetitions over 113 tasks. GPT-6 Astra alone in mini-swe-agent, public v1.1 leaderboard.
Terminal-Bench 4.0: score against cost per task
Mean of 4 repetitions over 63 tasks, GPU tasks excluded. GPT-6 Astra alone in mini-swe-agent, Artificial Analysis leaderboard.
Terminal-Bench 4.0: score against cost per task
Mean of 4 repetitions over 63 tasks, GPU tasks excluded. GPT-6 Astra alone in mini-swe-agent, Artificial Analysis leaderboard.
Replit Agent 在两个基准测试上都击败了 Sidekick 架构,分别高出 11 分和 16 分。Sidekick 成本更低,但为此牺牲了六分之一到三分之一的分数。单独的 Astra 只有在花费更多时才能取得更高分数:其最佳设置比 Replit Agent 分别高出 2 分和 11 分,但成本是两倍多。两个基线都无法在成本和分数上同时获胜。我们完全按照交付给用户的原样运行 Replit Agent,未对提示词或框架做任何修改。
我们把这些结果解读为 Sutton 苦涩教训 [6] 的一个实例。将人类知识嵌入 Agent 短期内有帮助,长期会陷入平台期,最终会被随计算量扩展的通用方法超越。僵硬的框架将模型限制为一种工作方式;可组合的框架让它自己选择。模型越聪明,框架替它们做决定的就应该越少。
与更规定的架构相比,这种方法为我们带来了三样东西:
它押注于模型 scaling 法则。 依赖模型判断力的委托会随着每次发布而提升。下一代模型的早期预览延续了这一趋势。
它适配任务。 模型对小任务不派生任何子 Agent,对搜索只派生一个探索者,当构建分解为独立部分时才会派生一个团队。
它复用但不持久化。 子 Agent 保留其上下文以防模型需要找回它,没有任何东西会被持久化除非模型确实需要。
用 Sutton 的话说,框架应该让模型发现如何执行工作,而不是规定我们原本会怎么做。Free the models.
Written by Daniel Furman, Jacky Zhao, Vaibhav Kumar, Ed Sioufi, and Michele Catasta. Thanks to James Austin, Toby Ho, Preeya Kirani, Zhen Li, Robin Newhouse, Devanshu Sen Pandey, Ibrahim Sheikh, Samuel Spitz, Peter Zhong, and the rest of the AI team at Replit for their contributions to this work. If you want to work on Replit Agent, our team is hiring; reach out to [email protected].
[1] Navier–Stokes Millennium Prize Problem / GPT-6 Astra / Fable 5.1 / Mythos 5.1 / Idiosyncrasies in LLMs / Terminal-Bench 4.0
[2] Coding agents write in a compressed, jargon-heavy register nicknamed "Claudish"; each frontier model's prose is distinct enough to identify from text alone [7].
[3] As of September 2026, Replit Design leads the Builders leaderboard on Design Arena [8].
[4] Effort changes preserve cache on the GPT-6 family [2], Fable 5.1 [3], and these providers' models released since. Elsewhere, effort changes and model switches rebuild the cache.
[5] Replit Agent production, one week per model: Fable 5 in August 2026, Fable 5.1 and Astra in September.
[6] Our runs are means of four repetitions; whiskers are 95% intervals, mean ± 1.96 SE, as on the DeepSWE leaderboard [4]. Astra's figures are the published mini-swe-agent baselines [4] [9], with intervals where the leaderboard reports them.
[7] Three GPU tasks are excluded from our runs.