AI DAILY / 2026-09-23
Unreal Agent:用异步工具调度把开销砍下40%
Unreal Agent
全文中文翻译 · AI 生成,仅供学习交流
#Unreal Agent在真实环境中部署智能体(agent)时,我们希望它们能快速响应用户,并且运行成本低廉。我们注意到,智能体在管理工具调用上耗费了大量的时间和令牌(token),这促使我们构建了 Unreal Agent,并设计了一套能减少模型在工具管理上的开销的 harness(执行框架)。
Unreal Agent 的 harness 以完全异步的方式管理工具调用,让底层模型无需处理工具的等待、轮询(poll)和心跳(heartbeat)。
这种方式带来了两大主要好处。首先,它始终允许用户随时引导(steer)智能体,而无需等待工具调用完成。其次,它使智能体能够在两次模型调用之间安排更多有用的工具调用工作,从而达到业界领先的成本效率。当前版本在真实业务负载和智能体基准测试中,相比 Codex 最多可节省 40% 的成本,相比 Pi 最多可节省 20%,我们在此分享相关数据。
我们认为 harness 设计本身就是一个独立的研究方向,仍有许多有前景的想法值得研究和实现。
#动机与架构如果你尝试构建一个以智能体为核心的产品,很快就会发现并不存在一条标准化的实现路径。各大厂商提供不同的 SDK 来构建智能体,每套都有不同的权衡取舍,而这些取舍往往并不一目了然。
在 Unreal Labs,我们构建过多款智能体产品,并在此过程中对主流 SDK 积累了一些经验。
例如,以 CLI 为导向的 SDK(如 Claude 的 Agent SDK)带有对本地会话、子进程和资源限制的预设假设,这些假设无法顺畅地迁移到生产环境中。可靠地处理完成、取消和后台任务,往往意味着需要在它们之外自行构建一套生命周期管理逻辑。
接入其他模型提供方会带来额外的兼容性工作:切换 API 模式可能会破坏工具调用或上下文压缩,而 SDK 升级可能改变消息格式,迫使我们重写集成代码。庞大的依赖树为这个本就需要我们自己理解和打补丁的运行时,又增加了维护成本和供应链风险。
根据我们的经验,那些依赖 harness 钩子和专用工具来实现的审批与安全机制,往往需要更多维护工作,并且不如直接在 harness 之外施加的确定性环境或沙箱约束(例如允许/禁止的主机列表、细粒度的访问令牌、带审批关卡的代理)稳健。
除了这些技术层面的动机,我们还希望构建一个能够始终无延迟地接收用户引导消息、并且能并行调度异构工具调用,而不会给模型增加额外认知负担的 harness。例如,我们希望智能体能在并行探索代码库和搜索网页的同时,发起一个可能耗时数分钟的本地开发环境搭建任务,全程不产生额外的令牌开销。
每当 Unreal Agent 发出一个工具调用,我们会立即向事件日志(event log)追加一条该工具已返回「进行中(in-progress)」状态的记录,同时让工具在后台继续执行。一旦工具真正完成,我们再把结果追加到会话日志中,然后调用一次大语言模型(LLM)。在不破坏缓存(cache)的前提下实现这一点,本身就是一个有趣的工程挑战。
观看下面的动画。

#成本效率表面上看,Unreal Agent 用更少的模型调用轮次和更少的输入令牌达成了同样的结果。
我们把成本节省归因于两个因素:极简的 harness 占用(footprint)以及对工具输出使用的精心设计。Unreal Agent 拥有简洁的提示词、经过令牌优化的工具结果,并且没有任何子智能体(sub-agent)或工作流(workflow)。
每轮模型调用承载更多工具工作量。Unreal Agent 拥有一套简单明了的异步工具调用模型,并清楚地向 LLM 解释清楚。这使它能在每轮模型调用中发出更多重量级工具调用,而不会在轮询或等待上浪费令牌。
#基准测试我们构建 Unreal Agent 是为了支撑真实的业务工作流,不过它在基准测试中的表现也同样亮眼。我们使用 GPT-6 Astra xhigh 对其进行了测试,并与 Codex 和 Pi 进行了对比。以下是部分结果。
在通过率上存在边际差异,我们将其归因于基准测试的方差(variance)。
#Terminal-Bench 4.0 GPT-6 Astra · xhigh。Codex (lb) 是排行榜基线;Unreal Agent 和 Pi 的运行记录见下方链接。
| Agent | Rate | Total $ | In/trial | Out/trial | Turns | Tools | Harbor |
|---|---|---|---|---|---|---|---|
| unreal-agent | 57.9% | 1.73M | | 32k | | | 6ccd097a |
| Codex (leaderboard) | 57.9% | — | — | — | — | — | — |
| Pi | 55.0% | 2.83M | | 35k | | | |
#SWE-Atlas Codebase QnA| Agent | Rate | Total $ | In/trial | Out/trial | Turns | Tools | Harbor |
|---|---|---|---|---|---|---|---|
| unreal-agent | 65.8% | 898k | | 15k | | | 3d2fa057 |
| Codex | 63.3% | 1.69M | | 17k | | | 11a440fb |
| Pi | 64.0% | 1.29M | | 16k | | | da4ac972 |
#DeepSWE 1.1| Agent | Rate | Total $ | In/trial | Out/trial | Turns | Tools | Harbor |
|---|---|---|---|---|---|---|---|
| unreal-agent | 72.4% | 1.60M | | 28k | | | 2311ca63 |
| Codex | 69.0% | 2.19M | | 30k | | | e20ecafd |
| Pi | 69.6% | 2.21M | | 30k | | | cd7d8de6 |
#Agents' Last Exam · ALE-CLI完整通过率和平均分如下。这些运行未在 Harbor 上进行。
| Agent | Full pass | Mean score | Total $ | In/task | Out/task | Turns | Tools |
|---|---|---|---|---|---|---|---|
| unreal-agent | 30.0% | 59.7 | 0.76M | | 18k | | |
| Codex | 29.0% | 58.1 | 1.59M | | 15k | — | |
| Pi | 29.0% | 59.2 | 1.19M | | 19k | | |我们主要运行编程类基准测试,因为它们可以在 Harbor 上获取,这使得复现和验证更为容易,但这个 harness 本身是与领域无关的。
#开始使用 Unreal Agent Unreal Agent SDK 目前提供:
- 可直接集成到代码库中的 Go 库
- 类似于 claude -p / codex exec 的 Runner 可执行文件
- 兼容 Harbor 的基准测试运行器如果你想亲自尝试,请查看我们的 GitHub 仓库。
#参考资料[1] Melissa Z. Pan, Shuo Yang, Negar Arabzadeh, Wei-Lin Chiang, Ion Stoica, and Matei Zaharia. "HarnessTax: How Much Does Harness Matter for Coding Agents?" 2026.
(译注:这是一篇关于 harness 对编程智能体影响程度的研究论文标题,HarnessTax 直译为「harness 税」,意指 harness 设计带来的额外开销。)
[2] 在 Responses API 的文档中,在同一个上下文里使用两条工具调用结果条目(一条进行中、一条最终结果)的做法属于「未明确规定」。在测试期间,我们在某些模型和某些推理服务提供商(非 OpenAI)上遇到过被拒绝的情况,而且在这些情况下 function_call_output 的 status 字段似乎没有产生影响。
我们的测试表明,只要对话格式被接受,模型是能够理解从「运行中更新」到「最终结果」这一进展过程的。我们认为 Responses API 应当明确支持这种模式,并在各推理服务提供商之间保持一致的支持。