Agents as users
Generative interfaces
Generative interfaces are interfaces produced by an agent at runtime, in three degrees: controlled, where the agent selects from components you built; declarative, where the agent emits a specification you render; and open-ended, where the agent emits sandboxed markup.
Control sits with the agent
When to use it
When the range of useful views is too large to design in advance, which is common in data and analysis products.
What it prevents
Chat output that describes a table instead of showing one.
Who builds the viewthree degrees
ControlledThe agent picks from components you built
DeclarativeThe agent emits a spec, your client renders it
OpenThe agent writes the code
Further down is more range and less of the interface you can vouch for.
Who ships it
- MCP Apps: across ChatGPT, Claude and other hosts. The security model is mandatory rather than advisory: an iframe sandbox, postMessage as the only channel, and a content security policy declared by the server and enforced by the host
Sources
Related patterns: The protocol stack