We’re working on this problem at my company. All of our competitors have churned out a bunch of generic chat based agents (basic harness with a few tools connected and different system prompts) to do basic stuff you’d used to do from a wizard or even just a couple of buttons in a form. We’re steering away from this by building full ‘surface’ agents with A2UI and an initial surface message. The users just see a normal looking web application but under the hood it’s all driven by a harness. UI updates are effectively just new events received by the client. Events are either generated by an LLM directly, or deterministically - it’s up to the dev.
Why would I want that for a form with buttons?
It sounds painful to debug