1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Amazon Connect × Salesforce】AIエージェントのツール定義とSalesforce連携のポイント

1
Last updated at Posted at 2026-08-04

はじめに

Amazon Connect Customerでコンタクトセンターの自動音声応答(IVR)を構築する際、「AIエージェント」機能を活用することで、従来のような機械的な一問一答ではなく、より自然な文脈を理解した対話が実現できます。
本記事では、Amazon ConnectのAIエージェントを実際のコールセンター環境に導入するまでの一連の実装フローを解説します。
特に、システム連携の要となる「ツール(Tool)」の設定においては、複数のアプローチ手法の中でも「一つのツールで複数項目を一度にスキーマに渡す」方法を用いて、Salesforceへのデータ連携を簡素化するテクニックを深掘りして紹介します。

本記事でわかること

  • AIエージェントを用いた自然なチャットボットの構築イメージ
  • ツール定義において複数パラメータを抽出する方法
  • Salesforce Voiceへの効率的なデータ連携・項目マッピングの手法

目次

1.全体のアーキテクチャとデータ処理の流れ
2.動作環境
3.前提条件
4.実装
5.動作確認
まとめ
参考

1.全体のアーキテクチャとデータ処理の流れ

以下は、Amazon ConnectとAmazon Lex(AIエージェント)を組み合わせた音声対話処理をSalesforceと連携し、オペレータの効率化を実現するためのアーキテクチャ図です。

スクリーンショット 2026-08-04 11.56.35.png

①〜④を繰り返し、自動音声で聞き取りたい情報をヒアリングすることができたら、⑤ヒアリング内容の送信に移るといった流れです。

AIエージェントのデータ処理の流れとしては、お客様から電話がかかってくると、まずはAmazon ConnectによりAIエージェントが呼び出されます。呼び出されたAIエージェントは、設定した「システムプロンプト」の指示に従い、自然な音声対話で要件をヒアリングします。必要な情報が揃うと、AIは「ツール」を呼び出し、複数のヒアリング内容を1つのJSONデータにし、連携データとして保持します。
その後、Amazon Connectのフローを経由してSalesforce側が保持された連携データを受け取ることで、オペレーター着信時にすべての項目が自動入力されたケース画面がポップアップ表示されます。

2.動作環境

本記事で使用する環境は以下のとおりです。

  • リージョン:東京(ap-northeast-1)
  • AI Agent Type:オーケストレーション

3.前提条件

本記事では以下を前提とします。

  • Amazon Connectの初期設定(電話番号の取得やキューの設定など)が完了していること
  • Salesforce Voiceとの連携ができていること
  • 対象のインスタンスでAmazon Connect AI agentsが有効化されていること
  • Connect AI Agentの作成ができていること

Amazon Connect(Connect Customer)の基本設定方法

AIエージェントの新規作成方法

4.実装

今回の実装では、「自動車保険会社の事故受付窓口AI」を想定して作成しています。
自動車保険会社の事故受付窓口AIはあくまで一例ですが、さまざまなユースケースに置き換えて活用できるよう、各段階で重要なポイントをまとめています。

4-1.AIエージェントのプロンプト設定

まずはAIエージェントの振る舞いを定義します。「画面上のチャット」と「電話(音声)」では最適なプロンプトが異なるため、音声合成が不自然にならない工夫や、一気に情報を聞きすぎない工夫が必要です。

(例) 自動車保険会社をユースケースとしたプロンプト
あなたは自動車保険会社の窓口サポートAIです。お客様と「電話(音声)」で対話しています。
画面上のチャットではなく音声での案内となるため、お客様がストレスを感じないよう、以下の【音声対話の絶対ルール】を遵守してください。

【音声対話の絶対ルール】※何よりもこの条件を優先して
- 箇条書きやマークダウン記号(* や - など)は絶対に発話しないでください。音声合成エンジンが不自然に読み上げてしまいます。
- 1回の発話で質問する項目は「絶対に1つだけ」にしてください。複数同時に聞かないでください。
- 案内はダラダラと長く話さず、1回の発話は30文字〜60文字程度(長くても10秒以内)の自然な会話のキャッチボールにしてください。
- 「以下の情報を教えていただけますでしょうか」といったロボットのような前置きは不要です。

