如何处理 AI Avatar 体验中的等待、错误与人工交接

围绕 Avatar 之外的产品状态进行设计,而不只是关注动画,让用户清楚知道正在发生什么、下一步能做什么,以及何时由人工接手。

Spatius Team16 min read 分钟阅读
本页目录

AI Avatar 可以让产品交互更像一场对话,但它无法消除不确定性。

当一个回复需要更多处理、某项依赖不可用,或用户需要人工协助时,产品仍然必须回答几个基本问题:事情正在进行吗?已经完成了什么?我能否停止或换一种方式继续?下一步由谁负责?

这些问题应由 SaaS 产品来回答,而不应留给一张会动的脸、一个旋转指示器,或“请稍等”之类过于乐观的提示。在当前的 Spatius 架构中,Motion Server 会将 Avatar 的语音音频转换为实时动作数据,AvatarKit 则在本地渲染 Avatar。你的应用、Agent 框架或后端拥有对话逻辑,包括 ASR、LLM、TTS、轮次控制、工具、工作流状态和人工交接。Spatius 开发者文档地图说明了这一边界。

这种分工有助于体验设计。应用知道任务是否在等待、能否安全重试、是否被权限阻断,或是否已准备好转交给同事。Avatar 则可以呈现与该状态对应、并经过用户批准的消息与动作。

一位 SaaS 用户与 AI Avatar 一同查看加载、错误和人工交接状态。

核心要点

  • 围绕清晰的产品状态设计体验,而不是围绕 Avatar 当下是否正在动。
  • 你的应用应负责任务状态、工具执行、用户输入、恢复、升级处理,以及是否引入人工的决定。
  • 有效的等待状态会解释正在处理的工作范围,保留用户离开或改变方向的能力,并且不会虚构完成时间。
  • 错误提示应保留任务上下文,并提供有意义的下一步:重试、换一种方式继续、补充信息或请求帮助。
  • 在 Direct Mode 中,如果 Motion Server WebSocket 在最初 15 秒内失败,文档所述的纯音频回退可以让 Avatar 音频继续播放。这是一个有限的渲染回退,而不是产品错误或人工交接设计的替代方案。

从面向用户的状态模型开始

技术事件并不等同于面向用户的状态。“工具调用已开始”“令牌已过期”或“连接丢失”或许对日志很重要,但它们并不能告诉客户下一步能做什么。

先为用户能够识别的状态命名。状态集合要足够小,这样整个团队才能在产品文案、分析、客服与 QA 中始终如一地使用它。

AI Avatar 体验的状态图,展示就绪、响应中、处理中、需要输入、恢复、人工交接和已完成状态;SaaS 应用拥有任务状态,Avatar 呈现经批准的消息。
面向用户的状态产品需要回答的问题有用的 UI 行为应由应用保留的所有权
就绪这个助手在这里能提供什么帮助?提供一个与当前场景相关的起始操作和退出路径。使用资格、功能范围和权限。
响应中Avatar 是否正在回答当前请求?展示回答,并在相关场景中提供可见的打断、静音或切换模式方式。轮次控制以及是否生成回复的决定。
处理中产品正在做什么?我还能操作吗?以恰当的细节说明任务;当工作流允许时,保留取消、返回或替代路径。工具调用、工作流进度和任务取消。
需要输入产品继续之前还缺少什么?提出明确问题,展示必填字段或选项,并保留此前上下文。校验以及是否需要更多输入的判断。
恢复什么没有完成?我现在能做什么?使用平实语言,尽可能保留任务,并提供下一步操作。错误分类、重试策略和状态保留。
人工交接谁将接手?我的任务会怎样?说明交接路径和用户下一步操作,但不要暗示一位尚不可用的人已在回复。路由、人员安排、权限和交接记录。
已完成发生了什么变化?我接下来该做什么?确认可见结果,并指向下一个有用的产品操作。任务完成的事实来源。

Avatar 不应假装知道得比产品更多。如果外部系统尚未确认某项变更,就应使用反映这一边界的语言。例如,“我正在准备该请求以供审核”与“你的请求已完成”并不相同。

将任务状态与 Avatar 呈现分开

