| UI or UX | UI + UX - AI clarification surface that asks for missing task boundaries before answering, planning, retrieving, or using tools | UI + UX - Primary editable input surface for composing and submitting an AI request | UI + UX - Control that selects which corpus, location, or result source a query searches | UI + UX - Pre-execution preview of an AI agent's proposed multi-step plan, tools, data access, and expected outputs | UI + UX - Runtime checkpoint that pauses AI or automation until an eligible human authorizes the next step | UI + UX - Multi-turn conversation surface with transcript, composer, assistant responses, and conversation history |
| UI guidance | Render scope clarification as a focused question tied to the user's request, with the missing boundary named in plain language: object set, timeframe, audience, source set, authority, output depth, risk limit, or action target. | Render the prompt box as a labelled, editable composer with visible draft area, send control, context chips, attachment controls, model or mode indicator when relevant, character or token boundary feedback, and clear disabled or blocked-send reasons. | Render the active search scope near the search input and result summary, using user-facing corpus names such as Current workspace, All knowledge, This repository, or People. | Render agent plan preview as a pre-run plan with objective, ordered steps, planned tools, data sources, permissions, assumptions, dependencies, approval gates, expected outputs, and controls to edit, approve, run, save, or cancel. | Render a human approval gate as a paused automation checkpoint with the proposed action, tool or workflow step, triggering rule, risk level, payload snapshot, requester or agent, approver eligibility, timeout, and explicit approve, reject, edit, cancel, or bypass controls. | Render chat as an ordered transcript with visible user and assistant roles, turn boundaries, timestamps or relative position, current draft composer, submitted prompt, response status, source or tool indicators, and conversation-level controls. |
| UX guidance | Use scope clarification when an AI request is too broad, underspecified, conflicting, high-impact, or likely to produce the wrong answer unless the user narrows the task first. | Use a prompt box when users need to author a natural-language request for AI generation, transformation, analysis, or automation and must remain in control of the exact request being submitted. | Use a search scope selector when the same query can search meaningfully different content sources and users need to control where the system looks. | Use agent plan preview when users need to understand and shape what an AI agent will do before it starts calling tools, changing records, sending messages, spending budget, or making external side effects. | Use human approval gate when automation is ready to act but policy, risk, confidence, cost, access, publication, deployment, customer impact, or legal consequence requires a human decision before execution continues. | Use a chat interface when users need a multi-turn assistant conversation where later prompts can depend on earlier turns, responses can be inspected or continued, and conversation history can be saved, resumed, deleted, or limited by policy. |
| Good UI | An assistant receives Summarize the issues and asks Which issue set should I summarize? with Current sprint, All open issues, and Selected label choices before generating. | An assistant composer labels the selected source as Contract draft, shows Attach file, Use selected text, Format: table, and Send, and blocks sending when the referenced file is no longer available. | A knowledge search field includes scope buttons for All knowledge, Current workspace, Cases, and People with the active scope repeated above results. | A sales assistant previews a six-step account-research plan with CRM lookup, web search, draft email, approval gate before send, estimated sources, and editable recipient scope. | An AI support agent pauses before issuing a refund, shows the proposed amount, customer, policy match, confidence, source grounding, approver role, timeout, Approve refund, Edit amount, Reject, and Stop run controls. | A research assistant chat shows user and assistant bubbles, turn numbers, source chips, streaming status, Stop, Copy answer, Regenerate, New chat, and a conversations list with the active chat title. |
| Bad UI | The assistant guesses all workspaces, creates a long answer, and never reveals that the original request lacked an object boundary. | A blank AI field shows only Ask me anything and sends vague requests with hidden page context. | The placeholder says Search this site, but after typing only a generic magnifying glass remains and the result page no longer names the scope. | The UI says I have a plan and immediately starts executing without showing steps, tools, data access, or external side effects. | A banner says Human approval needed but does not show the tool call, payload, approver, timeout, or resume consequence. | A chat panel shows one undifferentiated wall of text with no user or assistant roles, no submitted prompt, and no visible conversation identity. |
| Good UX | A user asks for a customer email draft; the assistant asks whether the audience is trial users, enterprise admins, or all affected accounts before drafting. | A user selects a policy paragraph, writes Summarize risks for a non-lawyer, sees Selected text and Output: bullets chips, submits, then edits and resends the exact prompt after the first answer is too broad. | A user searches appeal in Current workspace, switches to All knowledge, and sees the same query rerun with a larger result count and broader source summary. | A manager removes the Send email step, narrows the data source to approved knowledge, approves the remaining plan, and sees execution start from the revised version. | A billing lead opens the paused refund gate, sees that the amount is under policy but source grounding is partial, edits the refund to the verified amount, approves, and the agent resumes only that step. | A user asks for a policy summary, follows up with Compare that to the renewal clause, sees that the second answer used the first answer and selected file, then exports the two-turn transcript. |
| Bad UX | A user asks to update permissions and the AI acts on every team because the UI did not clarify the target scope. | A user presses Enter expecting a new line and accidentally sends an unfinished prompt to an external model. | Switching from This repository to All GitHub clears the query and leaves users unsure whether anything ran. | Users approve a plan that says Research account but the agent also updates the opportunity stage. | A human approves a stale agent action from email and the agent applies it to a different customer state. | A follow-up uses prior conversation context after chat history has been switched off, without explaining that current-session context still exists. |
| Best fit | A user's AI request has missing object, audience, timeframe, source, workspace, permission, output-depth, or action-target boundaries. | Users must write or revise an AI request before generation, analysis, transformation, or automation begins. | The same query can search different repositories, sites, workspaces, spaces, channels, result types, teams, or organization-wide indexes. | An AI agent or automation can show a proposed multi-step plan before execution. | An AI agent, workflow, deployment, or automation is ready to perform a high-impact step and must pause for human authorization. | The user needs a back-and-forth assistant conversation with follow-up questions and answer refinement. |
| Avoid when | The request is clear enough to answer safely and clarification would only slow the user down. | The task is better expressed as a fixed form, button, or command with known parameters. | There is only one searchable corpus and scope selection would be decorative. | The system cannot generate a reliable plan before execution. | The action has already happened and users only need an audit log. | The task can be completed with a single structured prompt box, form, or command. |
| Required state | Ambiguous request state with original prompt preserved and missing scope named. | Empty prompt state with label, helpful instruction, and no implied hidden submission. | Default scope state based on current location or product-wide policy. | Draft plan state with objective, ordered steps, planned tools, and expected output. | Paused gate state with proposed action, payload snapshot, reason for gate, and run context. | Empty new chat with conversation title, mode, history or retention status, and a labelled composer. |
| Accessibility burden | Expose original request, missing boundary, choices, selected scope, default, blocked state, and resume status as text. | Provide a programmatic label for the prompt editor and named controls for send, attach, remove context, clear, retry, and cancel. | Use a labelled fieldset, radio group, select, or tablist only when the semantics match the scope interaction. | Expose objective, plan version, step order, step status, tool, data access, side effect, and expected output as text. | Expose gate status, proposed action, target, payload summary, risk, approver rule, timeout, and current run state as text. | Expose the transcript as an ordered region and use a sequential update strategy such as role=log for appended messages where appropriate. |
| Common misuse | Guessing broad scope without revealing the assumption. | Showing Ask anything as the only instruction while hiding what sources and tools the model can use. | Putting scope only in placeholder text, which disappears when users type. | Showing a vague plan summary while hiding planned tool calls, data access, and side effects. | Showing Approve without the exact action, payload, target, risk, or resume consequence. | Treating chat as a large textarea plus latest answer with no durable turn identity. |