デフォルトでは、プレイブックは LLM を使用して会話を制御し、アクションを実行してエンドユーザーに応答します。エージェントの動作をより明示的に制御する必要がある場合は、このガイドで説明するフローまたは条件付きアクションを使用できます。
条件付きアクションは、ハンドブックのオプションの構成です。特定のメッセージで応答する、外部ツールを呼び出す、別のハンドブックを呼び出す、その他の指定されたアクションを実行するなどの特定のアクションを呼び出す会話のトリガーと条件を設定できます。
トリガー
条件付きアクションが適用可能かどうかを判断する最初のステップとなるトリガーを定義できます。以下に、トリガータイプと、各タイプの特定のトリガーについて説明します。
- ライフサイクル ステージ
- Playbook start: ハンドブックが初めて開始されたときにトリガーされます。
- LLM が次のアクションを決定する前: LLM が次のアクションを予測するたびにトリガーされます。
- LLM が次のアクションを実行する前: LLM がアクションを実行するたびにトリガーされます。
- イベント
- カスタム イベント
- ユーザーからの入力なし
条件
トリガーが発生すると、次のステップとして、必要に応じて指定された条件が評価されます。条件は、フロー ルートで使用される同じ条件構文を使用して指定します。
条件が指定されていない場合、トリガーのみがアクションの開始に使用されます。
次の構文を使用して、パラメータと前回/次のアクションを参照できます。
- セッション パラメータ
$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
操作
トリガーとオプションの条件評価が発生したら、次のアクションが実行されるように構成できます。
- エンドユーザーにレスポンスを提供する: テキスト、条件付きレスポンス、カスタム ペイロード、録音済み音声。テキストを指定する際に、
[pause]
、[pauseShort]
、[pause long]
を挿入して、エージェントの音声に一時停止を挿入できます。サンプル:How can I help you today? [pause long] I can help with...
。 - 次の LLM アクションをオーバーライドする: ツールの使用、ハンドブックの呼び出し、ハンドブックの完了、フローの呼び出し、ハンドブックの移行、フローの移行。
- 音声設定を変更する: モデル名、無音タイムアウト、エンドポイントの感度、適応。
- 割り込みを有効にする
- 部分的なレスポンスの再生をキャンセルできるようにする
- 通話コンパニオンの SMS を送信する
- DTMF を有効にする: テレフォニー統合用の DTMF を参照してください。