避免令人困惑的 UX,最简单的方法是将两种模型分开:

  1. 应用任务模型决定工作流中正在发生什么。
  2. 呈现模型决定用户如何看到和听到与该任务有关的信息。

Spatius 属于该模型的呈现侧。产品可以使用其已决定让 Avatar 说出的语音音频;Motion Server 返回动作数据,AvatarKit 在本地渲染结果。产品的 Agent 栈仍负责决定何时调用工具、等待结果、重试、请求输入或引入人工。选择集成路径也做了同样的区分:Spatius 是仅提供 Avatar 的服务,而对话逻辑和轮次控制由应用或所选 Agent 框架拥有。

分层图显示 SaaS 应用拥有对话、工作流、工具、状态和交接,Avatar 呈现层接收已批准的语音音频并返回动作数据以供本地渲染。
层级它应决定什么示例问题
应用与 Agent 层用户权限、请求意图、知识与工具访问、工作流状态、恢复和路由。“该用户可以提交这个请求吗?下游系统是否已接受它?”
体验层当前任务状态适合哪种状态、控件、文字或音频消息。“用户此时应该看到进度提示、表单,还是交接选项?”
Avatar 呈现层如何在视觉上呈现已批准的 Avatar 语音。“我们选择播放的语音音频应配合什么动作?”

这不只是工程图。它能避免一种常见产品错误:真实任务处于未知状态时,却让 Avatar 做出模糊的“思考中”行为。用户首先需要产品事实,其次才是个性化表达。

让等待状态具体,但不要过度承诺

等待可以是工作流的正当组成部分。用户可能正在要求应用查询产品记录、准备草稿、运行获准的工具,或等待有自身规则的业务流程。目标不是叙述每一个内部事件,而是与用户建立可信的约定。

一个好的等待状态由三部分组成:

  1. **范围:**以用户能理解的层级说明正在处理的工作。
  2. **控制权:**展示用户仍然可以做什么——等待、取消、切换至文本、补充缺失信息,或在工作流支持时离开后返回。
  3. **结果边界:**在应用能够验证前,不要承诺结果、时间或操作已经完成。
根据任务是否可见、是否需要用户输入、是否允许取消或是否应转入人工交接来选择 AI Avatar 等待状态的决策图。

撰写真实的状态文案

不要把 Avatar 当作装饰性的加载动画。措辞应反映应用实际能够观测到的状态。

应用识别到的情形更好的面向用户消息为什么有效
获准的任务正在进行“我正在核对这个请求的详细信息。”为用户提供有意义的范围,不宣称结果。
产品需要一个值或选择“我还需要一项信息才能继续。”将暂停转化为具体的下一步。
请求需要审核或审批路径“此事项需要同事审核后才能继续。”设定边界,但不假装人工已介入。
用户无需 Avatar 也可继续“此视图暂不可用时,你可以继续通过文本完成操作。”提供替代交互,不暗示整个任务已经失败。

不要仅因为日志中有详细内部状态就把它展示给用户。“正在调用第 4 个 API(共 7 个)”这样的消息可能会令用户焦虑,却没有提供可操作的信息。反过来,如果产品即将要求用户作出决定,“正在处理”又过于模糊。请选择能帮助用户决定下一步怎么做的、最精简且真实的说明。

在等待期间保留用户自主权

某个控件是否可行取决于工作流,但设计时始终应提出以下问题:

  • 用户能否打断当前回复?
  • 他们能否在无需从头开始的情况下更正或补充信息?
  • 他们能否使用文本而不是语音或动画?
  • 他们能否离开当前视图,并回到一个持久化的任务状态?
  • 如果任务已经触发外部操作,产品能否清楚展示该操作仍在等待、已完成,还是需要审核?

答案都是应用层的决定。Avatar 应反映这些选择,而不是隐藏它们。

围绕任务而非传输层设计恢复

用户很少能从原始连接错误或模型错误中受益。他们真正需要知道的是:请求是否已收到、是否发生了变化,以及还有什么可行路径。

请围绕用户原本想完成的任务设计恢复。产品可能需要区分呈现问题和工作流问题,但不应迫使客户去调试底层架构。

