Unreal Agent:通过异步框架优化智能体工具调用成本与效率

如果您对智能体的前沿成本效益感兴趣,我们期待与您合作!联系方式: contact@unreallabs.ai。
在实际部署智能体时,我们希望它们能快速响应用户并保持低成本运行。我们注意到,智能体往往花费大量时间和 token 来管理工具调用,因此我们开发了 Unreal Agent,通过其运行框架降低模型在工具管理上的开销。
Unreal Agent 的框架以完全异步的方式管理工具调用,使底层模型无需管理工具的等待、轮询和心跳。
这种方式带来两大主要优势。首先,它始终允许用户在工具调用完成前引导智能体,无需等待。其次,它使智能体能在模型调用之间调度更多有价值的工具任务,从而提升前沿成本效益。在真实工作负载和智能体基准测试中,当前版本相比 Codex 最高可节省 40% 的成本,相比 Pi 最高可节省 20%,相关数据将在此分享。
我们认为,运行框架的设计本身就是一个研究领域,仍有许多充满前景的构想有待研究和实现。1
#动机与架构
如果您试图构建以智能体为核心的产品,会很快发现实施路径并没有标准答案。各大厂商提供的智能体开发 SDK 各不相同,其利弊往往并不显而易见。
在 Unreal Labs,我们已构建多个智能体产品,并借此对主流 SDK 形成了一些认知。
例如,面向 CLI 的 SDK(如 Claude 的 Agent SDK)默认基于本地会话、子进程和资源限制,这些假设难以直接应用于生产环境。若要可靠地处理完成、取消和后台任务,通常需要在这些 SDK 外围自行构建生命周期管理机制。
支持其他 provider 意味着额外的兼容性工作:切换 API 模式可能弄坏工具或压缩功能,SDK 升级可能改变消息格式、逼着重写集成代码。庞大的依赖树还会给运行时增加维护成本和供应链风险,而这个运行时我们本来就得自己理解、自己打补丁。
根据我们的经验,依赖 harness 钩子和专用工具的安全与审批机制,往往维护成本更高、也更脆弱;相比之下,在 harness 之外用确定性的环境或沙箱约束——允许/禁止的主机、细粒度 access token、带审批网关的代理——更可靠。
除了这些技术考量,我们还希望打造一个能随时无延迟接收用户引导消息的 harness,并且能并行处理异构的工具调用,不给模型增加额外认知负担。比如,agent 可以先启动一个可能耗时数分钟的开发环境搭建,同时浏览代码库、搜索网页,全程不产生额外的 token 开销。
每次 Unreal Agent 发起工具调用时,我们会立即在事件日志里追加一条记录,把该工具标记为"in-progress"状态,并让它在后台继续执行。等工具真正完成后,再把结果写入会话日志并调用 LLM。要在不破坏缓存的前提下实现这一点,本身就是个有意思的工程挑战。2
观看动画演示。#成本效率
表面上,Unreal Agent 用更少的模型轮次和更少的输入 token 就能达成同样的结果。
我们把成本节省归因于两点:
-
harness 占用极小,工具输出的使用经过精细打磨。Unreal Agent 的 prompt 简洁、工具结果经过 token 优化,也没有 sub-agent 或 workflow。3
-
每轮模型能完成更多工具工作。Unreal Agent 有一套简单直接的异步工具调用模型,并能向 LLM 清晰解释。这让它每轮都能发起更多重量级工具调用,而不必把 token 浪费在轮询或等待上。
#基准测试
我们打造 Unreal Agent,旨在实现真实的生产级工作流,它在基准测试中的表现也相当亮眼。我们使用 GPT-6 Astra xhigh 进行了测试,并将其与 Codex 和 Pi 进行了对比。以下是部分测试结果。
各工具的通过率存在细微差异,我们认为这主要源于基准测试本身的波动。
#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% | 1428 | 1.73M | 32k | 28 | 37 | 27133053 |
| Codex (leaderboard) | 57.9% | 2350 | — | — | — | — | — |
| Pi | 55.0% | 1827 | 2.83M | 35k | 44 | 57 | 6ccd097a |
#SWE-Atlas Codebase QnA
| Agent | Rate | Total $ | In/trial | Out/trial | Turns | Tools | Harbor |
|---|---|---|---|---|---|---|---|
| unreal-agent | 65.8% | 936 | 898k | 15k | 16 | 27 | 3d2fa057 |
| Codex | 63.3% | 1303 | 1.69M | 17k | 22 | 21 | 11a440fb |
| Pi | 64.0% | 1033 | 1.29M | 16k | 24 | 60 | da4ac972 |
#DeepSWE 1.1
| Agent | Rate | Total $ | In/trial | Out/trial | Turns | Tools | Harbor |
|---|---|---|---|---|---|---|---|
| unreal-agent | 72.4% | 1367 | 1.60M | 28k | 26 | 38 | 2311ca63 |
| Codex | 69.0% | 1633 | 2.19M | 30k | 30 | 29 | e20ecafd |
| Pi | 69.6% | 1584 | 2.21M | 30k | 40 | 75 | cd7d8de6 |
#Agents’ Last Exam · ALE-CLI
完整通过率和平均分如下所示。这些运行未在 Harbor 上进行。
| Agent | 完整通过 | 平均分 | 总成本 $ | 任务内 | 任务外 | 轮数 | 工具 |
|---|---|---|---|---|---|---|---|
| unreal-agent | 30.0% | 59.7 | 217 | 0.76M | 18k | 18 | 23 |
| Codex | 29.0% | 58.1 | 292 | 1.59M | 15k | — | 21 |
| Pi | 29.0% | 59.2 | 262 | 1.19M | 19k | 27 | 37 |
我们主要运行编码基准测试,因为它们已在 Harbor 上提供,这有助于简化复现和验证过程。但该测试框架本身与领域无关。
#快速上手 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. ↩
[2] 在同一上下文中同时使用两条工具调用结果(一条进行中、一条最终结果),Responses API 文档对此并没有明确定义。测试过程中,我们发现某些模型在某些推理服务商(非 OpenAI)那里会被拒绝请求,而且 function_call_output 的 status 字段在这些情况下似乎不起任何作用。
我们的测试表明,只要会话格式被接受,模型是能够理解从"进行中更新"到"最终结果"这一演变过程的。我们认为 Responses API 应当明确支持这种模式,并且各推理服务商也应保持一致的支持。 ↩
[3] Diogo. “(KV) Cache Rules Everything Around Me.” Complete Skeptic,2026 年 9 月 9 日。 ↩