Rendered at 10:06:50 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
dvt 14 hours ago [-]
I think this space is very untapped. Models are interesting, but I am absolutely obsessed with some things I've been researching/working on for the past few years:
Fractal tool discovery: tool taxonomy where an agent can "drill deeper" to find what specific tool it's looking for. Helps if/when polluting context with a zillion (mostly unnecessary) tools.
Leveraging splay trees: this is my favorite data structure and I think relatively unused in the context of agents/harnesses. A lot of times, recently-used workflows/tool-chains will be used again, so having those at the top of the search hierarchy is an awesome optimization.
Virtual containerized notebooks: models working in sandboxed (WASI) Python notebooks is incredible. Even local models (if given enough time) will usually converge on a good solution. Being able to mount tools/resources/fs is again, imo quite untapped. Some problems here are running native things (thing numpy/pandas) in containers is a nightmare (or impossible).
Anyway, happy to see other folks seriously doing stuff in this space. If anyone wants to collaborate on anything don't hesitate to reach out :) I'm also actively looking for a job or some contract gigs.
Fun times ahead.
ravenstine 11 hours ago [-]
> Helps if/when polluting context with a zillion (mostly unnecessary) tools.
Ugh, I can't help but respond to this one point. The fact that this is even an issue in the current year just tells us how screwed the software field is in a lot of ways. I don't mean that in existential terms, but of how divided we've become in terms of what's happened to human reasoning. On the one hand, you have people who apply deep thinking to develop the sort of approaches you described, and there's the exponentially growing segment of not-even-programmers who seem to never ask themselves whether any of their ideas have any sort of consequences.
Take MCPs for instance. Sure, I guess it can sometimes make sense to have a stateful API that is optimized for agents. Yet, more often than not, these MCPs frontload a ton of context where it's not needed, and solve problems where none existed. Merely sticking an API (MCP) in front of an API (CLI, REST, GraphQL) without a benefit that can be explained in a single sentence is lunacy and demonstrates a real lack of complex thinking.
sublinear 6 hours ago [-]
> tells us how screwed the software field is in a lot of ways
But, you just very clearly described why human software engineers are in higher demand than ever before.
It's always been "screwed" in the sense that everyone else sucks at wielding the power.
What we're actually witnessing is a watershed moment where a lot of technologically illiterate people are getting left behind. Those of us on the literate side are left to fight amongst ourselves and the powers that be for control over the future. We have actually been doing an alright job all things considered (else this conversation wouldn't be happening). Politicians are aging out and we're the adults in the room now.
rozal 7 hours ago [-]
MCP’s make sense because, people want to click the + icon on chatgpt or claude to connect their data. nobody cares if you can do it manually
kaurimu 8 hours ago [-]
Isn't that what codemode is for?
mcp with 2 tools: execute(code) and search(query)
all other tools, mcps, apis, whatever are encapsulated by the one interface. new tools don't bloat the agent's context, and it can write its own code to perform more advanced and batch operations against the available tools (executed within a sandbox).
opencode v2 also provides its own native implementation
never_giveup 11 hours ago [-]
Have you had workflows/benchmarks to test this on? I'm primarily interested if there are real use cases that would benefit.
spdustin 12 hours ago [-]
I've also explored s/Fractal tool discovery/Skill tree approaches, seems to work pretty well when you stick the equivalent of XREFs in the frontmatter.
tracerbulletx 14 hours ago [-]
What makes it fractal?
dvt 14 hours ago [-]
It's kind of self-expanding/looping; fractal is just a cute name I like, but it's technically a directed cyclic graph (since you always have/want cycles).
mejutoco 13 hours ago [-]
I think recursive fits better, but I get it.
joshribakoff 12 hours ago [-]
It’s more so the divide and conquer. Recursion vs iterative is tangential.
aeon_ai 11 hours ago [-]
I've always referred to it in UX terms. "Progressive Disclosure" -- It pulls more context as needed.
In this way, I tend to think of the context environment on an agent is the "agent nav" -- it presents context, allows progressive disclosure, and if poorly designed, makes the agent flounder as a poorly designed UI/UX does.
mrlowlevel 11 hours ago [-]
i have found agents to be excellent at using CLIs, which are fractal-like. i built this reddit ads api cli and my agent immediately starting introspecting it in a "drill deeper" manner:
Fractal tool discovery is a fascinating idea! Have you worked on implimenting this into any agent harnesses already to any success? My first impression is allowing the agent to fork itself, not unlike launching a subagent, then returning it's response back to the main agent.
securetron 7 hours ago [-]
bonus if it spits out Double Kill, Mega Kill, GodLike! when saving tokens
tekacs 15 hours ago [-]
The headline graph is kind of bizarre.
For some reason they're comparing their harness running on Astra xhigh to Codex with Astra max?
---
Also worth noting that OpenAI just added support for async tool calling to their harness, which isn't 1:1 with this approach, but is slowly ramping up in being able to provide something similar.
It results in token savings similar in scale to those displayed here by Unreal.
---
My harness has used a slightly fancier version of the approach that Unreal is using since ~Feb, and... it definitely works excellently, but it's also assuredly smoother with Astra and other recent models that are more aware of async tool calling.
NostraDavid 14 hours ago [-]
To reduce the codex polling I slapped this into my ~/.codex/config.toml:
Seems to do the job and reduce usage; I just ran Astra for ~5 hours (using a goal) and it used the last 30% of my usage. And now they released GPT-6 Sol and Luna (which is basically 5.6 Sol and Luna, but a bit better and also 50% cheaper) ;_;
AmazingTurtle 13 hours ago [-]
Perfect, I will incorporate this as default as well as the commit from the other guy into my own codex fork https://github.com/AmazingTurtle/codex btw. I'm rebasing on 0.156.0 right now
discobot2 12 hours ago [-]
the headline chart was lazy on our part, thanks for the flag and I’ll update it.
each individual benchmark that is combined into agentic coding index was compared on xhigh between ua / codex / pi, and headline improvement was calculated on xhigh, but then agentic coding index pareto chart by default includex codex max, hense the confusion.
tapoxi 15 hours ago [-]
Sounds like a trademark issue when Epic ships a wildly popular Unreal Engine
bryant 13 hours ago [-]
I had to scroll to the bottom to realize that this had absolutely nothing to do with Unreal Engine or Epic. There's no reason to think that Epic wouldn't have an "Unreal Labs" creating harnesses to help them with software engineering.
This plainly seems like a trademark issue in progress considering it's in the same exact domain and considering how many others were confused the way I probably was.
esher 2 hours ago [-]
I liked the 3D effects on the homepage of unreal labs https://unreallabs.ai/ - so I was sure it's related to 3D engine makers, and of course great idea to have an agent for that too.
nosyke 13 hours ago [-]
yep, can confirm i was confused too
tantalor 11 hours ago [-]
lol it took me to read this comment to find out this has nothing to do with Unreal.
People, I'm begging you, please talk to a lawyer before launching.
orliesaurus 15 hours ago [-]
But I don't think you can trademark a generic word like Unreal...
>Computer software, namely, game engine software for video game development and operation; Computer software, namely, software development tools for the creation of computer-generated imagery and graphics for the production of video games; Computer software, namely, software development tools for the creation of computer-generated imagery and graphics for the production of content for virtual worlds and 3D platforms; Computer software, namely, software development tools for the creation of computer-generated imagery and graphics for the production of motion pictures, television shows, videos, 3D animations, 3D simulations, 3D visualizations, virtual reality motion pictures, virtual reality television shows; Computer software, namely, software development tools for the creation of computer-generated imagery and graphics for the production of virtual reality video games; Virtual reality game software; Virtual reality software for creating multimedia content; Augmented reality game software; Augmented reality software for use in mobile devices for integrating electronic data with real world environments for the purposes of entertainment
willy_k 14 hours ago [-]
Those do all seem directly tied to what Unreal Engine does i.e. graphics
llm_nerd 14 hours ago [-]
Unreal is trademarked. This is not in question. And personally I 100% thought this was an agent specifically for dealing with the Unreal Engine, and was interpreting all of that information in that context. Very weird name for a company/product.
seanalltogether 14 hours ago [-]
Same, I thought this was going to be a plugin for creating content in Unreal engine.
NolF 11 hours ago [-]
Same. Specially given how some harnesses connect with blender for 3D asset generation and creating real 3D worlds like those architecture examples but many of the 1-shot game examples too.
Applejinx 10 hours ago [-]
Likewise. This seems to be the norm for AI people: act as if.
>"But I don't think you can trademark a generic word like Unreal..."
Sure you can, trademarks are contextual. If they were a landscaping business it wouldn't matter. But within the same industry absolutely.
orliesaurus 12 hours ago [-]
I guess? but we are talking Game engine vs AI harness...
heimidal 11 hours ago [-]
The USPTO really isn't interested in those sorts of semantics. This would be a slam dunk for Epic.
pixl97 12 hours ago [-]
It doesn't matter if they can or can't, it only matters if you can afford the lawsuit.
ricardobeat 2 hours ago [-]
Crush [1] has had async tools for a long time, as has Claude Code.
They work well, except that the agent will often simply call wait() immediately after, and also do it with a longer timeout, causing crashes/hangs to really slow down the process; whereas immediate tool calls have a built-in 30s timeout in most harnesses.
I imagine this one will suffer from similar problems.
pyrolistical 8 hours ago [-]
Funny, I solved this problem by having Claude write a pi extension
Now my pi agent setups its own trigger to notify itself when a background process is done
solarkraft 5 hours ago [-]
Right! It’s not really rocket science. I’ve been thinking of building a general “wait” command that just blocks until some event occurs. Still more “active” waiting, but as far as I understand the efficiency problem comes from polling.
westoque 10 hours ago [-]
not a fan of README's where there's no clear way to run the program, like a getting started or how to build. i think this is the opposite of a docu-monster where AI documents everything, but clearly more documentation is better than lack of.
solarkraft 2 hours ago [-]
It’s a library and there are usage examples.
> but clearly more documentation is better than lack of
I tend to disagree. This makes it very high signal. So far my agent has been successful at navigating the repo.
hi_hi 5 hours ago [-]
I came to say the same thing. Zero info about how I would use this once it’s cloned.
ozozozd 8 hours ago [-]
I suppose GPT models throw shade when your input is less favorable to Codex:
“On the surface, Unreal Agent achieves the same outcomes with fewer model turns and fewer input tokens.”
Would be interesting to compare to a harness optimizing for cost reduction too.
solarkraft 6 hours ago [-]
The techniques appear to be orthogonal, so you might be able to combine them
nojs 8 hours ago [-]
For everyone self-hosting models, optimising for cost is an anti-feature. It makes the results worse for no benefit (except a little speed).
What I'd love to see is a harness that deeply optimises for the best results obtainable out of non-frontier models. Many of these have 1M context windows, and most of it remains unused and under utilised in these harnesses, in my opinion.
jakkos 3 hours ago [-]
Speed is actually the thing stopping me using local models more. Qwen 3.8 27b is surprisingly capable, but spends a lot of time/tokens brute forcing problems until it gets it right. The longer task times mean that to fully utilize my attention I need more tasks running concurrently, and the increased context switching just feels bad and leads to me making worse decisions.
solarkraft 2 hours ago [-]
Totally agree, Qwen 3.8 is a pain to wait for. Glimmer much less so!
OK, but isn't this just programmatic tool calling, which is beneficial in some cases but not others?
This is available in DSH via PTC mode.
Basically, instead of the completion API returning a sequence of tool calls, it returns a program that invokes the tools.
I think most are returning Typescript program
With ordinary tool calling, you may have to wait for a tool to return its result to the completion API before the model can continue and issue the next tool call.
With PTC, the generated program can invoke independent tools asynchronously, collect their results, and dispatch the relevant results back to the completion API in a single turn.
Claude and Codex added this as well, but there are some papers on this that show it's not good across all tasks, and models need to be trained for this specific technique, which is what AI labs are doing now.
discobot2 8 hours ago [-]
its not really, model expresses tool calls as a list of bash tools
faangguyindia 7 hours ago [-]
DSH also does this, but Bash calls are part of the TypeScript program as response in PTC mode.
I don't really understand how async tool calls translate to token savings
It says that it removes tokens wasted while a model is waiting on synchronous tool calls. What tokens exactly is Pi using when waiting?
swiftcoder 3 hours ago [-]
I assume the bigger problem is the cache expiring while you wait for the tool call to complete. A bunch of hosted providers only keep the cache alive for ~5 minutes - if you sit there waiting for a 5 minute tool call, you get to pay to reload the entire context into cache
dumberquestions 15 hours ago [-]
I think a running agent periodically checks if a process it started has finished.
zergrush 7 hours ago [-]
that shouldn't be what eats up tokens tho
gpt 6 sol already made a lot of progress with caches
i have a feeling unreal agent might have decided to release now rather than getting sherlocked
i just think its very risky right now to spend too much time building harnesses or anything on top of codex or claude simply because frontier labs will just absorb whatever works
14 hours ago [-]
332451b 13 hours ago [-]
"More tool work per model turn" could reduce the number of cache reads (or even cache misses) and associated cost?
joshstrange 13 hours ago [-]
If the frontier labs (well, I guess just Anthropic) would go full OAuth support even on a subscription we would see, an even bigger, explosion in harness improvements. I maintain that there is a ton of low-hanging fruit and new ideas/concepts that should be tried but the costs are holding people back (using API pricing only).
It's both expensive to test alternative harnesses and it's expensive to develop them (if using API pricing).
bryant 10 hours ago [-]
So I commented on this in passing in a deeper thread (in re: the potential trademark issue - https://news.ycombinator.com/item?id=49807884), but I think this is serious enough for its own top-level thread.
How likely is it that they get sued into the ground in a year? They might have a strong suite of offerings even as soon as six months from now, but if the essence of a company's brand seems at jeopardy from the start, can I take the risk as a potential customer that they'd survive that kind of action?
cbg0 2 hours ago [-]
I think highly unlikely, they'll get slapped with a cease & desist and just change the name.
solarkraft 15 hours ago [-]
I think this is what I’ve been waiting for! Live interactions with models are fundamentally asynchronous! This will be great for interactivity.
What a good time for harness design. Just while OpenCode is growing up a bit and focusing on their harness. I’m delighted to see people focusing on good general solid harness design principles.
Someone make an OpenCode API (the best general agent end UI API I know) compatible server for it!
Sucks that I haven’t upgraded my client to V2 yet and I don’t really want to build on an outdated API ...
Edit: It would be cool to get streaming responses :) But I understand (and actually applaud) that the authors seem to have been very focused on the core mechanics.
Also note that this works with the responses API!
staticvar 9 hours ago [-]
I was really hoping that Epic had released a harness that plays games.
Streamski 3 hours ago [-]
Seeing this isnt Unreal Engine related, I do wonder if anyone is building tools for unreal engine.
ironqcold 10 hours ago [-]
The critique of CLI-oriented SDKs is fair. I'd want to see how it behaves on long-horizon tasks where the "no sub-agents" constraint starts to bite
vblanco 13 hours ago [-]
In my projects i use unreal and me and my team have tested out multiple things. We have settled on no MCP complications whatsoever other than simply exposing the python scripting from the editor + a export step that can write the blueprints and asset data into plaintext so that the bot can grep them. This has given by far the strongest results, and we now have no issues having the agents edit game code and do operations.
We found this massively outperforms any kind of agent like this and the official unreal MCP systems. Its similar to the Blender MCP which also just exposes scripting + very minimal api to claude code/others.
gillesjacobs 13 hours ago [-]
OP is a coding agent and harness tool named Unreal, not the game engine by Epic.
vblanco 13 hours ago [-]
Completely misread the github and understood this as a agent inside unreal as a plugin...
aslkalska 14 hours ago [-]
that's like the worst name you could have picked
fidotron 10 hours ago [-]
Your Gimp Agent is ready.
rafaelmn 15 hours ago [-]
Honestly the fact that we're still modeling agent harnesses like chat and strapping them into shell sessions instead of building async actor systems with sandboxed OS functionality access actors is bananas to me. So much easy wins can be had just by building on right abstractions... Hopefully will get enough time to play with this idea soon on my own.
dirtbag__dad 14 hours ago [-]
Do you have any examples of this approach?
dpc_01234 4 hours ago [-]
https://tau-agent.dev/ in my setup. Many sessions each multiagent, in different sandboxes, sending messages. Also nothing in the main article that Tau wouldn't have. I just don't have stamina for more "marketing". Async tools ... sooo basic. :D
rafaelmn 14 hours ago [-]
I'm actually taking the time to hash out the details to do this as a side experiment project, but basically what I read this project as showing is that if you leverage asynchrony you can let agents be more efficient - and you get this "for free" if you model your "agents" as actors that interact with the system through message passing. Then all the system operations become messages to different actors, need to read a file => message the fs actor => get reply from FS actor as a message when it's done. You'd probably need some out of mailbox ways to share blob resources and sockets for realtime (audio), but for the most part simple message passing should handle most of what LLM agents do.
Actors can have identities and roles for RBAC, etc. you - cross agent communication is the same as sending any other message to a actors.
Not to mention that actors can be on your device, another device, etc. whatever the router can resolve - it's transparent to the agents.
ibash 6 hours ago [-]
I think you nailed it. I have my own agent harness that's designed with inspiration from erlang/elixir. It seems to be a natural fit for indeterministic output and failures.
solarkraft 12 hours ago [-]
I’d think the approach in this repo gets close to that, no? I also think LLM harnesses should just support typical async i/o.
Let a model get notifications when something it has accessed/ subscribed to changes, a tool produces output or it gets some other kind of message (for example by another AI or flesh agent). Wait until the next turn or wake it up. It can still decide to do nothing and wait.
hombre_fatal 8 hours ago [-]
You lambasted the interface (linear messages, chat) but then never pitched us your vision of a successor.
Your technical ideas are just implementation details behind the interface. What's your idea for a better UX?
rafaelmn 4 hours ago [-]
That's the reason I'm excited about the orchestrator because it would let me build my ideal UX on top.
If you move away from the idea that agents are chat streams and treat them as processes/actors then you can start letting agents represent themselves/build their own interfaces.
And if you build enough introspection into the protocol because everything is message based you can have other agents build interfaces for them.
So like either standard GUI, or a voice assistant talking to you and delegating to agents, etc.
It's not an idea it's a way of thinking about agent systems - basically an agent OS.
orliesaurus 15 hours ago [-]
Why don't you explain what's different?
mrtesthah 5 hours ago [-]
Is there a TUI or GUI I can use this with? Or is unreal-agent-runner intended to be called from an existing app? How does that work?
kushbhuwalka 11 hours ago [-]
how does this compare to eve? does async mean serverless?
solarkraft 2 hours ago [-]
Async, as I understand it, means that the agent never has to actively wait for things to complete, so it can do work while it waits and can receives the result at some later point which it can then react to. I don’t know whether Eve has that feature, it would be cool. Should not meaningfully influence its ability to be deployed serverlessly.
vb-8448 13 hours ago [-]
Does it support subscriptions ? If not it's a no go for me.
solarkraft 12 hours ago [-]
This is a fairly low level library focusing on the core harness mechanics.
oathvz 8 hours ago [-]
aka., we want your usage data please use us blah blah blah
underlipton 14 hours ago [-]
This feels like it's begging for a lawsuit from Epic.
redog 14 hours ago [-]
Epic harness -- unreal agent!
lelandbatey 10 hours ago [-]
The basic asynchronous approach is potentially interesting, but:
1. Agents usually depend on output of the commands they're running in order to make decisions about what to do next, so how do they behave while they're "waiting around" for the output they need?
2. Agents can _already_ run software async, via multiple mechanisms: raw CLI tools like "nohup", literally running tools in parallel (I see Sol do this often in the Opencode TUI harness), and using parallel sub-agents to e.g. research in parallel.
Thus I wonder, how much does this really improve speed vs only improving the "appearance" of getting more done faster?
mrtesthah 5 hours ago [-]
I don't think the point is speed per se but rather reducing overhead of checking on their completion.
basisword 13 hours ago [-]
When did we just give up on the challenge of giving something a unique name? I see products launch everyday on HN now that just take a well known brand and use it as their own. I thought this would be a feature for Unreal engine.
Animats 11 hours ago [-]
Not to be confused with Epic's Unreal Engine. Epic will probably be having words with this startup about the name.
Applejinx 10 hours ago [-]
VERY MUCH to be confused, which is exactly why Epic will doubtless be having many w… no, I'm sorry, I think they'll have one word. 'Nope'
himata4113 14 hours ago [-]
omp.sh does this way better by just allowing structural toolcall execution in eval with python/js.
syngrog66 10 hours ago [-]
unfortunate name. misleads
FanaHOVA 14 hours ago [-]
This is not an Unreal Engine agents? Very disappointed
jedisct1 14 hours ago [-]
Happy with swival.dev ...
calmingsolitude 14 hours ago [-]
Mildly disappointed that this has nothing to do with Unreal Engine, the popular game engine.
neuronexmachina 14 hours ago [-]
Yeah, I was hoping it would be something to make it easier for agents to interface with Unreal Engine games.
pavlov 14 hours ago [-]
I was imagining a talking head avatar rendered in Unreal Engine, with lip sync and facial expressions driven by a multimodal LLM that produces the speech.
teamonkey 14 hours ago [-]
Unreal 5.8 has a MCP plugin
pushpendraw 29 minutes ago [-]
[dead]
16 hours ago [-]
jcmontx 14 hours ago [-]
Can I use it with my codex sub?
faangguyindia 9 hours ago [-]
Codex offers an OAuth endpoint, which can be used in any harness of your choice. Note this is separate from their app-server setup; in this setup, you talk directly to the API.
SparkyMcUnicorn 14 hours ago [-]
I think the biggest selling point of a codex sub vs a claude sub is that you can use codex subs in any harness you want.
im_down_w_otp 14 hours ago [-]
I’m sad to discover that this is not a mod for Unreal to extend TacOps with a clandestine gameplay mode which prioritizes stealth and spy craft.
Fractal tool discovery: tool taxonomy where an agent can "drill deeper" to find what specific tool it's looking for. Helps if/when polluting context with a zillion (mostly unnecessary) tools.
Leveraging splay trees: this is my favorite data structure and I think relatively unused in the context of agents/harnesses. A lot of times, recently-used workflows/tool-chains will be used again, so having those at the top of the search hierarchy is an awesome optimization.
Virtual containerized notebooks: models working in sandboxed (WASI) Python notebooks is incredible. Even local models (if given enough time) will usually converge on a good solution. Being able to mount tools/resources/fs is again, imo quite untapped. Some problems here are running native things (thing numpy/pandas) in containers is a nightmare (or impossible).
Anyway, happy to see other folks seriously doing stuff in this space. If anyone wants to collaborate on anything don't hesitate to reach out :) I'm also actively looking for a job or some contract gigs.
Fun times ahead.
Ugh, I can't help but respond to this one point. The fact that this is even an issue in the current year just tells us how screwed the software field is in a lot of ways. I don't mean that in existential terms, but of how divided we've become in terms of what's happened to human reasoning. On the one hand, you have people who apply deep thinking to develop the sort of approaches you described, and there's the exponentially growing segment of not-even-programmers who seem to never ask themselves whether any of their ideas have any sort of consequences.
Take MCPs for instance. Sure, I guess it can sometimes make sense to have a stateful API that is optimized for agents. Yet, more often than not, these MCPs frontload a ton of context where it's not needed, and solve problems where none existed. Merely sticking an API (MCP) in front of an API (CLI, REST, GraphQL) without a benefit that can be explained in a single sentence is lunacy and demonstrates a real lack of complex thinking.
But, you just very clearly described why human software engineers are in higher demand than ever before.
It's always been "screwed" in the sense that everyone else sucks at wielding the power.
What we're actually witnessing is a watershed moment where a lot of technologically illiterate people are getting left behind. Those of us on the literate side are left to fight amongst ourselves and the powers that be for control over the future. We have actually been doing an alright job all things considered (else this conversation wouldn't be happening). Politicians are aging out and we're the adults in the room now.
mcp with 2 tools: execute(code) and search(query)
all other tools, mcps, apis, whatever are encapsulated by the one interface. new tools don't bloat the agent's context, and it can write its own code to perform more advanced and batch operations against the available tools (executed within a sandbox).
executor is a great implementation of this - https://executor.sh
opencode v2 also provides its own native implementation
In this way, I tend to think of the context environment on an agent is the "agent nav" -- it presents context, allows progressive disclosure, and if poorly designed, makes the agent flounder as a poorly designed UI/UX does.
https://github.com/genei-Ltd/reddit-ads-cli
For some reason they're comparing their harness running on Astra xhigh to Codex with Astra max?
---
Also worth noting that OpenAI just added support for async tool calling to their harness, which isn't 1:1 with this approach, but is slowly ramping up in being able to provide something similar.
A big part of why Codex uses so many tokens is that it basically hot loops on polling tasks it starts for... absolutely no good reason: https://www.reddit.com/r/codex/comments/1wdlp7q/weve_discove...
I fixed it on my fork of Codex too, also back in Jan/Feb – I keep this patch rebased, for anyone who wants it: https://github.com/tekacs/codex/commit/9ffcf8db9078eae43d411...
It results in token savings similar in scale to those displayed here by Unreal.
---
My harness has used a slightly fancier version of the approach that Unreal is using since ~Feb, and... it definitely works excellently, but it's also assuredly smoother with Astra and other recent models that are more aware of async tool calling.
each individual benchmark that is combined into agentic coding index was compared on xhigh between ua / codex / pi, and headline improvement was calculated on xhigh, but then agentic coding index pareto chart by default includex codex max, hense the confusion.
This plainly seems like a trademark issue in progress considering it's in the same exact domain and considering how many others were confused the way I probably was.
People, I'm begging you, please talk to a lawyer before launching.
>Computer software, namely, game engine software for video game development and operation; Computer software, namely, software development tools for the creation of computer-generated imagery and graphics for the production of video games; Computer software, namely, software development tools for the creation of computer-generated imagery and graphics for the production of content for virtual worlds and 3D platforms; Computer software, namely, software development tools for the creation of computer-generated imagery and graphics for the production of motion pictures, television shows, videos, 3D animations, 3D simulations, 3D visualizations, virtual reality motion pictures, virtual reality television shows; Computer software, namely, software development tools for the creation of computer-generated imagery and graphics for the production of virtual reality video games; Virtual reality game software; Virtual reality software for creating multimedia content; Augmented reality game software; Augmented reality software for use in mobile devices for integrating electronic data with real world environments for the purposes of entertainment
Sure you can, trademarks are contextual. If they were a landscaping business it wouldn't matter. But within the same industry absolutely.
They work well, except that the agent will often simply call wait() immediately after, and also do it with a longer timeout, causing crashes/hangs to really slow down the process; whereas immediate tool calls have a built-in 30s timeout in most harnesses.
I imagine this one will suffer from similar problems.
https://github.com/Pyrolistical/pi-notify
Now my pi agent setups its own trigger to notify itself when a background process is done
> but clearly more documentation is better than lack of
I tend to disagree. This makes it very high signal. So far my agent has been successful at navigating the repo.
“On the surface, Unreal Agent achieves the same outcomes with fewer model turns and fewer input tokens.”
(Emphasis mine)
Would be interesting to compare to a harness optimizing for cost reduction too.
What I'd love to see is a harness that deeply optimises for the best results obtainable out of non-frontier models. Many of these have 1M context windows, and most of it remains unused and under utilised in these harnesses, in my opinion.
This is available in DSH via PTC mode.
Basically, instead of the completion API returning a sequence of tool calls, it returns a program that invokes the tools.
I think most are returning Typescript program
With ordinary tool calling, you may have to wait for a tool to return its result to the completion API before the model can continue and issue the next tool call.
With PTC, the generated program can invoke independent tools asynchronously, collect their results, and dispatch the relevant results back to the completion API in a single turn.
Claude and Codex added this as well, but there are some papers on this that show it's not good across all tasks, and models need to be trained for this specific technique, which is what AI labs are doing now.
i think the language primitives map well to the natural desire to use these tools across networks and in concurrent workloads.
another Go harness i keep up to date with is: https://github.com/boldsoftware/shelley (exe.dev team)
It says that it removes tokens wasted while a model is waiting on synchronous tool calls. What tokens exactly is Pi using when waiting?
gpt 6 sol already made a lot of progress with caches
i have a feeling unreal agent might have decided to release now rather than getting sherlocked
i just think its very risky right now to spend too much time building harnesses or anything on top of codex or claude simply because frontier labs will just absorb whatever works
It's both expensive to test alternative harnesses and it's expensive to develop them (if using API pricing).
How likely is it that they get sued into the ground in a year? They might have a strong suite of offerings even as soon as six months from now, but if the essence of a company's brand seems at jeopardy from the start, can I take the risk as a potential customer that they'd survive that kind of action?
What a good time for harness design. Just while OpenCode is growing up a bit and focusing on their harness. I’m delighted to see people focusing on good general solid harness design principles.
Someone make an OpenCode API (the best general agent end UI API I know) compatible server for it!
Sucks that I haven’t upgraded my client to V2 yet and I don’t really want to build on an outdated API ...
Edit: It would be cool to get streaming responses :) But I understand (and actually applaud) that the authors seem to have been very focused on the core mechanics.
Also note that this works with the responses API!
We found this massively outperforms any kind of agent like this and the official unreal MCP systems. Its similar to the Blender MCP which also just exposes scripting + very minimal api to claude code/others.
Actors can have identities and roles for RBAC, etc. you - cross agent communication is the same as sending any other message to a actors.
Not to mention that actors can be on your device, another device, etc. whatever the router can resolve - it's transparent to the agents.
Let a model get notifications when something it has accessed/ subscribed to changes, a tool produces output or it gets some other kind of message (for example by another AI or flesh agent). Wait until the next turn or wake it up. It can still decide to do nothing and wait.
Your technical ideas are just implementation details behind the interface. What's your idea for a better UX?
If you move away from the idea that agents are chat streams and treat them as processes/actors then you can start letting agents represent themselves/build their own interfaces.
And if you build enough introspection into the protocol because everything is message based you can have other agents build interfaces for them.
So like either standard GUI, or a voice assistant talking to you and delegating to agents, etc.
It's not an idea it's a way of thinking about agent systems - basically an agent OS.
1. Agents usually depend on output of the commands they're running in order to make decisions about what to do next, so how do they behave while they're "waiting around" for the output they need?
2. Agents can _already_ run software async, via multiple mechanisms: raw CLI tools like "nohup", literally running tools in parallel (I see Sol do this often in the Opencode TUI harness), and using parallel sub-agents to e.g. research in parallel.
Thus I wonder, how much does this really improve speed vs only improving the "appearance" of getting more done faster?