【基本ルール】
1. まずは、用件を特定してください。
 
2. 【事故のご連絡の場合】
   お客様に共感を示し、以下の4点を「必ず1つずつ」順番にヒアリングしてください。
   しかし、このヒアリング途中で、オペレーターに繋いで欲しいと言われた場合、ヒアリングを直ちにやめ、各項目には"未確認"と挿入し、会話を終わらせて
   ① 怪我人の有無 (injury) ※最優先
   ② 事故の発生場所 (location)
   ③ 自力走行の可否 (drivable)
   ④ 事故の概要 (details)
   ※すべてヒアリングできたら、担当者へお繋ぎする旨と【デバッグ情報】を発話し、「Accident_type」ツールを呼び出します。

3. 【契約内容の変更の場合】
   以下の情報をヒアリングしてください。
   ここでは、軽く聞く程度で良いです。詳細な内容はオペレーターがしっかりと伺います。
   ① どのような変更をご希望か (details)
   ※ヒアリングできたら、担当窓口へお繋ぎする旨と【デバッグ情報】を発話し、「Accident_type」ツールを呼び出します。

【エスカレーション(途中離脱)ルール】※エラー防止と緊急対応
以下に該当する場合は、残りのヒアリングを直ちに中断し、そのままの電話状態で有人窓口へエスカレーションしてください(別の電話番号を案内しないこと)。
[条件A] お客様が「急いでいる」「すぐにオペレーターに繋いで」「早くして」等と希望された場合。
[条件B] 事故のヒアリングで「怪我人が多数いる」「救急車を呼んでいる」など、緊急性が極めて高いと判断した場合。
 
- 対応手順:<message>かしこまりました。至急、担当オペレーターへお繋ぎいたします。</message> とだけ発話する(追加の質問や説明は一切しないこと)。
- 判明している用件を intent_type にセットする(判明前なら強制的に「事故」とする)。
- まだヒアリングできていない項目には、エラーを防ぐため必ず "未確認" をセットして「Escalate_Operater」ツールを呼び出す。

【会話例(Few-Shot Examples)】
(※長くなるため省略。実際のFew-Shotを記載)

【出力フォーマット】
ユーザーに直接話しかける言葉は、必ず以下の形式で <message> タグに囲んで出力してください。
<message>
(ここに発話する内容)
【デバッグ】intent_type:〇〇, injury:〇〇, location:〇〇, drivable:〇〇, details:〇〇
</message>
messages:
 - "{{$.conversationHistory}}"

【重要なポイント】

  • 1問1答の強制:ユーザーの認知負荷を下げるため、ツールに必要な項目(怪我の有無、場所など)は「必ず1つずつ聞く」ように指示しています。

  • ダミー値(未確認)の代入:ユーザーが急いでいる等の理由でヒアリングを途中で打ち切る場合、ツール実行時に必須パラメータが空(Null)になってエラーになるのを防ぐため、未ヒアリングの項目には「"未確認"をセットしてツールを呼ぶ」というフェイルセーフを入れています。

4-2.ツールの定義(複数項目の設定)

ツールの定義が本記事の肝となります。
Amazon Connect AIエージェントの従来の「セルフサービス」タイプでは、プロンプト内にToolの記載をして入力スキーマを定義していましたが、「オーケストレーション」タイプでは、プロンプトとは別途「ツール」という設定項目が設置されています。

スクリーンショット 2026-07-29 10.55.37.png

前述の「ツール」を用いて複数のヒアリング項目を処理する場合、アーキテクチャの設計として大きく2つのアプローチが存在します。2つのアプローチのメリット・デメリットを以下の表にまとめました。ご自身の作成するAIエージェントのユースケースに合わせて、最適なアプローチを検討することをお勧めします。

比較項目 1つのツールにまとめる 項目ごとに複数ツールに分ける
設定・管理の手間 ツールが1つで済むため、Connect側の設定が最小限 項目の数だけツールが必要になり、設定箇所が増える
連携フローの設計 まとまったJSONが生成されるため、Salesforce連携がシンプル ツールごとにデータを受け取るため、フローが複雑化しやすい
可読性・保守性 スキーマが肥大化しやすく、引き継ぎ時の学習コストがやや高い 1つ1つのツールがシンプルで独立しており、修正や引き継ぎが容易
AIのコンテキスト理解 全体像を把握した上で、文脈から一気に情報を抽出しやすい 項目ごとに独立して情報を探しに行く挙動になる

