Unreal Agent
TL;DR Highlight
An async tool-call harness cut agent costs up to 40% versus Codex with similar pass rates
Who Should Read
A backend developer worried about token costs and tool-call waiting in coding agents
Core Mechanics
- Tool calls run fully asynchronously
- The model no longer manages waits, polls, or heartbeats for tools.
- Users can steer the agent anytime without waiting for tool calls to finish.
- An in-progress record is logged right away
- On a tool call, an in-progress record is appended to the event log while the tool keeps running in the background.
- When the tool finishes, the result is appended to the session log and the LLM is called.
- Savings come from a light harness and tuned tool output
- It uses simple prompts, token-optimized tool results, and no sub-agents or workflows.
- It packs more heavy tool calls per model turn without spending tokens on polling.
- Up to 40% cheaper than Codex, 20% than Pi
- Compared with Codex and Pi using GPT-6 Astra xhigh.
- The authors attribute small pass-rate differences to benchmark variance.
- Terminal-Bench 4.0: same pass rate, lower cost
Community Reactions
- Codex wastes tokens on polling, one commenter says
- A commenter says Codex hot-loops on polling tasks it started, a big source of token use.
- They patched their Codex fork and saw savings of similar scale to Unreal's.
- Doubts about the headline chart and the savings
- A commenter noted Unreal ran on Astra xhigh while Codex seemed to run on Astra max.
- Another asked how async tool calls translate into token savings.
- Async already exists, some argue
- A commenter said Crush and Claude Code have async tools, but agents often call wait() with a long timeout and slow down.
- Another noted nohup, parallel tool calls, and sub-agents already work and questioned real speed gains versus appearance.
- PTC comparison and naming concerns
- One commenter said this resembles programmatic tool calling, which is not good across all tasks.
- Several comments worried about trademark trouble with Unreal Engine.
How to Apply
- Measure polling waste in your agent logs
- Count sleep, wait, and status-check tool calls in one session log today.
- Compute their share of input tokens to judge the value of going async.
- Turn long tools into in-progress records
- Make tools that take minutes, such as builds or env setup, return an in-progress result immediately.
- Append the final result to the session log and call the LLM at that point.
- Test the two-result format per provider
- Try the pattern of an in-progress and a final result in one context on each model and provider you use.
- The source reports rejections on some providers, so verify before shipping.
- Move approvals outside the harness
- Consider replacing hook-based approvals with allowed hosts, granular access tokens, and approval-gate proxies.
- Pick one constraint you can enforce in the sandbox and apply it first.
Try It
# Paste into Claude Code or ChatGPT (simplified version of the article's method: diagnose polling waste in agent logs)
Below is a session log from my coding agent. Analyze turns and tokens wasted waiting on tool calls.
{{agent session log}}
Summarize in a table:
1. Count of polling, wait, sleep, and status-check tool calls and their share of all turns
2. Estimated input tokens for those turns (use only values present in the log)
3. Turns that could be saved by returning an in-progress record immediately for long tools and attaching the result on completion
Next step: rerun the same task with an async-style prompt and compare turns and input tokens.Terminology
Related Papers
Mercury 3: Diffusion at scale
Scaling diffusion LLM 40x gives Mercury 3: 4–8x faster than speed-tier models, similar quality
Timestral: Mistral's time-series foundation models
A 209M time-series model ranks first on three benchmarks and runs on CPU.
DeepSeek V4.1 Flash 1017 (Max)
DeepSeek V4.1 Flash 1017 Max scores 45 on the Intelligence Index at 211 tok/s and $0.30 input.
If you don't run your own LLM proxy, how do you know whats going on?
Running your own LLM proxy shows which keys, models, and cache misses drive your usage.
DeepSeek: DeepSeek v4.1 Flash 1017
DeepSeek V4.1 Flash 1017: $0.05/M input, 1M context, built for agents
DeepSeek-v4.1-Flash-1017
DeepSeek V4.1 Flash minor update lifts coding and agent benchmarks while cutting run time and output length
Show HN: Llmspeed – feel how fast a local LLM runs before you buy the hardware