Agentic Design Principles

How to design human-centered AI agents that users trust

Overview

When building AI Agents, design is not just about code — it’s about user experience. These principles help you build agents that users trust and want to use.

Design Principles

1. Agent Space — Operating Environment

An agent operates within a defined space. How it interacts with that space determines the experience:

Connecting, not replacing:

  • Agents help connect people to each other, events, and knowledge
  • Agents are not designed to replace humans

Easily accessible, occasionally invisible:

  • Agent mostly works in the background, only appearing when needed
  • Supports multimodal: text, voice, images
  • Seamlessly transitions between foreground and background
// Example: Agent knows when to proactively suggest
interface AgentBehavior {
  // Agent monitors but only suggests when appropriate
  shouldNotify(context: UserContext): boolean;
  // Intervention level depends on context
  getInterventionLevel(urgency: number): "silent" | "nudge" | "alert";
}

2. Agent Time — Interaction Over Time

Past — Reflecting:

  • Agent analyzes historical data for more accurate results
  • Creates connections from past events to handle current situations

Present — Nudging, not notifying:

  • Instead of static notifications, agent proactively suggests based on context
  • Interactions gradually evolve in complexity

Future — Adapting:

  • Agent adapts to different devices and platforms
  • Agent learns from continuous user interaction

3. Agent Core — Design Foundation

Embrace uncertainty, but establish trust:

// Agent is always transparent about confidence
interface AgentResponse {
  answer: string;
  confidence: number;        // 0-1
  sources: string[];         // References
  disclaimer?: string;       // When confidence is low
  canHumanOverride: boolean; // Always true
}
  • Agent must acknowledge when uncertain
  • Users always have control (on/off, override)
  • Agent status must be clearly visible at all times

Practical Guidelines

1. Transparency

// ❌ Bad: Agent acts silently
await agent.execute(task); // User doesn't know what's happening

// ✅ Good: Agent reports each step
const steps = agent.plan(task);
for (const step of steps) {
  ui.showProgress(step.description);
  await agent.execute(step);
  ui.showResult(step.result);
}
  • Let users know AI is being used
  • Explain how the agent works
  • Provide feedback channels

2. Control

  • Allow customization and personalization
  • Users can specify preferences
  • Ability to forget — delete data when requested

3. Consistency

  • Familiar UI/UX across all devices
  • Standard icons (🎤 for voice, 📎 for file upload)
  • Concise responses with visual aids

Example: Designing a Travel Agent

PrincipleApplication
Transparency”Hello” message explains the agent is AI. Show prompt history. 👍👎 buttons for feedback
ControlAllow editing system prompt, writing style, banned topics. Delete conversation history
ConsistencyStandard icons for share, upload, tag. 📎 = file upload, 🖼️ = image upload

Agent Design Checklist

  • Does the agent explain it’s AI?
  • Does the agent show progress?
  • Can users override agent decisions?
  • Does the agent admit when it doesn’t know?
  • Is there a clear feedback channel?
  • Does the agent respect privacy?
  • Is the UI consistent across platforms?

Summary

  • Design agents with humans at the center: connecting, transparent, controllable
  • Agents operate across 3 dimensions: Space, Time, Core
  • 3 mandatory guidelines: Transparency, Control, Consistency
  • Always remember: a good agent is one users trust