Amazon Connect AIエージェント(オーケストレーション)で複数のナレッジベースを同時にクエリして回答させてみた

Amazon Connect AIエージェント(オーケストレーション)で複数のナレッジベースを同時にクエリして回答させてみた

2026.03.11

はじめに

Amazon Connect AIエージェントに対して、複数のナレッジベースを統合できるようになったアップデートについて、以前以下の記事で紹介しました。

しかし、オーケストレーションタイプのAIエージェントにおいて、デフォルトの設定のままでは複数のナレッジベースを同時にクエリして回答させることができません(1つのナレッジベースのみが検索されます)。

理由は、自動回答用の検索ツール(Retrieveツール)が、1つのツールにつき1つのナレッジベースにしか関連付けられないためです。複数のナレッジベースを並列でクエリするには、AIプロンプトのカスタマイズと、ツールの追加・修正が必要になります。

本記事では、オーケストレーションAIエージェントを使って、複数のナレッジベースを同時に検索し、統合した回答を生成させる方法を紹介します。

前提条件

事前にAmazon Q in Connectのナレッジベースを2つ作成しておきます。
今回は検証として、それぞれ別のナレッジ(弊社の異なるオフィス情報)を保存した状態を前提とします。

cm-hirai-screenshot 2026-03-10 17.49.26

AIプロンプトの作成

まず、複数の検索ツールを同時に使用するようにAIに指示するためのプロンプトを作成します。

Amazon Connectの管理画面から、オーケストレーションタイプのデフォルトAIプロンプトである SelfServiceOrchestration をコピーして新規作成します。

cm-hirai-screenshot 2026-03-10 17.20.52

コピーしたプロンプトの ## Core behavior セクションに、以下の CRITICAL(重要) な指示を追記します。

  ## Core behavior
  CRITICAL - Multiple Retrieve Tools: When multiple Retrieve-type tools are available (Retrieve1, Retrieve2), you MUST invoke ALL of them simultaneously for any search request. Never use only one Retrieve tool when multiple are available—always invoke them together to ensure comprehensive results from all knowledge sources.

※プロンプト内の (Retrieve1, Retrieve2) の部分は、後ほどAIエージェントで設定する実際のツール名に合わせて変更してください。

このプロンプトの意図

この指示は、「検索を行う際は、利用可能なすべてのRetrieveツール(Retrieve1、Retrieve2など)を必ず同時に呼び出すこと。決して1つだけを使用しないこと」をAIに強制するものです。
LLM(Claude)はデフォルトのままだと「どれか1つのツールを使えば十分だろう」と判断してしまいがちですが、この一文を入れることで、すべてのナレッジベースへ並列で検索をかけ、情報を網羅的に集めてから回答を生成するようになります。

なお、このプロンプト文は独自に考えたものではなく、AWS公式ドキュメントに「複数のナレッジベースをセットアップする際のベストプラクティス」としてそのまま記載されているものです。
参考:Multiple knowledge base setup and content segmentation - Amazon Connect
cm-hirai-screenshot 2026-03-11 10.03.27

※その他のプロンプト内容はデフォルトのまま使用します。

モデルは、デフォルトの global.anthropic.claude-haiku-4-5-20251001-v1:0 を利用し、プロンプトを保存します。

cm-hirai-screenshot 2026-03-10 17.24.04

AIエージェントの作成とツールの設定

次に、オーケストレーションタイプのAIエージェントを作成し、検索ツールを設定します。
デフォルトの SelfServiceOrchestrator をコピーして作成を開始します。

cm-hirai-screenshot 2026-03-10 17.25.48

1つ目のRetrieveツールの設定

デフォルトで設定されている「Retrieve」ツールを編集し、1つ目のナレッジベースを関連付けます。
プロンプトの指示に合わせるため、ツール名を Retrieve1 に変更して保存します。

cm-hirai-screenshot 2026-03-10 17.28.30
cm-hirai-screenshot 2026-03-10 17.28.42

2つ目のRetrieveツールの追加

「ツールの追加(Add Tool)」をクリックし、名前空間として「Amazon Connect」、AIツールのタイプとして「Retrieve」を選択します。

cm-hirai-screenshot 2026-03-10 17.30.41

ツール名を Retrieve2 とし、2つ目のナレッジベースを選択して関連付けます。
指示テキスト(Description)と例(Examples)には、デフォルトのRetrieveツールに設定されている内容をそのままコピーして貼り付けます。

指示テキスト:

Search the knowledge base using semantic search to find relevant information. Use the results of the RETRIEVE tool to provide an informed answer to the customer's query.

例:

Good example:
<message>
  I found your warranty covers parts replacement for any manufacturing defects during the first year. We offer extended warranty coverage for eligible products beyond the manufacturer's warranty period.
</message>

Example for no results:
<message>
I don't have specific information about that topic available.
</message>

cm-hirai-screenshot 2026-03-10 17.33.45