恢复路径图展示 SaaS 产品保留用户任务、说明可用的下一步,并提供重试、继续使用文本、补充输入或人工交接,而不是展示原始技术错误。
受影响的内容产品首先应确定什么有用的恢复选择
回复或任务没有开始应用是否收到请求,且现在重试是否安全?重试、编辑请求,或使用另一条受支持的渠道。
工具或下游步骤未完成操作的任何部分是否已被接受或完成?展示已知状态;询问必需信息;在适当时提供审核或交接。
Avatar 呈现不可用用户能否在另一个界面中继续使用相同、已批准的内容?如产品支持,可继续使用文本或音频;不要把 Avatar 视图当成事实来源。
用户缺少访问权限或审批这是权限边界、缺少角色,还是需要人工处理的工作流?说明下一个获授权路径,而不是要求用户重复请求。

准确使用文档中的 Direct Mode 回退

当前 Direct Mode 文档说明:如果 Motion Server WebSocket 连接在 15 秒内失败,SDK 会进入纯音频回退,音频会在没有动画的情况下继续播放。当你选择 Direct Mode 时,这是一个值得理解的渲染路径行为。

这并不是完整的错误体验。你的应用仍决定用户的任务是否可用、展示何种状态、如何恢复失败的工作流步骤,以及是否适合人工交接。不要把技术回退转化为关于服务可用性或用户结果的笼统承诺。

将人工交接视为工作流,而不是一句话

“让我为你转接人工”只有在产品知道下一步会发生什么时,才是有用的文案。人工交接是一套包含路由、上下文、所有权和用户可见预期的工作流。

应用应决定何时提供或发起交接。常见触发条件可能包括用户明确要求人工、任务需要助手没有的角色、某项审批需要审核,或产品有意划出自动化范围之外的工作流。正确的触发条件取决于你的产品和政策;Avatar 不应自行编造。

人工交接图展示 SaaS 应用为被路由的同事打包当前任务状态、已批准摘要、已完成操作和下一位负责人,同时 Avatar 向用户说明下一步。

在设计对话前定义交接约定

时刻用户应理解什么应由应用拥有
交接前当前路径为何无法继续,以及有哪些替代方案。资格规则、权限,以及是否可提供交接。
交接时会发送或记录什么、谁预期采取下一步,以及用户现在能做什么。路由目的地、已批准摘要、任务状态,以及产品需要的任何审核或同意流程。
交接后去哪里找到请求,以及已知的状态是什么。下一步操作的所有权、更新和事实来源。

让上下文可转移、可复核。一份有用的交接记录通常包括用户表述的目标、当前任务状态、用户已提供的信息、产品已确认的操作,以及下一项问题或负责人。这并不意味着应自动复制每一段对话或内部备注。应用应决定交接所需的最少信息、用户应看到什么,以及内部政策有哪些要求。

约束 Avatar 的表述边界

Avatar 可以说产品正在交接、请求审批,或提供支持路径。但除非应用可以验证这些事实,它不应暗示服务级响应时间、保证人工可用,或暗示同事已经审核了某事。

例如:

  • 建议:“我可以根据你填写的详细信息,为支持团队创建一项请求。”
  • 避免:“专家正在审核此事。”除非应用已确认这一状态。

这种准确性有助于支持和产品团队调查实际发生了什么,也避免打造一种听起来令人安心、却不给用户可见下一步的体验。

分层实现体验

在从聚焦试点中学习前,你不必完善每一种可以想象的失败情况。但你需要一个共享模型,以避免误导性的上线。

1. 定义一套精简的状态词汇

就本文所列状态的名称、进入条件、退出条件和控件达成一致,并在 UI 组件、音频脚本、支持文档和遥测中复用它们。

2. 将真实产品事件连接到这些状态

将应用中的持久事件——而不是动画事件——映射到面向用户的体验。例如,工具结果、权限检查或交接记录都可能改变状态;Avatar 消息随该决定而变化。

3. 准备替代呈现路径

决定语音或 Avatar 呈现不可用时用户会看到什么。这可能是文本、纯音频状态、任务记录或其他产品界面。正确选项取决于你的产品;不要假设视觉 Avatar 是工作流保持可理解性的必要条件。

