翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
エージェント音声のベストプラクティス
Amazon Connect エージェント音声は、高度な音声認識 (ASR) と表現的で自然な音声を組み合わせて、完全な音声 AI エクスペリエンスを提供します。アドバンスト ASR は、リアルタイム会話を自然な低レイテンシーのターンインを提供し、音声エンジンは 50 以上のロケールでリアルな音声を提供します。これらのコンポーネントを組み合わせることで、発信者と Amazon Connect AI エージェント間のシームレスで人間のようなやり取りが可能になります。このガイドでは、エージェント音声エクスペリエンスを最大限に活用できるように、両方のコンポーネントの設定とベストプラクティスについて説明します。
注記
Amazon Connect エージェント音声機能を使用するには、インスタンスで Amazon Connect Customer が有効になっていることを確認します。Amazon Connect エージェント音声は、Amazon Connect Customer のデフォルトの音声プロバイダーです。
このガイドでは、以下について説明します。
ASR コントロールのセッション属性構文。
割り込み (割り込み) の動作と、いつ無効にするか。
アドバンスト ASR End-of-turnチューニング。
多言語音声認識の言語ヒント。
長時間実行されるツール呼び出しの処理。
音声出力のテキストフォーマットのベストプラクティス。
きめ細かな音声制御のための音声制御タグ。
Amazon Connect AI エージェントのシステムプロンプト。
コンタクトセンターの例。
多言語サポート用の多言語音声設定。
高度な音声認識 (ASR) のベストプラクティス
Advanced ASR 音声モデル設定は、リアルタイム会話を自然で低レイテンシーのターンを取るように設計されたストリーミングレコグナイザーです。無音の固定ウィンドウのみに依存する代わりに、発信者が話すときに発信者の音声を評価し、発信者がいつ終了するかを予測します。終了 (終了)。
セッション属性構文
このセクションのコントロールは、 x-amz-lex名前空間の標準 Lex V2 セッション属性で設定されます。会話を開始するときに設定し、Lambda 関数で上書きできます (たとえば、機密値を収集している間のみ検出を緩和するため)。
すべての属性をインテントとスロットにスコープします。
x-amz-lex:audio:<setting>:<intentName>:<slotToElicit>
インテントまたはスロット名
*として を使用し、すべての場所に適用されるデフォルトを設定します。インテントまたはスロット固有の設定は、
*デフォルトよりも優先されます。
実行:
保守的な値は、それを必要とするスロット (アカウント番号スロットなど) にのみ設定し、他のすべての値はデフォルトのままにします。
機密コレクションが完了したら、次のスロットの緩和値をリセットします。
次の操作は行わないでください。
1 つの積極的な
*:*デフォルトをグローバルに適用して 1 つのスロットを修正します。ボットのターンごとにペースを変更します。
割り込み (割り込み動作)
割り込みを使用すると、呼び出し元はボットが再生しているプロンプトを中断できます。デフォルトでは有効になっており、通常は自然な会話に必要です。次の方法で制御します。
x-amz-lex:allow-interrupt:<intentName>:<slotToElicit>
デフォルト: true
次の場合に割り込み (false) を無効にします。
完全に聞かなければならない法的言語、コンプライアンス言語、または録音開示言語を再生する。
発信者が話すべきではないという確認を読み返します。
割り込みは、次の場合に有効にします。
呼び出し元は、ボットのプロンプトの途中で、通常の会話ケースを修正または短縮したい場合があります。
例
セルフサービス AI エージェントの場合、デフォルトではどこでも割り込みのままにします。法的またはコンプライアンス上の免責事項など、プロンプトを完全に聞く必要がある場合にのみ無効にします。会話を開始するときに属性を設定します。*:* エントリを指定してデフォルトをオンにし、免責事項を再生するインテントに対してのみ割り込みをオフにします。
{ "sessionState": { "sessionAttributes": { "x-amz-lex:allow-interrupt:*:*": "true", "x-amz-lex:allow-interrupt:Disclaimer:*": "false" } } }
インテントとスロット固有のエントリは*:*デフォルトよりも優先されるため、呼び出し元はインDisclaimerテントが話している間以外はどこでも割り込みできます。代わりに Lambda 関数で免責事項属性を設定する場合は、免責事項プロンプトが再生される前に設定してください。会話の残りが中断されないように、true後で にリセットします。
注記
タイムアウト駆動型の再プロンプトは実際の割り込みではありません。一般的な混乱点: 発信者がサイレントになり、end-of-turnフォールバックが発生した場合、ボットはターンを終了したり、独自のプロンプトを再プロンプトしたりすることがあります。これは中断のように見える場合がありますが、呼び出し元がバージインするのではなく、end-of-turnの検出射撃です。この修正は、ほとんどの場合、end-of-turn設定を調整します。
End-of-turnのチューニング
アドバンスト ASR は、いずれかの条件が最初に満たされるとターンを終了します。
End-of-turn信頼度しきい値 — モデルは、呼び出し元が終了するのに十分な確信を持っています。これは主要なシグナルであり、音が自然になる原因です。
End-of-turn無音タイムアウト — 発信者は設定された時間無音です。これはフォールバックです (発信者が追いついたり、沈黙したりする)。
| 設定 | セッション属性 | デフォルト | Range |
|---|---|---|---|
| End-of-turn信頼度しきい値 | x-amz-lex:audio:end-confidence-threshold |
0.7 | 0.5~0.9 |
| End-of-turnサイレンスタイムアウト | x-amz-lex:audio:end-timeout-ms |
5,000 ミリ秒 | 500~10,000 ミリ秒 |
値を大きくすると、ボットの待機時間が長くなり、終了ターンがより控えめになります (早期カットオフが少なくなり、レイテンシーがわずかに長くなります)。値が小さいほど、ターンが早くなります (レイテンシーが低くなり、一時停止する発信者が切断される可能性が高くなります)。信頼度しきい値はプライマリレバーです。サイレンスタイムアウトは、信頼度がまだターンを終了していない場合にのみ重要です。
Out-of-rangeの動作:
end-confidence-threshold0.5~0.9 の外部は、無効なセッション属性エラーで拒否されます。end-timeout-ms500 未満または 10,000 を超えると、サポートされている最も近い値にサイレントにクランプされます。
値の選択
| シナリオ | 推奨される設定 | 注意事項 |
|---|---|---|
| 自然な会話 | デフォルト (0.7 / 5,000 ミリ秒) | 応答性の高い汎用ターンテイク用に調整されています。 |
| 機密または指示された入力 (OTP、アカウント番号) | しきい値: 0.9、タイムアウト: 6,000~8,000 ミリ秒 | 許容範囲は一時停止します。収集後に次のスロットにリセットします。 |
| ショートエクスチェンジ (はい/いいえ、単一単語) | しきい値: ~0.5、タイムアウト: ~500 ms | ターンが速くなります。最初に早期カットオフをテストします。 |
例
VerifyIdentity インテントのAccountNumberスロットの保守的なend-of-turn検出:
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:end-confidence-threshold:VerifyIdentity:AccountNumber": "0.9", "x-amz-lex:audio:end-timeout-ms:VerifyIdentity:AccountNumber": "7000" } } }
インテントとスロットごとに 1 つのデフォルト:
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:end-confidence-threshold:*:*": "0.8", "x-amz-lex:audio:end-timeout-ms:*:*": "800" } } }
多言語認識のための言語ヒント
アドバンスト ASR は、予想される言語を知らされることなく、同じ会話で複数の言語を認識します。発信者の音声から言語を検出するため、発信者は英語で開始し、スペイン語に切り替えて文字起こしを行うことができます。これはデフォルトの動作であり、設定は必要ありません。
発信者が使用している言語が既にわかっている場合は、言語ヒントを使用して認識にバイアスをかけることができます。ヒントは、2 つの言語が似ている場合にほとんどののに役立ちます。また、1 つの単語、1 つの数字、はい/いいえの短い発話でモデルがほとんど機能しない場合にも役立ちます。これらを設定するには、以下を使用します。
x-amz-lex:audio:locale-override:<intentName>:<slotToElicit>
デフォルト: ヒントなし — アドバンスト ASR は言語を単独で検出します。
このセクションの他のコントロールと同じ方法で属性の範囲を設定します。を使用して会話のすべてのターンにバイアス*:*をかけるか、インテントとスロットに名前を付け、予想される言語がわかっているターンにのみバイアスを与えます。
値形式
値をバイアスする言語コードに設定します。ほとんどの場合、最初に設定します。フローまたは Lambda 関数から生成しやすい場合は、オプションで角括弧と引用符で囲まれたカンマ区切りのリストを使用します。アドバンスト ASR は周囲の空白を無視し、アンダースコアをハイフンとして扱うため、 pt_BRと pt-BRは同等です。
次の表は、属性値の例と、それぞれが Advanced ASR をバイアスする言語を示しています。
| 属性値 | 言語 Advanced ASR は にバイアスされます |
|---|---|
| 属性が設定されていません | なし。高度な ASR は、発信者の音声から言語を検出します。 |
es,en-US |
スペイン語、その後米国英語 |
["ja"] |
Japanese |
[ "es" , "en" ] |
スペイン語、その後英語 |
fr, de , it |
フランス語、ドイツ語、イタリア語 |
検証
各エントリは有効な言語コードである必要があります。2 文字または 3 文字のベースコードを使用し、オプションで
es、、en-USなどのハイフンとリージョンサブタグを続けて使用しますpt-BR。そのフォームと一致しないエントリは削除され、残りの有効なエントリは引き続き適用されます。有効なエントリが残っていない場合、会話は失敗ではなくヒントなしで続行されます。
高度な ASR は、認識されない正しい形式のコードを通過し、無視します。このコードではエラーは発生しませんが、バイアス認識も発生しないため、送信するコードを確認してください。
アドバンスト ASR は重複を削除します。これは最大 10 個のヒントに適用され、10 分の 1 を超えるヒントは無視されます。
例
次の例では、発信者がスペイン語または英語を話し、スペイン語がより一般的な言語である行の認識をバイアスします。
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:locale-override:*:*": "es,en-US" } } }
する
認識をバイアスする特定の理由がない限り、属性を設定解除したままにします。検出は、ほとんどの多言語会話を処理します。
発信者が実際に話す言語のみをリストします。ほとんどの場合、最初にリストします。
しない
発信者が実際に話す言語以外の言語を一覧表示します。長いリストではバイアスが減り、ヒントを設定する利点がまったくなくなります。
1 つのヒントを送信して、会話を 1 つの言語にロックします。ヒントは認識をバイアスします。認識を制限しません。AI エージェントが応答する言語を制限するには、「」を参照してください特定の言語に制限する。
ヒント
言語はバイアス音声認識 - ボットが聞くもの。ボットが話す言語は変更されません。レスポンス言語には、AI エージェントシステムプロンプトと多言語音声を使用します。「多言語音声設定」を参照してください。
長時間実行されるツール呼び出しの処理
AI エージェントまたは Lambda がボットがリッスンする準備が整う前に長時間実行されるツール呼び出し (バックエンドルックアップ、外部 API、モデル呼び出し) を行うと、呼び出し元は無音状態になります。発信者にとっては、ボットが最終的に応答したときに停止したり、話しかけたりしているように感じられます。
緩和策:
ボットがマイクを開く前に、長時間実行される作業を完了します。ボットが次のスロットを引き出す前に、ツール呼び出しを完了します。
保留またはフィラープロンプト (「引き上げる 1 分間...」) を再生して、発信者が無音状態にならないようにします。
ツール呼び出し中にフィラーオーディオサウンドを有効にするか、ターンバイターンします。
これらのステップで割り込みを有効にしたままにして、発信者がフィラープロンプト中に話しかけた場合に、モノを移動できるようにします。
ヒント
実際のツール呼び出しを使用して、レイテンシーend-to-endで検証します。目標は、発信者がバックエンドで待機しているデッドエアに残されないことです。
ASR セッション属性のクイックリファレンス
| 属性 | デフォルト | 注意事項 |
|---|---|---|
x-amz-lex:allow-interrupt:<intent>:<slot> |
true | 割り込み。免責事項falseに を設定します。 |
x-amz-lex:audio:end-confidence-threshold:<intent>:<slot> |
0.7 | プライマリ EOT シグナル。範囲 0.5~0.9。Out-of-range拒否されました。 |
x-amz-lex:audio:end-timeout-ms:<intent>:<slot> |
5,000 ミリ秒 | EOT フォールバック。範囲は 500~10,000 ミリ秒です。Out-of-rangeのクランプ。 |
x-amz-lex:audio:locale-override:<intent>:<slot> |
未設定 | 言語はバイアス認識をヒントにします。カンマ区切りコード、最大 10。 |
一般的な ASR ミス
| ミス | なぜ悪いのか | Fix |
|---|---|---|
| 指定された桁を収集する際の信頼度しきい値が低い | ボットがグループ間で発信者をオフにする | そのスロットの信頼度とタイムアウトを上げ、後でリセットします。 |
| 割り込みをグローバルに無効化する | 呼び出し元がボットをどこにも修正できない | 免責事項/コンプライアンスプロンプトでのみ無効にします。 |
*:* デフォルトを適用して 1 つのスロットを修正する |
ボット全体のペースを変更します | 属性を特定のインテント/スロットにスコープします。 |
| しきい値を 0.5~0.9 の範囲外に設定する | リクエストがエラーで拒否されました | 範囲内に保持します。サイレントにend-timeout-msクランプするだけです。 |
| 長いツール呼び出し中に入力ウィンドウを開いたままにする | 発信者がデッドエアに座っている | 最初にツール呼び出しを完了するか、フィラープロンプトを再生します。 |
| EOT 再プロンプトを実際の割り込みとして扱う | allow-interrupt に適用された誤った修正 | 代わりにend-of-turn設定を調整します。 |
での多くの言語の一覧表示 locale-override |
設定したバイアスを倍増します。 | 発信者が話す言語のみをリストします。ほとんどの場合、最初にリストします。 |
音声のベストプラクティス
Amazon Connect エージェント音声は、50 を超えるロケールで表現的で自然なtext-to-speechを実現します。エンジンは、書き込まれたテキストを自動的に自然な音声に正規化します。ほとんどの場合、テキストをそのまま渡し、特別なフォーマットなしで優れた結果を得ることができます。
テキストのフォーマット
一般的なルール
句読点の多い自然なテキストを渡します。通常の大文字と句読点を含む完全な文は、最適なペースとイントネーションを生成します。
実行:
完全な文をターミナル句読点 (. ? !) とともに使用します。
通常の大文字を使用します。
数値、日付、一般的な形式を従来の書き込み形式で保持します。
各世代を少なくとも完全な文またはフレーズに保ちます。非常に短いフラグメントは、あまり自然に聞こえない傾向があります。
次の操作は行わないでください。
句読点を取り除き、ALL CAPS を強制します。
マークダウン、raw JSON、絵文字、または特殊文字を含めます。
完全なコンテキストなしで、数字、英数字、スペルタグを単独で送信します。
マークダウンの太字または斜体でテキストをラップする — エンジンはアスタリスクの発話を試みます。
括弧、括弧、中括弧、角括弧、引用符を使用します。
自動正規化
エンジンは、一般的な書き込み形式を自然な音声として読み取ります。ほとんどの場合、再フォーマットする必要はありません。
| タイプ | これを渡す | エンジンの読み取り |
|---|---|---|
| 大きな数字 | 1,234,567 | 「100 万 2,34,000 万...」 |
| [電話番号] | (415) 555-1212 | 自然な電話番号のペース調整 |
| [E メールアドレス] | user@example.com | 「ドットコムの例のユーザー」 |
| 日付 | 04/20/2025 | ロケールに適した日付の読み取り |
| Times | 午後 7 時 | 「午後 7 時」 |
| 頭字語 | NASA、米国 | 想定どおりに発話される |
| パーセンテージ | 12% | 「12%」 |
ヒント
E メールアドレスは、書かれた形式でよく読み取られます。正確な制御が必要な場合は、音声フォームを直接出力するようにエージェントに指示することもできます (例:「user at example dot com」)。
音声コントロールタグ
音声エンジンは、トランスクリプトコンテンツから適切なペースと感情を自動的に推測します。コントロールタグは、デフォルトが満たされない特定のユースケースでのみ使用します。すべてのタグはトランスクリプトに直接配置されます。
[Speed] (スピード)
話す速度を制御します。範囲: 0.6 (低速)~1.5 (高速)。デフォルト: 1.0。
<speed ratio="0.85"/>This call may be recorded for quality purposes.
| 値 | 次の場合に使用 |
|---|---|
| 0.8 | 重要な情報または法的言語の読み取り |
| 1.0 | デフォルト — 自然な会話速度 |
| 1.2 | ペースの速い対話 |
速度を下げた後に速度をリセットするには:
<speed ratio="0.85"/>Important notice.<speed ratio="1.0"/>Now, how can I help?
Volume
ラウドネスを制御します。範囲: 0.5 (quiet)~2.0 (loud)。デフォルト: 1.0。
<volume ratio="0.5"/>I'll speak softly for this part.
ブレーク
挿入が一時停止します。期間を秒 (秒) またはミリ秒 (ミリ秒) で指定します。
Your balance is $1,234.<break time="500ms"/>Your next payment is due June 15th.
以下の場合は改行を使用します。
情報間のペーシング。
法律またはコンプライアンス言語より前。
IVR のメニューオプション間。
注記
自然句読点は、一時停止のための最初のツールです。通常、カンマまたはピリオドは右側の一時停止を生成します。ブレークタグは、特定の期間の明示的なサイレンス用に予約するのが最適です。
スペル
コード、IDs、電話番号、またはletter-by-lettercharacter-by-characterの読み上げを強制します。
Your confirmation code is <spell>TKT4829XB</spell>.
長いシーケンスの場合は、スペルタグラッパー内にスペースを追加して一時停止を挿入します。
Your phone number is <spell>(415)</spell><break time="200ms"/><spell>5551212</spell>.
代替形式 (タグなし):
スペース区切り: A B C 1 2 3
カンマでグループ化: A B C、1 2 3。
遅延および発音: A、B、C、1、2、3
注記
このモデルは、すべての CAPS テキストを <spell> タグでラップするのと同じ方法で扱います。文字単位で読み取られます。たとえば、「ACME BANK」はA-C-M-E B-A-N-K」と呼ばれています。 モデルに単語として発声させるには、「Acme Bank」という標準的な大文字を使用します。
Emotion
モデルはコンテンツから感情的なトーンを自然に推測します。ほとんどの場合、タグは必要ありません。感情タグはベータ機能であり、感情がトランスクリプトと一致すると最も確実に機能します。
<emotion value="sympathetic"/>I understand this is frustrating. Let me investigate that for you.
主な感情: neutral、angry、excited、content、sad、および scared。
笑い
を挿入[laughter]して自然に笑います。
Oh, I've actually heard that one before! [laughter] Alright, let's get this sorted out.
タグリファレンス
| タグ | その内容 | 例 |
|---|---|---|
<speed ratio="X"/> |
発話率 (0.6~1.5) | <speed ratio="0.85"/> |
<volume ratio="X"/> |
ラウドネス (0.5~2.0) | <volume ratio="1.5"/> |
<break time="Xs"/> |
一時停止 (秒またはミリ秒) | <break time="500ms"/> |
<spell>...</spell> |
Character-by-character読み取り | <spell>AB12CD</spell> |
<emotion value="X"/> |
感情的なトーン | <emotion value="content"/> |
[laughter] |
自然笑い | [laughter] |
不正な形式のタグ
マッチングで囲まれた正しい形式のタグ
<...>は、エンジンによって正しく処理されます。不正な形式または閉じていないタグはサイレントにドロップされません。エンジンは不正な形式のテキストを声に出して発声します。
のようなサポートされていない SSML ラッパー
<speak>...</speak>は必須ではなく、含めないでください。
ヒント
エンジンが解析できないタグを検出した場合、タグフラグメントを含む raw テキストの発話を試みます。タグの形式が適切であることを必ず検証してください。
多言語音声設定
Amazon Connect エージェント音声には、複数の言語を話し、会話中にシームレスに切り替えることができる多言語音声が含まれています。発信者は英語で開始し、スペイン語に切り替えて、エージェントをフォローできます。フローの変更や中断は必要ありません。音声の設定 ブロックでは、これらの音声はポリ声としてラベル付けされます。このガイドでは、多言語音声という用語を使用して説明しています。このセクションでは、多言語音声の設定方法と注意点について説明します。
多言語音声
多言語音声は、1 回の会話でサポートされている言語をネイティブに切り替えます。コンタクトセンターで異なる言語を話す発信者や通話中に言語を切り替える発信者を処理する必要がある場合は、多言語音声を使用します。
| 音声 | 性別 | サポートされている言語 |
|---|---|---|
| ケイティ | 女性 | 英語、ドイツ語、スペイン語、フランス語、ヒンディー語、イタリア語、日本語、ノルウェー語、ポルトガル語、ロシア語 |
| ブレーク | マスキュリン | 英語、ドイツ語、スペイン語、フランス語、ヒンディー語、イタリア語、日本語、ノルウェー語、ポルトガル語、ロシア語 |
| ブローク | 女性 | 英語、ドイツ語、スペイン語、フランス語、ヒンディー語、イタリア語、日本語、ノルウェー語、ポルトガル語、ロシア語 |
| ローナルド | マスキュリン | 英語、ドイツ語、スペイン語、フランス語、ヒンディー語、イタリア語、日本語、ノルウェー語、ポルトガル語、ロシア語 |
| Gemma | 女性 | 英語、ドイツ語、スペイン語、フランス語、ヒンディー語、イタリア語、日本語、ノルウェー語、ポルトガル語、ロシア語 |
設定
ステップ 1: 多言語音声のロケールで Amazon Lex ボットを構築する
多言語音声を使用する場合は、1 つの Amazon Lex ボットロケールのみが必要です。多言語音声 (en-US や en-GB など) に一致するロケールにボットを構築します。多言語音声がサポートするすべての言語を Amazon Lex の個別のロケールとして追加する必要はありません。
実行:
ボットを en-US (英国英語の多言語音声を使用している場合は en-GB) で構築します。
単一のロケールを使用します。AI エージェントと多言語音声は、追加の Amazon Lex ロケールなしで多言語会話を処理します。
次の操作は行わないでください。
多言語音声がサポートする言語ごとに個別の Amazon Lex ボットロケールを追加します。これは不要です。AI エージェントはプロンプトによる言語切り替えを処理します。
多言語音声でサポートされている言語リストにない言語 (タイ語やタガログ語など) をサポートする必要がある場合は、そのロケール用に別のボットを作成し、ロケール固有の音声を使用します。「英語以外のロケールでの非多言語エージェント音声の使用」を参照してください。
ステップ 2: Lex ボットロケールを音声設定ブロックに一致させる
Set Voice ブロックで設定された言語属性は、Lex ボットのロケールと一致する必要があります。一致しない場合、Get Customer Input ブロックはエラーを返します。ボットロケールと一致するように音声ブロック言語の設定を更新します。
英語ロケールで構築された多言語音声の場合:
音声の設定 ブロックで、多言語音声 (ブルックなど) を選択し、言語を英語 (米国) に設定します。
Lex ボットには、構築されたロケールとして en-US が必要です。
初回の挨拶
最初のターンでは、AI エージェントは発信者入力を受信していません。入力しないと、エージェントは発信者の言語を検出できません。音声は、Get Customer Input ブロックで設定された挨拶テキストを発声します。ボットで特定の言語で発信者に挨拶する場合は、そのブロックの挨拶メッセージがその言語で書かれていることを確認してください。
たとえば、プライマリ発信者ベースがスペイン語を話す場合は、Get Customer Input greeting in Spanish を設定します。
Hola, gracias por llamar. ¿Cómo puedo ayudarle hoy?
最初のターンの後、AI エージェントは会話の残りの時間、発信者の言語を引き受けて検出し、それに従います。
ステップ 3: AI エージェントシステムプロンプトに言語処理手順を追加する
AI エージェントのシステムプロンプトに言語処理セクションを追加します。このセクションでは、多言語動作について説明します。AI エージェントは、トランスクリプトから発信者の言語を検出し、その言語で応答します。
テンプレート (ユースケースに合わせてカスタマイズ):
You are connected to a multilingual voice that supports the following languages: English, German, Spanish, French, Hindi, Italian, Japanese, Norwegian, Portuguese, and Russian. Language handling rules: Detect the language of the caller's input from the transcription. If the caller speaks in one of the supported languages listed above, respond in that same language. If the caller speaks a language not in the supported list, respond in English and politely let them know you can assist in the supported languages. Always respond in one language at a time. Do not mix languages in a single response unless the caller mixes first. If the caller switches languages mid-conversation, follow their lead immediately. When responding in any non-English language, always use proper accent marks, diacritics, and locale-appropriate formatting (for example, é, ñ, ü, ç). This ensures the voice engine produces natural pronunciation. Keep English brand names, product names, codes, and identifiers in English. Do not translate them.
ヒント
プロンプトでは、多言語音声が実際にサポートしている言語のみを一覧表示します。サポートされていない言語を一覧表示すると、エージェントはそれが役立つと主張しますが、TTS は不自然な出力を生成します。
英語以外のロケールでの非多言語エージェント音声の使用
多言語音声ではないエージェント音声 (タイ語、韓国語、ポルトガル語の音声など) を使用している場合は、システムが正しい ASR エンジンにルーティングされるように言語属性を明示的に設定する必要があります。
オプション A: Voice ブロックを設定する
英語以外の音声 (たとえば、th-TH ロケールのタイ語音声) を選択します。
言語を一致するロケール (th-TH など) に設定します。
一致するロケール (th-TH) を使用して Lex ボットを構築します。
オプション B: 問い合わせ属性の設定ブロック
Set Voice ブロックが設定の言語設定を公開していない場合は、Get Customer Input ブロックの前に Set Contact Attributes ブロックを使用して言語を設定できます。
タイプ — システム
属性 — 言語
値 — ロケールコード (Tagalog の場合は tl-PH、タイの場合は th-TH など)
特定の言語に制限する
コンタクトセンターが言語のサブセットのみをサポートしている場合は、プロンプトを簡素化します。
You support English and Spanish on this line only. Detect the language of the caller's input. If the caller speaks English or Spanish, respond in that language. If the caller speaks any other language, respond in English: I apologize, but I can only assist in English or Spanish. How can I help you today? If the caller switches between English and Spanish, follow their lead. Use proper accent marks when responding in Spanish (á, é, í, ó, ú, ñ, ü). Keep brand names and codes in English.
Amazon Connect AI エージェントのシステムプロンプト
Amazon Connect AI Agents が音声テキストを生成するときは、エージェントのシステムプロンプトにこれらの音声フォーマット手順を追加します。以下のブロックをコピーしてプロンプト設定に直接貼り付けます。
注記
これらのプロンプトは、使用を開始するためのテンプレートです。特定のユースケース、トーン、ビジネス要件に合わせて変更します。
ヒント
音声パフォーマンスとレイテンシーの AI エージェントプロンプトを最適化するガイダンスについては、「」を参照してくださいAI エージェント向けのプロンプトエンジニアリングのベストプラクティス。
音声出力フォーマットプロンプト
Speech Output Formatting Everything you output will be spoken aloud by text-to-speech. Follow these rules: GENERAL FORMATTING Use full sentences with normal capitalization. Always end with . ? or ! Use conventional written forms for numbers, dates, acronyms, symbols. Do NOT use markdown, bullet points, headers, bold, raw JSON, emoji, or special characters. Write plain prose only. SPELLING OUT CODES AND IDS For codes or IDs that must be read character-by-character, except for phone numbers, wrap in <spell> tags: Example: Your confirmation code is <spell>TKT4829XB</spell>. Was that the account ending in <spell>1234</spell>? THINGS TO AVOID Do not output bullet points, numbered lists, or structured formatting. Do not use asterisks, hashtags, or markdown syntax. Do not include internal thoughts, reasoning, or meta-commentary. Do not use parentheses, brackets, curly braces, or quotation marks. NATURALNESS Respond as if speaking directly to the caller. Keep responses concise. Avoid long monologues. Use natural transitions like: Let me check that for you. Or: Here is what I found.
多言語アドオン
ボットが多言語音声を使用している場合は、システムプロンプトに以下を追加して、多言語レスポンスを有効にします。
Language Handling You are connected to a multilingual voice that supports: English, German, Spanish, French, Hindi, Italian, Japanese, Norwegian, Portuguese, and Russian. Detect the language of the caller input from the transcription. If the caller speaks in one of the supported locales, respond in that language. If the caller speaks a language not in the supported list, respond in English and politely let them know you can assist in English. Always respond in one language at a time. Do not mix multiple languages in a single response. If the caller switches languages mid-conversation, follow their lead and switch your responses to match. When responding in a non-English language, always use proper accent marks, diacritics, and locale-appropriate formatting. This ensures the voice engine produces natural, native-sounding pronunciation.
コンタクトセンターの例
IVR 挨拶
Hi, thanks for calling. How can I help you today?
タグは必要ありません。エンジンは会話の挨拶を自然に処理します。
法的免責事項 (スロー)
<speed ratio="0.85"/>This call may be recorded for quality assurance purposes. By continuing, you consent to recording.
フローレベルで割り込みを無効にしてペアリングします。
アカウント番号の読み取り
スペルタグの場合:
Your account number is <spell>1234</spell> <spell>5678</spell> <spell>9012</spell>.
スペルタグなし:
Your account number is 1 2 3 4, 5 6 7 8, 9 0 1 2.
リファレンスコードによる確認
I've created your ticket. Your reference number is <spell>TKT4829XB</spell>. Is there anything else I can help with?
メニューオプション
Press 1 for billing.<break time="500ms"/>Press 2 for technical support.<break time="500ms"/>Press 3 to speak with an agent.
顧客の名前をスペルする
Let me confirm — your last name is Smith, spelled <spell>SMITH</spell>. Is that correct?
一般的なtext-to-speechミス
| ミス | なぜ悪いのか | Fix |
|---|---|---|
| 句読点のストライピング | 残骸のペースとイントネーション | 自然な句読点を保持します。 |
| すべての CAPS テキスト | エンジンの読み取り方法を変更する | 通常の大文字を使用します。 |
| マークダウンを含める | エンジンがフォーマット文字を発話する | 送信前にストライピングするか、エージェントに回避するよう指示します。 |
| 不完全なタグのストリーミング | タグはテキストとして読み上げられます | 送信前に完全なタグ値をバッファします。 |
| 感情とコンテンツの不一致 | 不自然な出力を生成する | 感情をコンテンツに合わせるか、省略します。 |
| プロンプトのオーバーエンジニアリング | 自然度を低下できる | シンプル開始 — 必要に応じてタグを追加します。 |
| 多言語の非多言語音声 | Voice はプライマリロケールアクセントを保持します | ネイティブ発音には多言語音声を使用します。 |
| マークダウンの太字または斜体でテキストをラップする | エンジンがアスタリスクを読み上げます | マークダウンフォーマットをすべて削除します。 |
| 不正な形式または閉じていないタグの送信 | エンジンが raw タグテキストを発話する | タグは、一致する角括弧で適切に形成されていることを検証します。 |