I built several harnesses in different products over the last two years. Fully agree with you that doing it right is a rabbit hole. Certain system properties that you almost always want in a harness used within a SaaS (for example) are non-obvious at the start and require certain architectural choices. It's easy to start down a path and then find a gap a couple days before launch.
Async tool calls, having the agent wait indefinitely for a human response, and showing a form or questions to the user via a tool call are a few common capabilities that come up that a product manager might miss at first.
This is why I've been building Nvoken. LLM agnostic, ergonomic SDKs, flexible tool call patterns, tenant and user-aware budget enforcement, etc.
I'd really appreciate any and all feedback on this! It gives you some free tokens on signup and it's super quick to try.
> Async tool calls, having the agent wait indefinitely for a human response, and showing a form or questions to the user via a tool call are a few common capabilities that come up that a product manager might miss at first.
All of this is specified in the ACP spec, so if you build your agents from that - you don't end up skipping features.
Also vital is proper prompt caching, tool design and some connection retry mechanism.
> All of this is specified in the ACP spec
Oh good reminder. I need to do that.
> Also vital is proper prompt caching, tool design and some connection retry mechanism.
prompt caching is weirder than i originally thought, and so variable across providers. Retry is easy, but can you explain more on tool design?