AI 产品 UX 设计模式
AI 导读
AI 产品 UX 设计模式 从加载态到信任构建:AI 原生交互的 6 大核心模式与工程实践 为什么 AI 产品需要专属 UX 模式 传统软件的交互是确定性的:用户点击按钮,系统在可预测的时间内返回可预测的结果。AI 产品打破了这个契约——响应时间不确定、输出质量不确定、甚至"正确答案"本身就不存在。 这意味着我们不能简单复用传统 UX 模式,而需要一套专门为不确定性设计的交互范式。 本文梳理 6...
AI 产品 UX 设计模式
从加载态到信任构建:AI 原生交互的 6 大核心模式与工程实践
为什么 AI 产品需要专属 UX 模式
传统软件的交互是确定性的:用户点击按钮,系统在可预测的时间内返回可预测的结果。AI 产品打破了这个契约——响应时间不确定、输出质量不确定、甚至"正确答案"本身就不存在。
这意味着我们不能简单复用传统 UX 模式,而需要一套专门为不确定性设计的交互范式。
本文梳理 6 大 AI 产品核心 UX 模式,每个模式都附带工程实现参考。
一、加载态设计(Loading States)
1.1 问题本质
AI 推理耗时从数百毫秒到数十秒不等。用户在等待时如果只看到一个旋转的圆圈,焦虑感会急剧上升,且无法判断系统是否还在工作。
1.2 设计模式矩阵
| 模式 | 适用场景 | 用户感知 | 实现复杂度 |
|---|---|---|---|
| 骨架屏(Skeleton) | 结果结构可预知 | 低焦虑 | 低 |
| 流式输出(Streaming) | 文本/代码生成 | 即时反馈 | 中 |
| 进度叙事(Progress Narrative) | 多步推理链 | 透明感 | 中 |
| 渐进渲染(Progressive Render) | 图像/视频生成 | 期待感 | 高 |
| 乐观更新(Optimistic Update) | 高确定性操作 | 即时响应 | 中 |
1.3 流式输出工程实现
// Server-Sent Events streaming pattern
async function* streamResponse(prompt: string) {
const stream = await model.generateStream(prompt);
for await (const chunk of stream) {
yield {
type: 'token',
content: chunk.text,
metadata: {
tokensGenerated: chunk.index,
estimatedTotal: chunk.estimatedTotal
}
};
}
yield { type: 'done', totalTokens: stream.totalTokens };
}
// Frontend consumption with cursor animation
function StreamingText({ stream }: { stream: ReadableStream }) {
const [text, setText] = useState('');
const [isStreaming, setIsStreaming] = useState(true);
useEffect(() => {
const reader = stream.getReader();
const decoder = new TextDecoder();
(async () => {
while (true) {
const { done, value } = await reader.read();
if (done) { setIsStreaming(false); break; }
setText(prev => prev + decoder.decode(value));
}
})();
}, [stream]);
return (
<div className="prose">
{text}
{isStreaming && <span className="animate-pulse">|</span>}
</div>
);
}
1.4 进度叙事模式
当 AI 执行多步推理时,向用户展示当前步骤:
[搜索相关文档...] --> [分析 3 个数据源...] --> [生成结论...]
关键原则:
- 步骤描述用动词开头,让用户感知系统在"做事"
- 每步显示预估耗时(即使不精确)比完全不显示好
- 步骤数量控制在 3-5 个,太多反而制造焦虑
二、不确定性传达(Uncertainty Communication)
2.1 核心挑战
AI 的输出有置信度差异,但多数产品要么完全隐藏这个信息(让用户盲目信任),要么用技术语言展示(让用户困惑)。
2.2 四级置信度表达框架
┌─────────────────────────────────────────────────┐
│ Level 4: 高置信(> 95%) │
│ 表现: 直接陈述,无修饰词 │
│ 示例: "该发票的税率为 13%" │
├─────────────────────────────────────────────────┤
│ Level 3: 中高置信(80-95%) │
│ 表现: 轻度限定词 │
│ 示例: "根据分析,该发票的税率很可能是 13%" │
├─────────────────────────────────────────────────┤
│ Level 2: 中低置信(50-80%) │
│ 表现: 明确标注 + 备选方案 │
│ 示例: "该税率可能是 13% 或 9%,建议核实" │
├─────────────────────────────────────────────────┤
│ Level 1: 低置信(< 50%) │
│ 表现: 不做判断 + 引导人工介入 │
│ 示例: "无法确定税率,请手动查验或联系税务顾问" │
└─────────────────────────────────────────────────┘
2.3 视觉置信度指示器
| 置信度区间 | 视觉元素 | 颜色建议 | 交互行为 |
|---|---|---|---|
| 95%+ | 实心标签 | 绿色 | 直接展示 |
| 80-95% | 虚线边框 | 蓝色 | 悬停显示来源 |
| 50-80% | 黄色高亮 | 黄色 | 展开显示备选 |
| <50% | 警告图标 | 橙色/红色 | 强制人工确认 |
2.4 语言模板
不要让模型自己决定措辞——通过后处理层强制规范化:
def format_with_confidence(result: str, confidence: float) -> str:
if confidence >= 0.95:
return result
elif confidence >= 0.80:
return f"根据分析,{result}(置信度: {confidence:.0%})"
elif confidence >= 0.50:
return f"[需确认] {result}(置信度: {confidence:.0%},建议核实)"
else:
return f"[无法确定] 系统无法给出可靠结论,建议人工查验。参考信息:{result}"
三、错误处理 UX(Error Handling)
3.1 AI 产品的错误分类
传统软件的错误是二元的(成功/失败),AI 产品的"错误"有灰度:
| 错误类型 | 描述 | 用户感知 | 处理策略 |
|---|---|---|---|
| 硬错误 | API 超时、模型崩溃 | "系统坏了" | 重试 + 降级 |
| 软错误 | 低质量输出、幻觉 | "回答不对" | 反馈 + 重新生成 |
| 边界错误 | 超出能力范围 | "它不会" | 引导 + 替代方案 |
| 安全拦截 | 内容审核触发 | "不让我问" | 解释 + 改写建议 |
3.2 优雅降级链
主模型(GPT-4/Claude)
│
┌─────┴─────┐
│ 超时/失败 │
└─────┬─────┘
▼
备选模型(GPT-3.5/Gemini Flash)
│
┌─────┴─────┐
│ 超时/失败 │
└─────┬─────┘
▼
缓存结果(相似问题)
│
┌─────┴─────┐
│ 无命中 │
└─────┬─────┘
▼
静态兜底(FAQ/帮助文档)
3.3 错误消息三要素
每条错误消息必须包含:
- 发生了什么(不是技术术语)
- 为什么发生(简要原因)
- 用户能做什么(具体行动)
对比:
// BAD
"Error 503: Service Unavailable"
// GOOD
"AI 正在处理大量请求,暂时无法响应。
通常会在 1-2 分钟内恢复。
[自动重试] [使用快速模式] [稍后提醒我]"
四、信任构建(Trust Building)
4.1 信任的三个支柱
信任
/ | \
/ | \
能力 透明 可控
↓ ↓ ↓
准确 可解释 用户有
可靠 可追溯 最终决定权
4.2 来源引用模式
当 AI 输出基于特定来源时,必须在界面上关联引用:
## AI 回答
根据《企业所得税法》第二十八条[1],符合条件的小型微利企业,
减按 20% 的税率征收企业所得税[2]。
---
[1] 《中华人民共和国企业所得税法》第二十八条
[2] 国家税务总局公告 2023 年第 6 号
4.3 渐进信任模型
| 阶段 | 用户心态 | 系统行为 | 决策权 |
|---|---|---|---|
| 初始 | "AI 靠谱吗?" | 全部人工确认 | 用户 100% |
| 验证 | "大部分还行" | 高置信自动执行 | AI 30% / 用户 70% |
| 信任 | "放心用" | 仅异常需确认 | AI 70% / 用户 30% |
| 委托 | "全交给你" | 自动执行 + 报告 | AI 95% / 用户 5% |
关键:永远不跳过阶段。新用户必须从"初始"开始,即使 AI 能力已经很强。
4.4 可回退设计
用户必须在任何时刻都能:
- 查看 AI 的完整推理过程
- 修改或覆盖 AI 的决策
- 回退到 AI 介入前的状态
- 关闭 AI 辅助,回到手动模式
五、渐进披露(Progressive Disclosure)
5.1 信息分层架构
Layer 1: 结论(一句话回答)
└── Layer 2: 摘要(关键论据,3-5 条)
└── Layer 3: 详情(完整分析)
└── Layer 4: 原始数据(模型输出/来源文档)
5.2 实现模式
function AIResponse({ result }: { result: AIResult }) {
const [depth, setDepth] = useState(1);
return (
<div>
{/* Layer 1: Always visible */}
<h3>{result.conclusion}</h3>
{/* Layer 2: Key points */}
{depth >= 2 && (
<ul>
{result.keyPoints.map(p => <li key={p.id}>{p.text}</li>)}
</ul>
)}
{/* Layer 3: Full analysis */}
{depth >= 3 && <div className="prose">{result.fullAnalysis}</div>}
{/* Layer 4: Raw data */}
{depth >= 4 && <pre>{JSON.stringify(result.rawData, null, 2)}</pre>}
<button onClick={() => setDepth(d => Math.min(d + 1, 4))}>
展开更多细节
</button>
</div>
);
}
5.3 何时使用哪个层级
| 用户角色 | 默认层级 | 场景 |
|---|---|---|
| 普通用户 | Layer 1 | 日常查询 |
| 业务人员 | Layer 2 | 决策辅助 |
| 专业人员 | Layer 3 | 审核验证 |
| 开发/审计 | Layer 4 | 调试/合规 |
六、AI 原生交互模式
6.1 提示词辅助
用户不知道怎么"问" AI,是 AI 产品最大的使用障碍。
┌──────────────────────────────────────────┐
│ 你可以这样问我: │
│ │
│ [帮我分析这张发票的合规风险] │
│ [这笔交易的增值税税率应该是多少] │
│ [比较一般纳税人和小规模纳税人的区别] │
│ │
│ 或者直接输入你的问题... │
│ ┌──────────────────────────────┐ │
│ │ │ │
│ └──────────────────────────────┘ │
└──────────────────────────────────────────┘
6.2 输入增强模式
| 模式 | 描述 | 适用场景 |
|---|---|---|
| 自动补全 | 基于上下文预测输入 | 搜索/命令式输入 |
| 意图识别 | 模糊输入映射到结构化操作 | 自然语言命令 |
| 多模态输入 | 图片/文件 + 文本混合 | 文档分析/OCR |
| 上下文注入 | 自动附加相关信息 | 基于当前页面上下文 |
| 引导式问答 | 通过选择逐步缩小范围 | 复杂查询/新手引导 |
6.3 反馈闭环
每次 AI 输出后都应提供反馈入口:
┌─────────────────────────────────────┐
│ AI 回答内容... │
│ │
│ ───────────────────────────────── │
│ 这个回答对你有帮助吗? │
│ [准确] [部分准确] [不准确] │
│ │
│ [复制] [重新生成] [编辑后重试] │
└─────────────────────────────────────┘
反馈数据用途:
- 短期:用户当次体验优化(重新生成/编辑)
- 中期:个性化模型微调信号
- 长期:产品迭代方向数据支撑
设计检查清单
在 AI 产品交付前,逐项核对:
Loading States:
[ ] 所有 AI 调用有明确的加载指示
[ ] 流式输出已实现(文本场景)
[ ] 超时有兜底方案(> 30s 场景)
Uncertainty:
[ ] 置信度有视觉化表达
[ ] 低置信结果有明确标注
[ ] 用户知道何时需要人工确认
Error Handling:
[ ] 错误消息包含"发生了什么 + 为什么 + 怎么办"
[ ] 降级链已配置并测试
[ ] 安全拦截有友好解释
Trust:
[ ] 来源引用已关联
[ ] 用户可查看推理过程
[ ] 用户可覆盖 AI 决策
Progressive Disclosure:
[ ] 信息分层不超过 4 层
[ ] 默认层级匹配目标用户
[ ] 展开/折叠交互流畅
AI-Native Interaction:
[ ] 提供示例提示词
[ ] 反馈闭环已闭合
[ ] 多模态输入已支持(如适用)
总结
AI 产品 UX 的核心命题是管理不确定性。六大模式的本质是:
- 加载态 —— 让等待变得可预期
- 不确定性传达 —— 让置信度可感知
- 错误处理 —— 让失败可恢复
- 信任构建 —— 让能力可验证
- 渐进披露 —— 让复杂度可消化
- AI 原生交互 —— 让使用门槛可降低
掌握这些模式,就掌握了 AI 产品体验的基本盘。
Maurice | maurice_wen@proton.me