Development & Automation

Same Model, Up to 40% Lower Cost: The Unreal Agent Async Harness.

Unreal Agent runs tools asynchronously in the background to cut agent waiting and polling. See how it works, the benchmark results, and how to install the Go runner.

· Huuush

Same Model, Up to 40% Lower Cost: The Unreal Agent Async Harness

Key takeaways

  1. 1Unreal Agent is a Go harness that runs tool calls in the background to reduce model waiting and polling.
  2. 2Unreal Labs reported up to 40% lower cost than Codex and up to 20% lower than Pi on GPT-6 Astra xhigh benchmarks.
  3. 3You can use it as a Go runner, a CLI executable, or a Harbor benchmark runner.
Unreal Agent async harness running tool jobs in parallel
Unreal Agent keeps working on other tool jobs while an install runs. Source: Unreal Labs

Summary in 3 lines

  • Unreal Agent is an open-source agent harness built so the model does not sit and poll while a tool runs.
  • Tools run in the background, and in the meantime the model can work on other tasks or take extra instructions from the user.
  • Unreal Labs reported up to 40% lower cost than Codex and up to 20% lower than Pi on GPT-6 Astra xhigh benchmarks.

To cut agent costs, people usually look for a cheaper model. Unreal Labs says it kept the same model and changed the harness, the runtime scaffold, to get costs up to 40% lower than Codex and up to 20% lower than Pi, another open-source harness. The harness is the runtime that connects the model, tools, conversation history, and user messages.

Loading X post.

Unable to load the X post. Please try again.

Unreal Labs put it as "up to 40% cost savings compared to Codex ... without any negative performance impact." Source: X @unreallabsai

Existing agents wait until the tool finishes

When an agent runs a command that takes minutes, like setting up a dev environment, the model may wait or repeatedly ask whether it is done. During that time it is hard to have it explore code or search the web in parallel, and waiting and polling still cost model turns and tokens. Unreal Labs started from the problem of wanting to do other work in parallel while an install runs.

How tool calls are handled asynchronously

  1. The model requests a tool call.
  2. The harness immediately records that call as "in progress" in the session event log.
  3. The tool runs in the background, outside the model call, and other tools can run alongside it.
  4. When the job finishes, the harness attaches the final result to the log and calls the model again.
Comparison of Unreal Agent running other tools in parallel during an install and a harness that waits
While an install runs, Unreal Agent keeps working on other tool jobs, while other harnesses wait. Source: Unreal Labs blog

The implementation challenge was keeping both the in-progress result and the final result in one conversation while preserving the model input cache. A footnote in the official post explains that this message format was not clearly specified in the Responses API docs, and some other inference providers rejected it. Where the format was accepted, the model understood the flow of an in-progress status completing later.

Watch the async runtime animation

Users can step in, and the model does more

Even while tools run in the background, the user can send the agent new instructions. Because the runtime handles waiting and status checks, the model can line up more code exploration or other tool work between calls.

Unreal Labs cites two sources of cost savings. The harness uses simple prompts and token-saving tool results, and it keeps its own overhead low by having no subagents or separate workflows. On top of that, async tool execution lets it handle more work between model turns, reducing the turns and input tokens spent on waiting and polling.

Cost differences reported in benchmarks

Unreal Labs evaluated four coding benchmarks with GPT-6 Astra xhigh. The costs below are the total cost in each table, and the original figures are carried over along with pass rates.

BenchmarkUnreal AgentCodexPiInput tokens · turns (Unreal / Pi)
Terminal-Bench 4.057.9% · $1,42857.9% · $2,35055.0% · $1,8271.73M / 2.83M · 28 / 44
SWE-Atlas Codebase QnA65.8% · $93663.3% · $1,30364.0% · $1,033898k / 1.29M · 16 / 24
DeepSWE 1.172.4% · $1,36769.0% · $1,63369.6% · $1,5841.60M / 2.21M · 26 / 40
Agents’ Last Exam · ALE-CLI30.0% full pass · $21729.0% · $29229.0% · $2620.76M / 1.19M · 18 / 27

The official X comparison image shows savings versus Codex of 39% on Terminal-Bench, 28% on SWE-Atlas, 26% on Agents’ Last Exam, and 16% on DeepSWE. The Codex figure for Terminal-Bench is the leaderboard baseline, not a fresh run under the same conditions. Unreal Labs attributes small differences in pass rates to benchmark variance, and it published the run logs on Harbor so others can rerun them.

Loading X post.

Unable to load the X post. Please try again.

Source: X @unreallabsai

Run it with the Go runner

Unreal Agent comes in three forms: a Go library, a runner executable you run in one line like claude -p or codex exec, and a Harbor-compatible benchmark runner. The runner requires Go 1.27 or later and uses OpenAI as the default provider.

go install github.com/unreallabsai/unreal-agent/cmd/unreal-agent-runner@latest
export OPENAI_API_KEY="..."
unreal-agent-runner -p 'Inspect this project and explain how to run its tests.'

You can set the working directory and save the run log to a JSONL file.

unreal-agent-runner -workspace ./my-project -p 'Summarize this project.' > run.jsonl

Choose openai, openai-codex, openrouter, fireworks, or ollama with UNREAL_HARNESS_LLM_PROVIDER, and set the model with UNREAL_HARNESS_LLM_MODEL. The Harbor benchmark runner needs Python 3.12 or later, uv, and Docker or Modal. The repo's Harbor guide builds and runs it like this:

make -C benchmarks/harbor sync
make -C benchmarks/harbor build REVISION=HEAD
export OPENAI_API_KEY=...
uv run --project benchmarks/harbor --locked harbor run \
  -p /absolute/path/to/task \
  -a harness_harbor.agent:UnrealAgent \
  -m openai/gpt-5.4 \
  --ak bundle="$PWD/bin/harbor/<short-commit>" \
  --ak thinking_level=high

Why build it instead of using an existing agent SDK

Unreal Labs explains that CLI-centered SDKs assume local sessions and child processes, so in a product environment it had to handle the lifecycle of task completion, cancellation, and background execution separately. It also cited the burden of keeping message formats and tool compatibility intact when you switch providers or the SDK updates. On security and approvals, the design relies on execution-environment limits such as allowed hosts, fine-grained tokens, and an approval proxy rather than harness hooks.

Agent cost also depends on the runtime structure

The perspective Unreal Agent offers is that a model price list alone makes agent cost hard to judge. Even with the same model, cutting waiting and polling and placing tool work well can reduce token spend. Unreal Labs treats harness design as its own research area and points to HarnessTax: How Much Does Harness Matter for Coding Agents? as a related reference.

Sources and further reading

Frequently asked questions

What is Unreal Agent?
It is an open-source Go agent harness that runs tool calls asynchronously and manages conversation history and results.
What is a harness?
It is the runtime scaffold that connects the model to tools, keeps conversation state, and handles user instructions.
Which comparison produced the 40% savings?
It comes from comparing Unreal Agent's total cost of $1,428 on Terminal-Bench 4.0 with the Codex leaderboard baseline of $2,350.
What environment and providers do I need?
The runner needs Go 1.27 or later. You can pick OpenAI, OpenAI Codex, OpenRouter, Fireworks, or Ollama as the provider.
Is it free to use?
The repo is MIT-licensed. See the LICENSE in the GitHub repo for detailed use and distribution terms.

Related articles