智能体体验指南 — 终端用户体验
人类能否通过智能体与你的服务交互?
前几个阶段关注的是智能体的旅程:找到你、理解你、认证、集成以及从错误中恢复。但智能体并非孤立存在。它们代表人类行事,在关键时刻——支付、确认、视觉决策——智能体必须将控制权交还给人类。
如果这个交接环节出了问题,整个循环就会崩溃。智能体完成了 90% 的工作,但最后 10%——人类需要查看、验证或批准的部分——无声地失败了,或者产生了糟糕的体验。
终端用户体验(EUX)就是让这个交接变得无缝。这是智能体就绪的最终阶段,也是最容易被忽视的阶段。
问题所在
当智能体到达需要人类介入的步骤时,会以可预测的方式出问题:
- 智能体发送一个原始 URL,在手机上打开桌面端登录页面,字体极小,且没有任何关于智能体正在做什么的上下文。
- 确认流程需要重新认证,尽管智能体已经代表用户完成了认证。
- 交接没有上下文——用户看到“确认你的操作”,却不知道是什么操作、为什么、以及智能体已经做了什么。
- 用户看不到智能体做了什么——没有活动日志、没有仪表盘、无法在批准前审查智能体的工作。
- 智能体无法恢复——在人类完成交接后,智能体丢失了所有上下文,必须重新开始。
智能体-人类交接的原则
1. 上下文转移,而非仅仅转移控制权
当智能体向人类交接时,人类应该看到智能体正在做的所有事情、原因以及需要什么。这不只是一个 URL 重定向——这是一次上下文转移。
糟糕的交接:
智能体:"我需要你确认。请访问 https://app.example.com/confirm"
良好的交接:
智能体:"我已为 Acme Corp 草拟了一份 $45,000 的报价。
该交易包含 12 个月的许可及高级支持。
请批准,访问:https://app.example.com/confirm/deal_abc123
此链接包含你的上下文,15 分钟后过期。"
该 URL 包含会话令牌、正在确认的内容上下文以及时间窗口。
2. 对话中渲染 UI(MCP 应用)
智能体到人类交接的新兴标准是 MCP 应用(MCP Apps)——智能体可以直接在对话中渲染交互式 UI,而不是将用户发送到外部页面。
MCP 应用(MCP Apps)让智能体可以呈现:
- 表单用于用户确认,预填数据
- 仪表盘在做决定前显示当前状态
- 审批工作流用户可内联点击”确认”或”拒绝”
- 丰富预览显示智能体即将执行的操作
这通过 MCP 中的 ui:// 资源和 _meta.ui 工具元数据实现,或通过 OpenAI Apps SDK 实现:
{
"name": "approve_deal",
"description": "Approve a deal with embedded confirmation UI",
"meta": {
"ui": {
"type": "form",
"title": "Approve Deal",
"fields": [
{ "name": "amount", "label": "Deal Amount", "type": "currency", "value": 45000 },
{ "name": "company", "label": "Company", "type": "text", "value": "Acme Corp" }
],
"actions": [
{ "label": "Approve", "type": "submit" },
{ "label": "Reject", "type": "cancel" }
]
}
}
}
3. 活动透明度
用户应该能够看到他们的智能体在做什么。这意味着:
- 活动日志——智能体执行的每个动作,包含时间戳和结果
- 状态快照——智能体交接时正在处理的内容
- 审计追溯——谁授权了什么、何时、代表谁
- 撤销能力——在时间窗口内撤销智能体动作的能力
{
"agent_actions": [
{ "action": "search_contacts", "params": {"query": "acme"}, "result": "3 contacts found", "timestamp": "2025-01-15T10:00:00Z" },
{ "action": "create_deal", "params": {"name": "Acme Enterprise", "value": 45000}, "result": "deal_abc123 created", "timestamp": "2025-01-15T10:00:05Z" },
{ "action": "approve_deal", "params": {"deal_id": "deal_abc123"}, "result": "AWAITING_USER_CONFIRMATION", "timestamp": "2025-01-15T10:00:06Z" }
],
"handoff_context": {
"summary": "Agent created deal #deal_abc123 for Acme Corp ($45,000). Awaiting your approval.",
"confirm_url": "https://app.example.com/confirm/deal_abc123?token=xyz",
"expires_at": "2025-01-15T10:15:06Z"
}
}
4. 可恢复的工作流
在人类完成交接步骤后,智能体应该能够从离开的地方恢复——而不是重新开始。
这需要:
- 工作流状态持久化——智能体的工作上下文被保存,而不仅仅在内存中
- 会话恢复——智能体可以在人类打断后重新拾起工作流
- 通知机制——当人类完成他们的部分时,智能体得到通知
- 优雅的超时处理——如果人类没有及时响应,智能体可以重试或干净地取消
5. 交接中的品牌一致性
当智能体向人类交接时,体验应该感觉属于同一产品:
- 视觉一致性——确认页面与产品的设计语言匹配
- 上下文保留——用户看到智能体正在做什么,而不是一个通用的”确认你的操作”页面
- 返回路径——确认后,用户可以查看结果并可选地返回到智能体对话
- 移动端响应式——许多交接发生在手机上;页面必须在小型屏幕上正常工作
实操步骤
- 为每个需要人类确认的动作设计交接流程(1-2 周)
- 为确认工具实现 MCP 应用(MCP Apps)元数据(每个工具 2-3 天)
- 为所有智能体执行的动作添加活动日志(1-2 周)
- 构建具有状态持久化的可恢复工作流(1-2 周)
- 创建包含智能体上下文的交接页面,而不是裸露的确认表单(1 周)
- 在手机上测试——大多数交接发生在通知到达用户手机时(2-3 天)
衡量终端用户体验
- 每个需要人类确认的动作都有清晰的、带上下文的交接流程
- 交接 URL 包含带过期时间的上下文令牌
- 确认页面显示智能体在做什么以及为什么
- 用户在确认前可以审查智能体的活动
- 智能体可以在人类确认后恢复工作流
- 智能体活动有日志记录且可审计
- 破坏性动作在时间窗口内具有撤销能力
- 可用 MCP 应用(MCP Apps)或等效的 UI 资源进行内联确认
- 交接页面是移动端响应式的
- 确认后,用户可以查看结果并返回到智能体
下一步
至此,智能体就绪的六个阶段全部完成。接下来的章节涵盖高级模式和实践评估。