Prompt Input Design
UI patterns for the prompt input — the primary interaction surface in conversational AI products. How to design inputs that help users express their intent effectively.
What is it?
Prompt input design covers the UI patterns and affordances for the text input area in AI-powered products — including chat interfaces, AI-assisted editors, and command palettes. Effective prompt input design helps users understand what to enter, how to phrase it effectively, and what the system is capable of. It is the primary UX frontier in AI products.
Why it matters
The quality of AI output is directly related to the quality of user input. Most users are not skilled prompt writers. A well-designed prompt input can significantly increase output quality by guiding users toward effective input patterns, providing context controls, and offering input scaffolding. This is one of the highest-leverage UX opportunities in AI products.
Best Practices
- Provide starter prompts, example queries, or a prompt library — most users can't generate their first prompt from scratch.
- Show context of what is available to the AI: "I can see 3 selected items," "Working in project: Marketing Q4," "Attached: report.pdf."
- Use placeholder text that suggests effective prompt structure, not generic text like "Ask a question..."
- Support multi-line input for complex prompts. Single-line inputs restrict nuanced AI requests.
- Show token/character limits clearly when they apply — especially for models with context windows.
- Provide prompt templates for common use cases: "Summarize this," "Translate to Spanish," "Rewrite formally."
- Support slash commands or @ mentions for structured AI actions — faster than prose for experienced users.
- Give the input a loading/generating state so users know their prompt is being processed.
- Support follow-up prompts naturally — users refine requests iteratively. The input should be ready to receive follow-up without clearing context.
- Allow attaching context (files, images, code snippets) where the model supports it — rich context produces better output.
Common Mistakes
- A blank input with only "Type your message here" — gives no signal of capability or effective usage.
- Single-line inputs that restrict the complexity of prompts users can enter.
- No feedback on what the AI has access to as context.
- Clearing conversation context on input submission without user awareness.
- Not supporting keyboard shortcuts (Enter to submit, Shift+Enter for new line) — standard expectations.
- No streaming output — users see a blank screen while waiting for a long generation to complete.
- No stop/cancel generation button — users must wait out a poor-direction generation.
Checklist
Research & Theory
Conversational UI Principles (Clark & Brennan, 1991)
Research on human dialogue establishing the concept of common ground — the shared knowledge and context between participants. AI prompts require establishing common ground.
Why it's relevant
Effective prompt inputs help users share context with the AI — the attached files, the selected content, the project context. Better common ground = better output.
Prompt Engineering as a Skill (OpenAI research)
Studies showing that users who learn basic prompt structuring (role + task + format + constraints) get significantly better results than users who prompt casually.
Why it's relevant
The prompt input can scaffold this skill through templates, examples, and structured input modes — increasing average output quality without requiring users to learn prompt engineering explicitly.
Real-World Examples
ChatGPT
Suggestion chips on empty state suggest use cases. Multiline textarea. File attachment for GPT-4V. Stop generation button. Custom system instructions (GPTs) provide context. Follow-ups naturally extend context.
Linear (AI features)
Slash command palette in issue creation. @ to reference team members and projects. Context is pre-loaded (current project, current milestone). Short, structured prompts produce good results.
Vercel V0
Initial prompt generates a UI component. Follow-up input is context-aware of the generated component. Side-by-side preview allows iterative refinement. Prompt history is preserved.