Amazon Connect AIエージェントセルフサービスが発話中にユーザーからの割り込みを禁止する方法
はじめに
Amazon Connect AIエージェントセルフサービスが発話中、咳や物音などの音が発生した場合に回答が止まってしまうことがあります。AIエージェントの回答を最後まで聞き取らせたい場合など、割り込みを禁止したい要件があることもあると思います。
デフォルトでは、以下の記事通り、AIエージェントが回答を再生中でも割り込み発話に対応しています。
今回は、AIエージェントが発話中にユーザーからの割り込みを禁止する方法を紹介します。
背景
実際に本設定が必要になった経緯を説明します。
ある検証環境で、AIエージェントが回答を読み上げている最中に、咳払いや物音などの非発話音が入り込み、回答が途中で止まってしまう事象が発生しました。
調査の結果、Lexがこの音をユーザーの発話として検知し、bargeIn=true(割り込み)として処理していたことが判明しました。
ボットは、アプリケーションが PlaybackCompletion イベントを送信する前にユーザー入力を検出すると、ユーザーがプロンプトを中断したことを知ることができます。ユーザーがボットを中断すると、ボットは PlaybackInterruptionEvent を送信します。
https://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/interrupt-bot.html
このような非発話音による誤割り込みを防技たい場合、割り込み禁止の設定が有効です。
設定方法
ConnectフローのAIエージェントセルフサービスを呼び出す [顧客の入力を取得する] ブロックのセッション属性に以下を設定します。
- 宛先キー:
x-amz-lex:allow-interrupt:*:* - 値:
False

この属性はAmazon Lex V2で定義されており、AIエージェントが再生するプロンプトをユーザーが中断できるかどうかを制御します。
ボットの割り込み動作を設定できます。属性は Amazon Lex V2 で定義されます。
x-amz-lex:allow-interrupt:<intentName>:<slotName>
Amazon Lex V2 ボットが再生するプロンプトをユーザーが中断できるかどうかを定義します。選択的にオフにすることができます。デフォルト: True
https://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/session-attribs-speech.html#allow-interrupt
*:* はワイルドカードとして全インテント・全スロットに作用します。False に設定することで、全範囲で割り込みを禁止できます。
これにより、AIエージェントが回答中はユーザーが発話しても回答が止まらなくなります。
注意点
この設定にはいくつか注意点があります。
Retrieveツール使用時の一時回答中の挙動について
AIエージェントがユーザーからの質問に対して、RetrieveツールやQUESTIONツールで自動回答する際、まず「少々お待ちください」などの一時回答(暫定応答)が再生され、その後に本回答が生成・再生されます。
この一時回答と本回答の間に発生する無音期間は割り込みできてしまいます。
この区間は発話再生中ではないため、allow-interrupt の制御対象外となります。
全てのやりとりに一律適用される
*:* 指定では、一部のツール選択時のみ割り込みを禁止するといった細かい制御はできません。設定したブロック内のすべてのやりとりに対して割り込み禁止が適用されます。
なお、特定のインテントやスロット単位で制御したい場合は、ワイルドカードを使わずにインテント名・スロット名を明示的に指定することで対応できます。
- 例:
x-amz-lex:allow-interrupt:AmazonQinConnect:*=False
まとめ
Amazon Connect AIエージェントが発話中に、ユーザーからの割り込みを禁止するには、[顧客の入力を取得する] ブロックのセッション属性に x-amz-lex:allow-interrupt:*:* = False を設定します。
咳や物音などの非発話音による誤割り込みを防ぎたい場合や、AIエージェントの回答を最後まで聞き取らせたい場合は、この設定を試してみてください。







