Agent UI Protocols
Declarative protocols for AI agents that construct user interfaces.
Key takeaways
- Agent UI protocols let agents declare interfaces with the design system as their vocabulary, instead of clicking prebuilt screens.
- The protocol must own component vocabulary, a serializable state model, tool integration, accessibility, and auditability.
- Components need stable IDs and schemas, and actions must declare side effects plus confirmation needs.
- Renderers should reject unsupported or malformed component names rather than rendering them.
- Version the protocol, validate every declaration against schemas, and keep destructive actions behind explicit confirmation.
Agent UI protocols let agents describe interfaces declaratively instead of asking humans to click through prebuilt screens. The design system becomes the vocabulary for those declarations.
Protocol Responsibilities
| Responsibility | Why it matters |
|---|---|
| Component vocabulary | Keeps generated UI inside approved primitives. |
| State model | Lets agents update UI without imperative hacks. |
| Tool integration | Connects user actions to agent or backend capabilities. |
| Accessibility | Keeps generated interfaces usable. |
| Auditability | Records what UI the agent created and why. |
Design-System Requirements
- Components need stable IDs and schemas.
- Props must have explicit constraints.
- Actions must declare side effects and confirmation needs.
- UI state must be serializable.
- Renderers must reject unsupported component names.
Example Declaration
{
"type": "TaskCard",
"props": {
"title": "Review failed payments",
"status": "warning",
"actions": [{ "id": "open-report", "label": "Open report" }]
}
}Governance
- Version the protocol.
- Validate every declaration against schemas.
- Log agent-generated UI decisions.
- Keep destructive actions behind explicit confirmation.
- Test renderer behavior for unsupported or malformed declarations.