4. 使用真实任务状态测试恢复

测试尚未开始的请求、部分完成的请求、需要输入的请求、需要审批的请求,以及必须交给人工的请求。不仅要测试消息,还要测试产品是否保留了正确的上下文和下一步操作。

5. 选择符合运行时所有权的集成路径

Spatius 支持 Direct Mode、平台集成和 Backend Mode。集成指南说明了每条路径中哪个组件连接到 Motion Server。选择适合团队现有运行时所有权的路径,然后围绕产品工作流——而非通用协议图——设计面向用户的状态。

上线前检查清单

在向更广泛的受众开放 Avatar 体验前,请与产品、工程、支持团队及底层工作流的负责人一起审阅以下问题:

  • 用户能否区分回复、进行中的任务、输入请求和人工交接?
  • 每个等待状态是否都有真实的范围说明和至少一个可理解的下一步?
  • 如果产品显示“已完成”,哪一个经过验证的应用事件支撑该信息?
  • 用户能否在不丢失原本任务的情况下从呈现问题中恢复?
  • 重试控件是否避免重复执行或掩盖可能已被接受的操作?
  • 人工交接路径是否真实、有人负责,并在创建后对用户可见?
  • Avatar 脚本是否避免声称应用无法验证的响应时间、可用性、审批或结果?
  • 如果使用该集成路径,是否已将 Direct Mode 的纯音频回退与应用层任务和错误状态分开测试?

应避免的常见错误

将动画视为进度证明

业务工作流暂停、受阻或完成时,Avatar 仍可能继续做手势。应使用产品状态——而不仅仅是动画——来决定告诉用户什么。

让“重试”抹去客户已完成的工作

如果用户已经提供信息或启动了任务,请在安全的情况下保留相关上下文。重试不应在没有说明的情况下,变成要求用户重复整段交互。

用友好人格掩盖错误

温和的语言可以减少摩擦,但不能替代明确的状态和控件。说明已知情况,避免猜测,并让下一条路径可见。

假设纯音频回退解决了工作流问题

Direct Mode 回退涉及的是在一个狭义连接失败后如何呈现音频和动作。它并不能告诉用户工具操作是否成功、请求是否持久化,或同事是否会接手。

提供没有负责人路径的人工交接

如果交接选项不创建记录、没有把用户送往任何地方,或承诺了没人同意提供的响应,它就会令人沮丧。请在撰写 Avatar 台词之前先设计路径和所有权。

常见问题

Spatius 会决定何时显示等待状态或将任务交给人工吗?

不会。Spatius 将 Avatar 语音音频转换为动作数据,并由 AvatarKit 在本地渲染 Avatar。你的应用、Agent 框架或后端拥有对话逻辑、工作流状态、轮次控制、工具和人工交接决策。参见开发者文档地图

如果 Direct Mode WebSocket 连接失败,会发生什么?

根据当前 Direct Mode 文档,如果连接在 15 秒内失败,SDK 会进入纯音频回退,因此音频会在没有动画的情况下继续播放。你的产品仍应提供自己的任务状态、恢复控件,以及支持或交接行为。

每个等待状态都需要 Avatar 消息吗?

不需要。简洁的文本状态、表单、任务记录或安静的过渡可能比口头叙述更清晰。选择最能支持用户当前任务并保留其控制权的呈现方式。

是否应该将每一个对话细节都传给接手的人?

默认不应该。定义同事继续工作流所需的最少交接上下文,决定用户应看到什么,并与负责产品数据和支持流程的负责人审阅最终设计。

能否将本文作为可靠性、安全或合规政策?

不能。本文提供产品与 UX 指导。请与适当的技术、安全、法务和运营负责人验证你的集成、工作流、客户承诺和审查要求的具体细节。

让下一步清晰可见

最强的 AI Avatar 体验不会试图隐藏延迟、不确定性或升级处理。它们会告诉用户产品已知的信息,保留前进路径,并让 Avatar 清晰地呈现这一事实。

如果你正在为 B2B SaaS 工作流评估实时 Avatar 层,可申请 Spatius 演示,讨论适合你现有应用架构的集成路径。

来源

相关文章