Experience Layer
Interfaces, copilots, multimodal interaction and human oversight.
The experience layer decides what a person can see, verify, correct and authorise. In a system whose outputs are probabilistic, the interface is a control surface rather than decoration: it sets expectations, exposes provenance, and makes the difference between a suggestion and a committed action unmistakable.
Architecture considerations
- Distinguish drafting from committing. Reversible suggestions and irreversible effects must not share an affordance.
- Stream partial output where it reduces perceived latency, but never stream a value the user might act on before it is final.
- Attach provenance to every generated claim — source, timestamp, and the retrieval or tool call that produced it.
- Design the uncertain and empty states first. They occur far more often than the ideal path.
- Keep an escape hatch: the operator must be able to stop, edit or take over at any step.
Failure modes
- Confident presentation of unverified output, which transfers the model’s uncertainty onto the user unnoticed.
- Interfaces that hide tool calls, so a failed retrieval is indistinguishable from an empty result.
- Latency with no feedback, which reads as a broken system and drives duplicate submissions.
- Approval fatigue: so many confirmations that operators stop reading them.
How we approach reliability
We specify the interface’s state machine before building it — idle, generating, partial, verified, failed, superseded — and treat each state as a designed screen with its own copy. Provenance and confidence are data carried through the API, not styling applied at the end.