Common AI UX Patterns: Autocomplete, Suggestions, Generation, and Chat
AI-powered products rely on a surprisingly small set of core interaction patterns, each with distinct UX characteristics and user expectations. Understanding these patterns is essential for choosing the right one for your feature.
Autocomplete and inline suggestions are the lightest-touch pattern. The AI predicts what the user is about to type or do and offers a completion they can accept with a keystroke (Tab, Enter) or ignore. Examples include Gmail's Smart Compose, GitHub Copilot, and search autocomplete. The key UX principle is minimal disruption—the suggestion should appear effortlessly and disappear instantly if unwanted. Latency is critical: suggestions must appear within 100–300ms or they feel like an interruption rather than an assist. Accuracy thresholds are high because every bad suggestion erodes trust and creates cognitive overhead.
Suggestion panels and recommendation lists present multiple AI-generated options for the user to choose from. Think Netflix recommendations, Spotify Discover Weekly, or LinkedIn's "People You May Know." The UX challenge is balancing relevance with diversity—showing only safe, obvious choices feels unhelpful, while too many unexpected choices feels random. Effective suggestion UIs provide context for why each item is recommended, allow easy dismissal, and learn from both positive engagement and explicit rejection signals.
Generation interfaces handle open-ended creation: writing an email, generating an image, creating a presentation. The user provides a prompt or parameters and the AI produces a complete artifact. The core UX challenges are setting appropriate expectations (the first output is rarely perfect), providing effective editing and refinement tools, and making it easy to iterate. Successful generation UIs—like Midjourney, ChatGPT's canvas, or Notion AI—treat the first generation as a starting point and invest heavily in the refinement workflow.
Conversational chat interfaces have become the default pattern for LLM products, but they're not always the right choice. Chat is excellent for exploratory, open-ended tasks where the user's intent is ambiguous. It's poor for structured, repetitive tasks where a form or dashboard would be more efficient. The best AI products mix patterns: use chat for exploration and onboarding, but graduate users to more efficient direct-manipulation interfaces for repeated tasks.
Loading, Streaming, and Latency UX
AI inference is often slower than traditional API calls, making perceived performance a critical UX challenge. A recommendation API might respond in 50ms, but an LLM generation can take 2–15 seconds. Users calibrate their expectations based on their experience with traditional software, so AI latency can feel broken even when the system is working correctly. Your job as a PM is to manage this perception gap.
Streaming is the most powerful technique for managing LLM latency. Instead of waiting for the complete response and displaying it all at once, stream tokens as they're generated. This reduces perceived wait time dramatically—users start reading immediately and the progressive reveal creates a sense of active intelligence. Most major LLM APIs support server-sent events (SSE) for streaming. The UX should show the text appearing word by word or in small chunks, with a subtle typing indicator. Allow users to stop generation early if the response is going in the wrong direction.
Progressive loading patterns apply beyond text streaming. For multi-step AI processes (e.g., analyze document → extract entities → generate summary), show progress through each stage with descriptive status messages: "Reading your document..." → "Identifying key themes..." → "Writing summary..." This is more informative and reassuring than a generic spinner. For image generation, techniques like progressive resolution (showing a blurry preview that sharpens) maintain engagement during long generation times.
Skeleton screens and optimistic UI can bridge shorter waits. Show a placeholder layout that indicates where AI content will appear, so the interface feels responsive even before results arrive. For cached or pre-computed results, display them instantly while refreshing in the background. And always consider latency budgets: what's the maximum acceptable wait for each feature? If an LLM call takes 5 seconds but users expect sub-second responses, you might need to pre-compute results, use a faster model, or restructure the interaction so the AI work happens asynchronously.
Error Handling, Confidence, and Setting User Expectations
AI systems fail differently than traditional software. A database query either returns results or throws an error. An AI system might return a confident-sounding answer that is completely wrong. This fundamental difference demands a new approach to error handling and expectation setting.
Showing AI confidence and uncertainty is one of the most important and underutilized UX patterns. When a model is uncertain, the UI should communicate that—through explicit confidence scores ("78% confident"), hedging language ("This might be..."), visual indicators (color coding, opacity), or by presenting multiple alternatives ranked by confidence. The key is matching the confidence display to the user's decision-making needs. A radiologist reading an AI-assisted scan needs precise probability scores. A consumer getting movie recommendations just needs a thumbs-up/thumbs-down signal.
Error handling for AI should cover three categories: system errors (the model failed to respond—show a retry option), quality errors (the model responded but poorly—show a regenerate option with feedback mechanism), and scope errors (the model can't handle this type of request—explain what it can and can't do). Each needs a distinct UX treatment. The worst pattern is pretending errors don't happen—showing a confidently wrong answer with no indication of uncertainty.
Setting expectations starts before the user even interacts with the AI. Onboarding should clearly communicate what the AI is good at, what it struggles with, and what it absolutely cannot do. Labels like "Beta" or "Experimental" signal that the feature is still being refined. Disclaimers like "AI-generated content may contain errors—please verify" set the right level of trust. The framing matters enormously: calling a feature an "AI assistant" (implies advisory) versus an "AI agent" (implies autonomous action) creates very different mental models and trust calibrations in users.
Post-interaction expectation management is equally important. When the AI produces output, give users a clear path to verify, edit, or reject it. Show the sources or reasoning behind AI conclusions. Make it trivially easy to report problems. These patterns don't just protect users—they generate the feedback data you need to improve the system.
Personalization Patterns and Conversational UX Design
Personalization is one of AI's most powerful product applications—and one of the trickiest to get right from a UX perspective. The core tension is between relevance and creepiness. Users want experiences tailored to their preferences but feel uncomfortable when the system seems to know too much about them. The best personalization feels serendipitous rather than surveillance-driven.
Effective personalization UX follows several principles. Transparency: tell users what data drives personalization ("Because you watched X...") and let them see and edit their profile. Control: provide granular settings—not just on/off, but the ability to tune individual preference signals. Cold start solutions: new users have no history, so provide sensible defaults, ask a few onboarding questions, or use demographic/contextual signals until behavioral data accumulates. Escape hatches: let users easily break out of filter bubbles ("Show me something different") and reset personalization.
Conversational UX design for AI chat interfaces requires thinking about dialogue flow, memory, and repair. Good conversational UX handles multi-turn context (remembering what was discussed earlier in the conversation), ambiguity resolution (asking clarifying questions rather than guessing), topic switching (gracefully handling when the user changes subjects), and repair mechanisms (recovering when the conversation goes off track). Design conversation flows that feel natural but guided—use suggested prompts, follow-up buttons, and contextual actions to help users who don't know what to ask.
A critical but often overlooked aspect of conversational UX is conversation memory across sessions. Should the AI remember past conversations? Users generally want continuity for task-oriented interactions ("Continue where we left off with my project plan") but may find it unsettling for casual interactions. Provide clear memory controls: what the AI remembers, how to view it, and how to delete it. This is both a UX requirement and increasingly a regulatory one under privacy frameworks like GDPR.
Finally, consider multi-modal conversational UX—combining text, voice, images, and structured UI elements within a single conversation. The most effective AI interfaces aren't pure chat; they weave in rich media, interactive cards, forms, and visualizations as appropriate. Slack's message blocks, WhatsApp's interactive buttons, and ChatGPT's code execution are all examples of enriching conversational UX beyond plain text.
Accessibility and Inclusive Design in AI Products
Accessibility in AI products has unique challenges beyond standard web accessibility (WCAG compliance). AI features often introduce novel interaction patterns—streaming text, voice interfaces, gesture-based controls, dynamically generated content—that don't map neatly to existing accessibility guidelines. As a PM, you need to advocate for inclusive design from the start, not bolt it on after launch.
Screen reader compatibility is often broken by AI features. Streaming text that appears word by word can overwhelm screen readers with constant updates. Dynamic suggestions that appear and disappear can confuse assistive technology. Solutions include providing a "complete" version of streamed content once generation finishes, using ARIA live regions appropriately (polite vs assertive), and ensuring all interactive elements (accept suggestion, regenerate, thumbs up/down) are properly labeled and keyboard-accessible.
Voice interfaces and speech-to-text create their own accessibility considerations. They're a lifeline for users with motor disabilities but can be challenging for users with speech differences, accents, or speech disabilities. Design voice AI to handle diverse speech patterns, offer alternative input methods alongside voice, and never make voice the only interaction path. For text-to-speech output of AI-generated content, ensure the generated text is well-structured for auditory consumption—LLMs can produce content that reads well visually but is confusing when heard aloud.
Cognitive accessibility is perhaps the most underserved dimension. AI interfaces often present complex information—confidence scores, multiple options, lengthy generated text—that can overwhelm users with cognitive disabilities. Design for progressive disclosure: show the simplest, most actionable version first, with details available on demand. Use plain language in AI explanations. Provide undo/redo for AI actions. Minimize time pressure—don't auto-dismiss suggestions before users have time to process them. These practices benefit all users, not just those with disabilities, making cognitive accessibility a universal design win.
Also consider algorithmic fairness as an accessibility concern. If your AI performs worse for certain demographic groups, it's creating a digital accessibility barrier. Regularly audit model performance across user segments, particularly for historically marginalized groups, and treat performance disparities as accessibility bugs with the same severity as a broken screen reader experience.