Amazon Q in Connect セルフサービスの自動回答において、チャットと電話では挙動が異なります
困っていること
Amazon Q in Connectのセルフサービス機能において、チャットと電話で自動回答の挙動が異なる問題が発生しています。
以下のブログの方法に従って、顧客の質問に自動回答するAmazon Q in Connectのセルフサービス機能を構築しました。
しかし、チャットと電話の両チャネルでテストしたところ、同じ設定にもかかわらず応答パターンに違いがあることが判明しました。
チャットの場合
チャットで「クラスメソッドメンバーズの割引率を教えてください」と質問すると、即座に回答が返され、その後も引き続き質問を繰り返すことができます。
このとき、回答にはセルフサービスのToolとして「QUESTION」が利用されており、特に問題なく機能しています。
電話の場合
電話で「クラスメソッドメンバーズの割引率を教えてください」と質問すると、まず「クラスメソッドメンバーズの割引率について確認させていただきます。少々お待ちください。」というメッセージが流れた後に、実際の回答が提供されます。
回答自体はチャットと同様にToolとして「QUESTION」が利用されていますが、問題は回答前の待機メッセージです。
このメッセージの後すぐに回答が返されるため、このような中間メッセージは不要であり、できれば削除したいと考えています。
以下の通り、Lexの応答ログでは、回答自体はチャットと同様にToolとして「QUESTION」が利用されていることがわかります。
{
"messages": [
{
"contentType": "PlainText",
"content": "回答内容"
}
],
"sessionState": {
"sessionAttributes": {
"query": "質問内容( = クエリ内容)",
"Tool": "QUESTION"
Connect フローログを確認したところ、以下のエラーが記録されていました。
{
"Results": "Error",
"ContactId": "2ad793de-9826-4320-a5d3-545487fe37e8",
"ContactFlowId": "arn:aws:connect:ap-northeast-1:111111111111:instance/3ff2093d-af96-43fd-b038-3c07cdd7609c/contact-flow/e9b7c449-5e1f-4a2c-b9af-9d1a4e143dd9",
"ContactFlowName": "cm-hirai-q-in-connect",
"ContactFlowModuleType": "GetUserInput",
"Identifier": "1e79e345-7b31-403f-80ea-9fc535d637ac",
"Timestamp": "2025-03-25T07:17:38.622Z",
"ErrorDetails": {
"ErrorCode": "BadRequestException",
"Message": "The service cannot process the request"
}
}
回答
電話とチャットでの挙動の違いについて、AWSのドキュメントには明確な記載がありませんが、電話(音声)チャネルでセルフサービスを利用する場合に質問への回答前に「質問を確認します」といった待機メッセージが流れるのは意図的な設計仕様と考えられます。
残念ながら、現時点ではこのメッセージを削除したり、表示を制御したりする設定オプションは提供されていません。
この仕様の背景には、電話での会話では沈黙が不自然に感じられるため、回答生成中であることをユーザーに伝える意図があると推測されます。
しかし、現在セルフサービスで使用されている生成AIモデル「Claude 3 Haiku」は確認した限り約3秒程度で回答を生成するため、待機メッセージの直後に回答が返されることで、かえって違和感を生じさせています。
将来的に「Claude 3.5 Sonnet」などの処理時間がより長いモデルが選択できるようになれば、このような待機メッセージの存在意義も高まるかもしれません。
この挙動を改善したい場合は、待機メッセージの表示/非表示を選択できる機能の追加をAWSにフィードバックすることをお勧めします。