最後に、先ほど作成したカスタムAIプロンプトを設定し、ロケールを日本語にしてAIエージェントの作成を完了します。

cm-hirai-screenshot 2026-03-10 17.36.02

Connectフローの設定

利用するコンタクトフローはシンプルです。
「顧客の入力を取得する」ブロックを配置し、作成したAIエージェントを指定するだけです。

cm-hirai-screenshot 2026-03-06 13.35.36

動作確認

実際にチャットでテストしてみます。
「クラスメソッドのオフィス情報を教えて」と質問すると、AIエージェントが Retrieve1Retrieve2 の両方のツールを実行し、それぞれのナレッジベースに保存されているオフィス情報を統合して回答してくれました。

cm-hirai-screenshot 2026-03-10 17.51.21

プロンプトに「複数のRetrieveツールがある場合は必ず同時に呼び出すこと」と明記したことで、AIが自律的に両方のナレッジベースへ検索をかけ、包括的な回答を生成できていることがわかります。

ログからわかる裏側の動き

なぜこのような挙動になったのか、CloudWatch Logsに出力されたAIエージェントの実行ログ(TRANSCRIPT_AGENTIC_MESSAGE 等)を確認すると、裏側のプロセスがよくわかります。

1. 初期応答の生成

ユーザーからの質問を受け取ったAIは、検索処理で待たせないように、まず繋ぎ言葉(Filler message)を生成しています。

クラスメソッドのオフィス情報についてお調べします。

2. 複数のRetrieveツールの同時実行

次に、AIはナレッジを検索するためにツールを選択します。この時のLLMの推論結果(ログの completion フィールド)を見ると、プロンプトの指示通り、Retrieve1Retrieve2 の両方のツールが同時に(1つの推論結果内で)呼び出されていることが確認できます。

{
  "toolUseList": [
    {
      "toolName": "Retrieve1",
      "toolUseId": "tooluse_rPPN5go4RetmGbUBxug1Gs",
      "toolInput": "{\"assistantId\": \"d28ddb7e-edee-4655-a8d3-02cf659d80f6\", \"retrievalQuery\": \"クラスメソッド オフィス 所在地 住所\", \"retrievalConfiguration\": {\"knowledgeSource\":{}}}"
    },
    {
      "toolName": "Retrieve2",
      "toolUseId": "tooluse_5d9fRKzEt8DLb3qgjiKnP2",
      "toolInput": "{\"assistantId\": \"d28ddb7e-edee-4655-a8d3-02cf659d80f6\", \"retrievalQuery\": \"クラスメソッド オフィス 所在地 住所\", \"retrievalConfiguration\": {\"knowledgeSource\":{}}}"
    }
  ]
}

3. 検索結果の統合と回答生成

それぞれのナレッジベースから検索結果が返ってきます。ログには、Retrieve1 からは名古屋オフィスの情報が、Retrieve2 からは札幌オフィスと日比谷本社オフィスの情報が取得できたことが記録されています。

Retrieve1の結果(一部抜粋)

"contentText":"名古屋オフィス 〒460-0003 愛知県名古屋市中区錦1-17-26 ラウンドテラス伏見8階"

Retrieve2の結果(一部抜粋)

"contentText":"クラスメソッドの本社 札幌オフィス 〒060-0003 北海道札幌市中央区北3条西1-1-1 札幌ブリックキューブ10階"
"contentText":"クラスメソッドの本社 日比谷本社オフィス 〒105-0003 東京都港区西新橋1-1-1 日比谷フォートタワー26階"

AIはこれらの別々のナレッジベースから得られた情報を統合し、最終的な回答を生成していました。

クラスメソッドのオフィス情報についてお答えします。

クラスメソッドは複数のオフィスを展開しており、主なオフィスは以下の通りです。

まず、本社の日比谷本社オフィスは、東京都港区西新橋にあります。住所は東京都港区西新橋1-1-1の日比谷フォートタワー26階です。

また、札幌にもオフィスがあり、北海道札幌市中央区北3条西1-1-1の札幌ブリックキューブ10階に位置しています。

さらに、名古屋にもオフィスがあり、愛知県名古屋市中区錦1-17-26のラウンドテラス伏見8階にあります。

ご不明な点やその他のオフィス情報についてご質問があれば、お気軽にお問い合わせください。

まとめ

Amazon ConnectのオーケストレーションAIエージェントにおいて、複数のナレッジベースを横断して検索させるためには、以下の2点が重要です。

  1. ナレッジベースごとにRetrieveツール(Retrieve1, Retrieve2...)を分けて登録する
  2. AIプロンプトで「複数のRetrieveツールを同時に実行する」ように明示的に指示する

この設定を行うことで、部署ごとや製品ごとに分かれた複数のナレッジベースを統合的に活用し、より網羅的で精度の高い自己解決(セルフサービス)体験を顧客に提供することが可能になります。

この記事をシェアする

FacebookHatena blogX

関連記事