AI UX Cheat Sheet

By the Syncfusion DevTutorials team · Last updated

Every pattern from the course on one page: surfaces, streaming, trust cues, controls, risk and confirmation, designed states, the generative UI spectrum, A2UI, MCP App sandboxing, AG-UI events, feedback events, accessibility and the check list.

What you will learn

  • Find any pattern or rule from the course quickly

How to Use This Page

This page is for coming back to. Every lesson's main idea is here, as a table, a rule or a short snippet. The last sections list every check from the lab, and a glossary.

The A2UI, AG-UI and MCP Apps specs moved quickly through 2026. The versions and names on this page were checked when the course was written. Check each spec's own docs again before you rely on a detail.

The One-Line Version

The interface is where AI earns or loses trust. A good model behind a bad interface is a bad product.

AI is different because…So the interface must…Lesson
It is slowShow progress from the first second2
It can be wrong and sound sureShow sources, doubt and limits3
It can changeLet users stop, edit, retry and undo4
It can actAsk before acting, by risk5
It fails in new waysShow a designed state for each failure6

Surfaces (Lesson 1)

Ask in order; stop at the first yes.

QuestionSurface
Does the user need to explore, with many follow-ups?Full chat
Is it one known action on the thing on screen?Inline action
Is it help with the thing on screen, with a few turns?Side panel

Section 1 Patterns

PatternRuleLesson
Tool stepsShow each step when it starts; tick it when done2
StreamingShow tokens as they arrive; first words within 1 s of the first token2
StopAbort the request (AbortController); nothing may run later2
Citation chipsLink only to retrieved passages; otherwise "No source found"3
"Not sure" bannerOn low confidence; say what to check3
Scope noteWhen the question is outside the app3
Edit, RetryFix the question in place; Retry adds a version, never replaces4
UndoBack to a snapshot from before the AI change4
RiskMoney, reach outside, or no way back = high5
Preview cardAction and amount, order, recipient; the button names the action5
ConfirmAsk for high risk only; low risk just happens, with undo5
Undo windowA few seconds to reverse an action5
Designed stateWhat happened, what is safe, what to do next6

Designed States

FailureTitleNext step
TimeoutThis is taking too longTry again; the question is saved
Tool failureWe could not open the orderTry again; nothing was changed
RefusalI can't share thatAsk about something it can help with
Rate limitThe assistant is busyRetry after the wait, and say how long
"I don't know"I couldn't find that orderCheck the input, or search another way

The Generative UI Spectrum (Lessons 7 to 9)

PatternWho decides the UIGuardRisk
ControlledYou build it; the agent picksTyped registry, prop validation, safe fallbackLowest
Declarative (A2UI)The agent arranges your partsAllow-list + schema, render as it streams, events with IDsMedium
Open-ended (MCP Apps)Someone else sends HTMLsandbox="allow-scripts", CSP, message checksHighest

Never

  • Let the agent write HTML into your page.
  • Pass unknown props through to a component.
  • Put an HtmlBlock (raw HTML) in your A2UI catalogue.
  • Combine allow-scripts and allow-same-origin for untrusted HTML.
  • Let a message from a frame trigger a risky action without a preview.

Protocol Layers (Lesson 10)

LayerJob
MCPAgent ↔ tools
AG-UIAgent ↔ your app (the event channel)
A2UI / MCP AppsWhat to render
AG-UI eventMeaningClient rule
RUN_STARTED / RUN_FINISHEDStart and end of a runShow and clear the working state
TEXT_MESSAGE_CONTENTMore wordsAppend; announce per sentence
TOOL_CALL_START / TOOL_CALL_ENDTool activityShow a step chip
STATE_DELTAShared state changedMerge; keep fields the user is editing
Interrupt requestThe agent needs a personShow it; send the answer back

Feedback Events (Lesson 11)

interface FeedbackEvent {
  trace_id: string;
  output_version: number;
  signal: "thumbs-up" | "thumbs-down" | "correction" | "regenerate";
  comment?: string;
  correction?: string;
}

Explicit: thumbs, comments, edits. Implicit: regenerate, copy, close. Corrections are the best labels.

Accessibility (Lesson 12)

NeedRule
Hear the answeraria-live="polite", updated per sentence
Reach the controlsReal buttons in tab order; Escape stops, Ctrl+Z undoes
Less motion@media (prefers-reduced-motion: reduce) turns off decoration
Readable citationsaria-label="Source 1, Refund policy §2"

The Checks

Every check from the lab. The Build tab runs them on your settings, and the Code tab runs them on your React component's real page. The same rules are in your exported Playwright tests.

LessonChecks
2First words within 1 s of the first token · each tool step shown when it starts · never a blank screen or bare spinner for more than 1 s · Stop cancels the work with no later side effects
3Every claim with a source has a chip · no chip links to an unretrieved passage · low confidence shows "not sure" · out-of-scope gets a scope note
4Stop ends the answer · Edit gives a new answer · Retry keeps both versions · Undo restores the exact prior state
5No high-risk effect before an explicit confirm · preview shows amount, order and recipient · low risk does not ask · undo window reverses · saying no stops it
6Every failure shows a designed state with a next step
7Tool calls render the matching component · invalid or unknown requests never render · rejected requests fall back safely
8Invalid and unlisted components never render · valid payloads render in full · parts render as they arrive · events carry surface and component IDs · no payload code runs
9No access to parent page, cookies or storage · no top navigation · no data sent out · only validated messages · the real app still works
10Deltas keep user edits · interrupts abort cleanly · human-in-the-loop requests are shown and resumed
11Signals captured as events · each with trace ID and output version · corrections keep the fixed text
12Screen reader hears the answer · announcements per sentence · Stop and Undo by keyboard · reduced motion respected · readable citation chips

Run all 15 capstone scenarios again

The Lab's Agent API

What your component gets in the Code tab. The capstone maps each line to a real stack.

Call or eventJobLesson
agent.on(cb)Get events: token, tool-start, cite, done, error, propose…2 to 12
agent.cancel()Stop the run2, 4, 10
agent.send(text) · agent.retry()A fixed question · another version4
agent.perform(action)Run a side effect; returns undo()5
agent.retrievedThe passages the app really fetched3
agent.sendEvent({ surfaceId, componentId, action })Tell the agent what was pressed8
agent.state · agent.respond(yes)Shared state · the answer to a question10
agent.feedback(row)One feedback event11

Glossary

TermMeaning
A2UIAn open JSON protocol for agents to describe UI as data
AG-UIAn open event protocol between an agent and an app's UI
Allow-listThe component types a renderer will draw
Citation chipA label linking a claim to its source
Confirm fatiguePeople approve without reading because the app asks too often
CSPContent Security Policy: where a page may load from and send to
Designed stateA planned screen for a failure
Effects ledgerA record of every side effect, with its time
Generative UIUI the agent picks, fills or describes at run time
Human-in-the-loopThe agent pauses for a person's decision
Live regionPage content a screen reader reads when it changes
MCP AppA small web app returned by an MCP tool, shown in a sandboxed iframe
Perceived waitHow long a wait feels
RegistryNames the agent can say, mapped to your components and prop types
Sandboxiframe attribute that turns powers off by default
Side effectA change outside the screen: money, email, delete
SnapshotA saved copy of the user's work before an AI change
State deltaAn event with only the fields of shared state that changed
SurfaceWhere the user meets the AI: chat, side panel or inline
TokenA small piece of text the model writes
Trace IDThe ID of the agent run that made an answer

Further Reading