How should components and dataModel be represented in multi-turn agent conversation history? #2681
Replies: 1 comment
|
You can keep a compact semantic snapshot in the next LLM request, but For your example, I would retain the displayed order IDs in display order, along with the relevant order data and surface ID. If the UI sorts, filters, or paginates the orders, “the first order” need not mean the first entry in the original data array. That mapping is application state worth preserving even when you omit the component tree from the prompt. There are two separate concerns here:
One relevant protocol feature is v0.9 For an explicit Cancel button, bind a stable order ID into its action context. For free-text “cancel the first order,” resolve against the displayed snapshot, and have the backend check ownership and whether cancellation is still allowed. So I would use your compact approach, with that display/reference state retained rather than assuming raw business data always captures it. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
How should
componentsanddataModelbe represented in multi-turn agent conversation history?I'm trying to understand the intended way to integrate A2UI responses into a multi-turn agent conversation.
Suppose the user asks for a list of orders, and the agent responds with both
dataModelandcomponents:On the next turn, the user refers to something rendered by the previous A2UI response:
For the next agent/LLM invocation, is the intended approach to preserve only the semantic/data state from the previous A2UI response and omit the component tree?
For example:
instead of replaying the full A2UI response:
My assumption is that
componentsmainly represents presentation/rendering state, whiledataModelcontains the semantic state needed to resolve references such as "the first order".So my questions are:
componentsfrom subsequent conversation history and retain onlydataModel?dataModelbe considered sufficient conversational context for references to previously rendered entities, or is the application expected to maintain a separate semantic/conversation state?I'm specifically asking about the agent/LLM conversation context across turns, rather than how A2UI surface updates are transported to the renderer.
All reactions