Before the first prompt
- Starting points: Show a few examples tied to what your users came to do, instead of a blank prompt box. At AiListz, the onboarding and conversational guidance we designed cut support requests from first-time users by 90%.
- Controls for what people can't phrase: Tone and length are easier to pick than to describe. Put them next to the input.
- AI disclosure: Let people know they're dealing with AI from the first interaction. Under the AI Act, that's been a legal duty in the EU since 2 August 2026.
Before the AI acts
- Preview before action: Before the AI sends, publishes, or changes anything, show exactly what's about to happen. People trust a feature more when they can see the result first.
- Permissions for agents: When an agent acts on someone's behalf, let them decide what it can do on its own and what needs their approval.
After the answer
- Sources: Show where an answer came from, so people can check it instead of taking it at face value.
- Edit in place: Let people fix the answer directly. Starting the whole prompt again for one wrong sentence is maddening.
- Undo: Anything the AI changes should be reversible, for long enough that people notice the mistake.
- Feedback: A simple "this was wrong" with a reason gives your team the failure modes to design for next.
When a person has to check
I speak for myself (and maybe you) when I say how maddening it is to have to review all your agents' outputs. It slows down work, and I usually zone out after the first few lines. So put the human review step where a mistake would cost money, health, or trust, and let the low-risk work flow without it.
Design the failure loop too
In another of my apps, RebrandOS, I set up a system to make the AI-generated content sound human, and part of that was a banned-word filter. The filter kept blocking the AI writer, so it couldn't generate any content at all. It went round in a loop like that for weeks, so I took the writer out of the app.
The lesson I took from it: every automated check needs a designed way out, like a human override, a limit on retries, or a clear message to the user. Otherwise, two parts of the system that each work fine on their own can block each other forever.
Gideon Awolesi