デフォルトでは、プレイブックは LLM を使用して会話を制御し、アクションを実行し、エンドユーザーに応答します。エージェントの動作をより明示的に制御する必要がある場合は、このガイドで説明するフローまたは条件付きアクションを使用できます。
条件付きアクションは、ハンドブックの構成オプションです。特定のアクション(特定のメッセージで返信する、外部ツールを呼び出す、別のハンドブックを呼び出す、その他の指定したアクションを実行するなど)を呼び出す会話トリガーと条件を設定できます。
トリガー
条件付きアクションが適用されるかどうかを判断する最初のステップであるトリガーを定義できます。以下では、トリガーの種類と各種類の具体的なトリガーについて説明します。
- ライフサイクル ステージ
- Playbook start: ハンドブックが初めて開始されたときにトリガーされます。
- LLM が次のアクションを決定する前: LLM が次のアクションを予測する前に毎回トリガーされます。
- LLM が次のアクションを実行する前: LLM がアクションを実行する前に毎回トリガーされます。
- イベント
- カスタム イベント
- ユーザーからの入力なし
条件
トリガーが発生すると、2 番目のステップとして、必要に応じて指定された条件を評価します。条件は、フロー ルートで使用される条件構文を使用して指定します。
条件が指定されていない場合、トリガーのみがアクションの開始に使用されます。
パラメータと最後のアクションまたは次のアクションを参照するには、次の構文を使用します。
- セッション パラメータ
$session.params.PARAMETER_NAME
- ハンドブックの入力パラメータ
$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 アクションをオーバーライドする: ツールの使用、ハンドブックの呼び出し、ハンドブックの完了、フローの呼び出し、ハンドブックの遷移、フローの遷移
- 音声設定を変更する: モデル名、音声なしのタイムアウト、エンドポイントの感度、適応
- 割り込み通話の有効化
- 部分的なレスポンスの再生をキャンセルできるようにする
- 通話コンパニオンの SMS を送信する
- DTMF を有効にする