AI Assistant Patterns
Patterns for chat assistants and AI features within apps.
35 patterns · 7 groups
Starting a request 7
Help people write a request, add files, and choose how the assistant should respond.
People need to know which attached files the assistant can read.
file drop · upload chip · context attachment Command menuPeople need a quick way to choose an action or select a specific item.
slash commands · at-mentions · prompt shortcuts ComposerPeople need space to write a prompt without losing sight of the conversation.
prompt box · input bar · message box First-run stateNew users need to understand what the assistant can do and how to start.
empty chat · onboarding state · zero state Mode switchPeople need to choose between a quick answer and more time spent on research or analysis.
search toggle · think harder · deep research Model pickerPeople need to understand which model fits their task and what using it will cost.
model switcher · engine selector Prompt startersPeople need examples of useful requests when they do not know what to ask.
suggested prompts · example questions · conversation startersMessages and responses 6
Make conversations easy to follow and give people control over the answers they receive.
People need to correct an earlier question without losing the conversation that followed it.
edit prompt · revise question · fork from here Message turnReaders need to distinguish their messages from the assistant’s answers.
chat bubble · turn · message pair RegeneratePeople need another attempt at an answer without retyping their question.
try again · retry response · alternate response Response actionsPeople need easy access to actions on an answer without crowding the conversation.
message toolbar · copy and rate · feedback row Stop generationPeople need to stop an unwanted answer before it finishes.
interrupt · halt · cancel response Streaming responsePeople need to start reading an answer while the assistant is still generating it.
token streaming · progressive rendering · typewriter effectAnswer formats 4
Present answers in formats people can read, edit, and use elsewhere.
People need room to read and revise generated documents without losing the conversation.
canvas · side-by-side output · preview pane Code block actionsPeople need to copy or use generated code without losing its formatting.
copy button · run snippet · apply to file Response collapsePeople need to scan a conversation without long answers pushing everything else out of view.
long answer fold · show more · truncated response Structured outputPeople need answers in a format that makes the information easy to use.
generated table · comparison grid · formatted answerUnderstanding answers 5
Show the sources, actions, and limits behind an answer so people can check it.
Readers need to check the source behind a specific claim.
source badge · inline citation · footnote marker Knowledge cutoff noticePeople need to know when an answer may rely on outdated information.
training date · staleness warning · may be outdated Reasoning disclosurePeople waiting for an answer need enough information to spot a misunderstood request.
thinking · chain of thought · show work Source listReaders need to review the sources used to produce an answer.
references panel · sources rail · retrieved documents Tool call tracePeople need to see which actions the assistant took and whether they succeeded.
function call · action log · ran a searchMemory and context 5
Let people see and control what the assistant remembers and which information it can use.
People need to know when a conversation is approaching the amount of information the assistant can use.
context window indicator · token budget · conversation length Conversation historyPeople need to find and return to earlier conversations.
thread list · chat sidebar · recents Custom instructionsPeople need to save preferences they would otherwise repeat in every conversation.
system prompt · preferences · style guide Memory chipPeople need to see and control the details an assistant saves about them.
remembered · saved detail · persistent context Scoped contextPeople need to know which files and workspace content the assistant can access.
context pills · working set · what it can seeHelp within apps 5
Let people use AI where they are already working, without switching to a separate chat.
People need to find the AI feature and understand what it can do.
sparkle button · magic icon · assist affordance Assistant sidebarPeople need to use the assistant while keeping their work in view.
AI panel · chat drawer · side rail assistant Ghost textWriters need to distinguish suggested words from text they have already accepted.
inline completion · autosuggest · grey text Inline assistPeople need to revise selected text without leaving the document.
select to edit · rewrite selection · contextual AI Suggestion diffPeople need to see what the assistant changed before accepting a revision.
accept or reject · tracked change · proposed editLimits and errors 3
Explain why a request cannot be completed and give people a useful next step.
People need to know when an answer has failed and how to try again.
failed response · retry state · network interruption RefusalPeople need to understand why a request cannot be fulfilled and what they can do next.
declined response · safe completion · guardrail message Usage meterPeople need to see their remaining allowance before they run out.
rate limit · message quota · plan ceiling
For AI tools: llms.txt. Each pattern is also available
as Markdown at /ai-assistants/<slug>.md.