今回の「事故対応窓口」のユースケースでは、「怪我の有無」「場所」「自走可否」など、互いに関連する複数の情報をヒアリングした上で、ヒアリングした複数の情報をすべてセットにしてオペレーター(およびSalesforce)に引き継ぐ必要があるため、今回は全体のコンテキストを捉えやすく、後続のシステム連携がシンプルになる「1つのツールにまとめる」アプローチを採用しました。

(例) 事故対応時に呼び出すツール
{
  "type": "object",
  "properties": {
    "intent_type": {
      "type": "string",
      "description": "用件判定フラグ。常に'事故'を設定してください。",
      "enum": [
        "事故"
      ]
    },
     "injury": {
      "type": "string",
      "description": "怪我人の有無。不明な場合や急いでいる場合は '未確認' と設定",
      "enum": [
        "あり","なし","未確認"
      ]
    },
    "drivable": {
      "type": "string",
      "description": "自力走行の可否。不明な場合や急いでいる場合は '未確認' と設定",
      "enum": [
        "可能","不可","未確認"
      ]
    },
    "location": {
      "type": "string",
      "description": "事故の発生場所の住所や目印。不明な場合や急いでいる場合は '未確認' と設定"
    },
    "details": {
      "type": "string",
      "description": "事故の概要。不明な場合や急いでいる場合は '未確認' と設定"
     }
  },
  "required": [
    "intent_type",
    "injury",
    "location",
    "drivable",
    "details"
  ]
}

【重要なポイント】

  • 列挙型(Enum)を使用してAIの想定外の動きをなくす:生成AI特有の表記揺れ(例:「ありません」「無傷です」など)を防ぐため、Stringでの自由入力を避けます。列挙型を使用することで、AIエージェントが出力する値をこちらで定義した選択肢だけに絞れます。

  • プロンプトとスキーマの役割を分ける:「どう聞き出すか」はプロンプトで指示し、「どんな形式で出力するか」をツールで指示するようにしましょう。LLMに対する拘束力は、スキーマ(型定義やEnum)の方が圧倒的に強いためです。

このように定義することで、AIエージェントは会話履歴から必要な情報を探し出し、適切なスロットに値を渡すことができます。

4-3.Salesforce Voice との連携

AIエージェントが抽出したパラメータを、Amazon Connect Customerのコンタクトフローを用いてSalesforceに渡します。

Amazon Connect Customer側: ツール実行結果の各パラメータをコンタクト属性(例:intent_type, injury, location...)にセットして、オペレーターのキューへルーティングします。

図1.png

Salesforce側:Amazon Connectの「コンタクトフロー」から渡されたコンタクト属性データを受け取り、今度はSalesforce側で「オムニチャネルフロー」などのSalesforceのフローを構築して処理を行います。

単にデータを受け取るだけでなく、オムニチャネルフローなどのSalesforce側のフローを組むことで、連携されたパラメータを活用して、以下のようなさまざまな業務の自動化が可能になります。

  • 音声通話に関連するレコードを、受電時に自動でポップアップ表示
  • チャットボット(AIエージェント)がヒアリングした内容が、あらかじめ全て入力されたケースレコードの自動作成

スクリーンショット 2026-07-29 15.53.22.png

5.動作確認

上記の実装手順に沿って実装することで、一連の会話を通して抽出したパラメータがSalesforceの各項目に対応し、正しくレコードが作成されることを確認できます。

parameter.png

ケース作成.jpg

まとめ

本記事では、Amazon ConnectとSalesforce Voiceを組み合わせたコンタクトセンターにおいて、AIエージェントを最大限に活用するための実践的なアプローチを解説しました。

特に、ツールの設計部分においては「特定のアプローチが絶対に正解」というものはなく、実際のユースケースやチームの管理手法によって最適なアプローチを選定することが重要だとわかります。

Amazon ConnectとSalesforce Voiceを組み合わせたコンタクトセンターを構築する際は、ぜひ今回ご紹介した内容を参考に実践してみてください!

参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?