Amazon Connect AI エージェントセルフサービスでは、Lex のセッションタイムアウト後にデフォルト AI エージェントに切り替わる場合があります
困っていること
Amazon Connect Customer の AI エージェントセルフサービスで、顧客の問い合わせに回答した後、会話内容を問い合わせ種別に分類する構成を検証しています。
問い合わせフローでは、問い合わせ対応と分類を行う AI エージェントとして InquiryClassificationAgent を指定しています。
この AI エージェントは、会話内容を分類した後、カスタム Return to Control ツール ReturnInquiryCategory を呼び出します。これにより、AI エージェントとの会話を終了し、問い合わせフローへ制御を戻す構成です。
想定している処理の流れは以下です。
InquiryClassificationAgentが顧客の質問に回答する- 顧客に追加の質問がないことを確認する
- 会話内容を「請求」「契約」「その他」などに分類する
ReturnInquiryCategoryを呼び出して問い合わせフローへ制御を戻す- 問い合わせフローが分類結果に応じて分岐する
問い合わせフローでは、Lex セッション属性の Tool が次の値になっていることを確認します。
ReturnInquiryCategory
しかし、動作確認時には Tool が次の値となり、想定した条件に一致しないことがありました。
COMPLETE
AI エージェントログを確認すると、問い合わせフローで指定した InquiryClassificationAgent ではなく、途中からデフォルトのセルフサービス AI エージェントである SelfService_JP が応答していました。
回答
今回の検証では、Amazon Lex ボットのアイドルセッションタイムアウトを超えて顧客からの応答がなかったことが原因です。
AI エージェントログでは、顧客からの応答が 1 分以上空いていました。一方、使用していた Lex ボットのアイドルセッションタイムアウトは 1 分に設定されていました。
そのため、会話中に Lex のセッションがタイムアウトし、新しい会話セッションが作成されました。新しいセッションでは、問い合わせフローで指定した InquiryClassificationAgent ではなく、デフォルトのセルフサービス AI エージェントである SelfService_JP が呼び出されました。
SelfService_JP がシステムツールの COMPLETE を呼び出したため、問い合わせフローで参照した Lex セッション属性の Tool も COMPLETE になりました。
つまり、ReturnInquiryCategory が COMPLETE に変換されたわけではありません。セッションタイムアウト後に別の AI エージェントが呼び出され、その AI エージェントが COMPLETE を実行した結果です。
AI エージェントログで確認できたこと
AI エージェントログと Lex ボットの設定から、以下の流れを確認しました。
- 問い合わせフローで指定した
InquiryClassificationAgentが応答していた - 顧客からの応答が 1 分以上空いた
- Lex ボットのアイドルセッションタイムアウトである 1 分を超えた
- 新しい会話セッションが作成された
- デフォルトの
SelfService_JPが応答した SelfService_JPがCOMPLETEを呼び出した
同じ設定で顧客からの応答を意図的に 1 分以上待った場合も、新しいセッションが作成され、デフォルトのセルフサービス AI エージェントが応答することを確認しました。
タイトルでは分かりやすく「デフォルト AI エージェントに切り替わる」と表現していますが、厳密には同じ会話セッション内で AI エージェントが切り替わったのではありません。タイムアウトによって新しい会話セッションが作成され、そのセッションでデフォルトの AI エージェントが呼び出されています。
デフォルト AI エージェントの設定
今回使用した環境では、[デフォルトの AI エージェント設定]の[セルフサービス]に SelfService_JP を指定していました。

[デフォルトの AI エージェント設定]の[セルフサービス]に SelfService_JP を指定している状態
この設定により、Lex のセッションタイムアウト後に作成された新しい会話セッションでは、SelfService_JP が呼び出されました。
問い合わせフローで個別の AI エージェントを指定していても、今回のように会話中に新しいセッションが作成されると、デフォルトのセルフサービス AI エージェントが応答する場合があります。
Lex のアイドルセッションタイムアウト
Amazon Lex は、会話セッションが終了するまで、スロットデータやセッション属性などのコンテキスト情報を保持します。
セッションを保持する時間は、Lex ボットのアイドルセッションタイムアウトで設定します。デフォルトは 5 分で、0 分から 1,440 分までの範囲で設定できます。
会話セッションが終了するまで、Amazon Lex はコンテキスト情報(スロットデータとセッション属性)を保持します。ボットのセッションの長さを制御するには、セッションタイムアウトを設定します。
今回使用した Lex ボットでは、アイドルセッションタイムアウトが 1 分に設定されていました。
音声チャネルでは、顧客が回答を考えたり、質問内容を確認したりすることで、応答までに 1 分以上かかる場合があります。そのため、短いアイドルセッションタイムアウトを設定していると、通常の会話中でも新しいセッションが作成される可能性があります。
対応方法
Lex ボットのアイドルセッションタイムアウトを、想定される顧客の応答待ち時間より長く設定します。
タイムアウト時間内に顧客が応答すれば、新しいセッションが作成されることを回避でき、問い合わせフローで指定した InquiryClassificationAgent が引き続き会話を処理できます。
ただし、アイドルセッションタイムアウトを延長しても、設定した時間を超えるとセッションは終了します。想定される顧客の応答待ち時間を踏まえて設定してください。
まとめ
Amazon Connect Customer の AI エージェントセルフサービスで、問い合わせフローから指定した AI エージェントとは異なる AI エージェントが途中から応答した場合は、Lex ボットのアイドルセッションタイムアウトを確認します。
今回の検証では、1 分のアイドルセッションタイムアウトを超えて顧客からの応答がなかったため、新しい会話セッションが作成されました。その結果、デフォルトの SelfService_JP が応答し、COMPLETE を呼び出していました。
AI エージェントログでセッションと応答した AI エージェントを確認し、実際の会話で想定される応答待ち時間に合わせて、Lex ボットのアイドルセッションタイムアウトを設定する必要があります。









