Amazon Q in Connect セルフサービスの Lex ボットでデフォルトやカスタムツールの会話継続を制御する方法
はじめに
Amazon Q in Connect セルフサービスにおいて、AI エージェントとの会話のラリー(継続的な対話)を制御したい場合の対応可否と方法について確認しました。
Amazon Q in Connect セルフサービスでは、以下 5 つのデフォルトツールが用意されています。
- QUESTION: 直接的な質問への回答とナレッジベースからの情報検索
- ESCALATION: エージェントへの自動エスカレーション
- CONVERSATION: 特定の意図がない場合の簡単な対話
- COMPLETE: 顧客の要件が解決した場合の会話終了
- FOLLOW_UP_QUESTION: 適切なアクションを実行する前の情報収集
これらのツールやカスタムツールはデフォルトで以下のような動作をします。
会話が継続されるツール
- QUESTION
- CONVERSATION
- FOLLOW_UP_QUESTION
会話が終了する(次のフローに遷移する)ツール
- ESCALATION
- COMPLETE
- カスタムツール(ユーザーが定義するツール)
- お問い合わせを要約させたり、お問い合わせをヒアリングしエスカレーションさせたり、特定の質問のみ回答させるなど
本記事では、これらのツールの会話継続動作を制御できるかどうか、またカスタムツールでも同様の制御が可能かどうかについて解説します。
特に以下のようなケースに対して一定の需要があるため、制御が可能かどうか確認しました。
- QUESTION での迅速なエスカレーション: 1 度回答後、解決しない場合は即座にエージェントに繋ぎたい
- カスタムツールでの FAQ 対応: ナレッジベースを使わず、固定の質問と回答セットで継続的な対話を提供したい
対応の可否
結論として、ツールの基本的な会話継続/終了動作を変更することは部分的にしか対応できません。
具体的には以下のとおりです。
制御不可能
- 会話が継続するツール(QUESTION、CONVERSATION、FOLLOW_UP_QUESTION)を1ラリーで終了させることはできません
- 会話が終了するツール(カスタムツール)は会話を継続させることができません。すべて会話が終了するタイプとして動作します
制御可能(ただし実用性は限定的)
- 会話が終了するツール(ESCALATION、COMPLETE)については、条件付き分岐を利用して会話を継続させることが可能です
- ただし、ESCALATION や COMPLETE ツールを継続させたいケースが考えにくいため、実用性は低いです
実際に需要が高いのは以下のケースですが、これらは現在対応できません。
- QUESTION ツールで1回回答後、即座にエージェントにエスカレーションしたい
- カスタムツールで継続的な対話を実現したい
実装方法
会話が終了するツール(ESCALATION、COMPLETE)については、条件付き分岐を利用して会話を継続させることが可能です。
会話終了ツールを継続させる制御方法
Lex ボットの設定で以下のように条件付き分岐を設定することで、本来会話が終了するツールでも条件によって会話を継続させることができます。
- フルフィルメントの[詳細オプション]をクリック
- [応答に成功しました]の[Add conditional branching]をクリック
- 条件に
([Tool] = "ESCALATION") OR ([Tool] = "CONVERSATION")
を記載します。また、[Next step in conversation]には、「ユーザーの入力を待つ」を記載します
- 保存し、ビルドします。
この設定により、COMPLETE または ESCALATION ツールが選択された時、会話を継続させることが可能になります。
実際のテスト結果
この条件付き分岐の制御が実際に機能することを、以下のテスト結果で確認できます。
パターン1:条件付き分岐なし
BOT: お問い合わせ内容をお伝え下さい。
Customer: ありがとうございます。解決しました。
(COMPLETE選択)
BOT: ご満足いただけましたようで、私も嬉しく思います。今後ともどうぞよろしくお願いいたします。
SYSTEM_MESSAGE: 完了
パターン2:条件付き分岐あり
BOT: お問い合わせ内容をお伝え下さい。
Customer: ありがとうございます。解決しました。
(COMPLETE選択)
BOT: ご満足いただけましたようで、私も嬉しく思います。今後ともどうぞよろしくお願いいたします。
Customer: オペレーターに変わってください。
(ESCALATION選択)
BOT: ただいま担当者におつなぎいたします。少々お待ちください。
(継続して会話)
パターン2では、COMPLETE や ESCALATION ツールが選択されたにも関わらず会話が継続されました。
制限事項
制限として、カスタムツールや会話継続ツール(QUESTION、CONVERSATION、FOLLOW_UP_QUESTION)については制御が一切できません。AWSドキュメントには記載されていませんが、これは仕様上の制限事項となります。
つまり、以下のような要望は実現できません。
- QUESTION ツールで1回回答後、即座にエージェントにエスカレーションしたい
- カスタムツールで継続的な対話を実現したい(例:ナレッジベースを使わず、固定の質問と回答のセットで QUESTION のような継続対話を提供)
最後に
Amazon Q in Connect セルフサービスにおけるツールの会話継続/終了動作は、ツールの性質によって制御可能性が決定されます。
制御可能な範囲(実際の需要は限定的)
- 会話終了ツール(ESCALATION、COMPLETE、カスタムツール)を条件付き分岐で会話継続させること
制御不可能な範囲
- 会話継続ツール(QUESTION、CONVERSATION、FOLLOW_UP_QUESTION)を1ラリーで終了させること
- カスタムツールで継続的な対話を実現すること
特に QUESTION ツールの動作を変更したい場合や、カスタムツールで継続的な対話を実現したい場合は、現在のところ対応方法がない状況です。
このようなカスタマイズが必要な場合は、Amazon Q in Connect セルフサービスではなく、Lex ボットと Lambda を使用したカスタム実装を検討する必要があります。
もし必要であれば、AWS にフィードバックしましょう。