UiPath Documentation
maestro
latest
false
Maestro 用户指南
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。

语音智能体

附加到实时通话并与通话者对话的语音智能体。

操作​

将智能体附加到实时电话中并与呼叫者通话。音频直接流式传输到实时语音模型,允许调用者打断智能体语音。直接在节点上配置模型、角色、提示词、工具、上下文锚定索引和升级。

两个调用方向都使用相同的三步形状:

方向节点序列
呼入电话来电→语音代理→结束通话
呼出电话创建去电→语音智能体→结束通话

该节点在节点面板的智能体类别中标记为语音智能体。

配置参考​

字段描述
模型实时语音模型。
角色所选模型的语音。
系统提示智能体的角色、其长期指令以及应如何关闭对话。
温度截止日期:0、1
令牌最大数量对话的最大令牌数。
呼叫上下文此智能体附加到的调用。将其绑定到上游 callContext — 例如 $vars.createOutgoingCall1.output.callContext。

输出变量​

您可以选择在属性面板的输出部分中配置结构化输出变量。它们可用于设置面向目标的变量或路由变量,以在流内的下游节点中使用。

您声明的每个输出变量将成为智能体输出对象上的一个字段,以 $vars.<agentName>.output.<name> 引用。为每个变量指定名称和类型,然后在变量的说明字段中指示智能体如何填充该字段。输出生成由智能体的系统提示词和输出变量描述共同驱动。

智能体会在结束语音会话时填充这些字段。

两种最常见的用途是通话摘要和交接。对于摘要,请声明输出(例如 call_summary),并使用其描述告诉智能体总结调用。智能体在结束会话时会写入该字段,下游节点将其读取为 $vars.voiceAgent1.output.call_summary。

工具​

将工具连接到工具句柄,为智能体提供在推理时可以调用的功能。智能体在其循环中决定是否以及何时调用每个已连接的工具。每个工具都带有描述,告诉智能体该工具的用途,因此请在工具公开时编写清晰的描述。

为语音智能体设计工具时:

  • 调用者会在每次工具调用期间处于等待状态,因此请保持每个工具的作业任务小而速度快。
  • 智能体在同一轮中调用的工具一起返回——最慢的工具设置了调用者听到静默的时长。
  • 超时后,智能体可能会报告失败并重试,因此请为工具设为幂等。在 180 秒内未返回的工具调用将超时。

工具可用性​

工具类别可用性
RPA 流程可用
API 工作流可用
Activities (活动)可用
其他流程 (Maestro)可用
Process Orchestration可用
编码函数可用
智能体(调用已发布的独立智能体)可用
Integration Service 连接器可用
上下文锚定索引可用
内置工具(分析文件、Deep RAG、批量转换)不可用
升级不可用
模型上下文协议 (MCP) 工具不可用
A2A(智能体到智能体)不可用
IXP(文档提取)不可用

内置语音工具​

每个语音智能体都可以访问两个内置工具。这些内容已包含在流画布中,但未显示:

  1. 双音多频率 (DTAF) 工具:用于按下电话键盘上的数字,这些键盘可用于导航外部电话树
  2. 结束会话:用于在不结束通话的情况下退出对话。适用于语音智能体交接。

工具防护机制​

工具级护栏设置在连接到语音代理节点的工具上。您可以筛选或阻止工具的输入参数。在附加到语音代理工具句柄的工具上配置防护栏。请参阅工具防护机制。

交接​

结束语音会话不同于结束通话。当智能体结束会话时,它会退出通话,但保持线路开启:智能体填充其输出变量,并且流会移至下一个节点。只有结束调用节点和调用者可以挂断通话。

这就是使交接成为可能的原因。链接语音智能体节点,并将其全部绑定到同一个调用上下文。每个智能体在完成后结束自己的会话,并且只有最后一个路径到达“结束调用” ,因此调用者将始终保持在线状态。

交接包含两个部分:

  • 路由到正确的智能体。为第一个智能体提供一个输出变量(例如 handoff),并使用其描述告知智能体要设置哪个值。使用切换节点对该值进行分支,因此每个案例都会指向处理它的智能体。
  • 转移上下文。接收智能体对先前所述的内容一无了解。在其系统提示词 ( $vars.voiceAgent1.output.call_summary ) 中引用第一个智能体的调用摘要输出,或者在分支上添加一个“获取对话上下文”节点并引用副本。请参阅通话记录。
备注:

不支持将呼叫移交给人员。没有实时调用转接。

通话记录​

要在调用后读取副本,请打开调试执行追踪记录或Orchestrator 作业追踪记录。请参阅可观察性。

要在流程中使用副本:

  1. 添加一个“获取对话上下文”节点。
  2. 传递 $vars.<incomingOrOutgoingCallNodeId>.output.callContext.conversationId。例如,<incomingOrOutgoingCallNodeId> 可以是 createOutgoingCall1。
  3. 将副本引用为 $vars.<getConversationContextNodeId>.output.conversationContext.messages。例如,getConversationContextNodeId 可以是 getConversationContext1。

例如,您可以将副本传递给自主智能体进行处理:

常见问题​

智能体正常对话,但从不运行工具。Orchestrator 文件夹中不包含分配了无服务器计算机的无人值守或默认机器人,因此每次工具调用都将作为错误返回,而智能体会保持对话。将机器人添加到文件夹中,然后再次调用。请参阅Orchestrator 文件夹要求。

调用在对话完成之前结束,但没有错误。智能体在对话中结束了自己的会话,流程转到“结束调用” 。这可能是一个提示问题,语音智能体认为它已完成对呼叫者的帮助,并决定结束会话。

智能体停止运行或生成静态读取数字字符串。在 Gemini Live温度为0时,长数字字符串可能会停止运行或声音失真。略微提高温度。如果问题仍然存在,请尝试其他模型。

智能体附加失败,显示工具架构错误。Gemini 模型接受的架构子集范围较小。展平工具的输入架构,或使用平面输入架构将工具包装在 API 工作流中,并将工作流用作工具。

呼叫已连接,无人通话,大约 25 秒后挂断。从未附加智能体的调用将在大约 25 秒的长时间静默后结束。将调用上下文绑定到传入调用触发器或创建传出调用节点中的callContext 。

  • 操作​
  • 配置参考​
  • 输出变量​
  • 工具​
  • 工具可用性​
  • 内置语音工具​
  • 工具防护机制​
  • 交接​
  • 通话记录​
  • 常见问题​
  • 相关页面​

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新