基于条件的操作

默认情况下,剧本使用 LLM 来控制对话、执行操作和回复最终用户。如果您需要更明确地控制代理的行为,可以使用本指南中介绍的流程条件操作

条件操作是 Playbook 的可选配置。您可以设置对话触发器和条件,以便调用特定操作,例如使用特定消息进行回复、调用外部工具、调用其他 Playbook 或执行任何其他指定操作。

触发器

您可以定义触发器,这是确定条件操作是否适用的首要步骤。以下介绍了触发器类型以及每种类型的具体触发器:

  • 生命周期阶段
    • Playbook 启动:在首次启动 Playbook 时触发。
    • 在 LLM 决定其下一步操作之前:每次 LLM 预测下一步操作之前都会触发。
    • 在 LLM 执行其下一个操作之前:每次 LLM 执行操作之前都会触发。
  • 事件
    • 自定义事件
    • 无用户输入

条件

触发器发生后,第二步是评估所有可选提供的条件。条件使用与流程路由使用的条件语法提供。

如果未提供任何条件,系统将仅使用触发器来启动操作。

您可以使用以下语法引用参数和上一个/下一个操作:

  • 会话参数
    • $session.params.PARAMETER_NAME
  • Playbook 输入参数
    • $playbook.input.INPUT_FIELD_NAME
  • 上一个操作(之前执行的操作)
    • $last-action.name
    • $last-action.input.INPUT_FIELD_NAME
    • $last-action.output.OUTPUT_FIELD_NAME
    • $last-action.status
  • 后续操作(LLM 预测的后续操作)
    • $next-action.name
    • $next-action.input.INPUT_FIELD_NAME

您还可以使用系统函数

示例:

  • $session.params.current_user = null
  • $last-action.name = "query_order"
  • $last-action.name = "query_order" AND $last-action.status != SUCCESS
  • $last-action.name = "query_order" AND $last-action.output.orders = null

操作

触发器和可选条件评估发生后,您可以配置以下操作:

  • 向最终用户提供响应:文本、条件响应、客户载荷
  • 替换下一个 LLM 操作:工具使用、playbook 调用、playbook 完成、流程调用、playbook 转换、流程转换
  • 更改语音设置:模型名称、无语音超时、端点检测器灵敏度、自适应
  • 启用插播
  • 允许取消部分响应播放
  • 发送通话伴侣短信
  • 启用 DTMF