本文にスキップ
AI News HubLIVE
サイト内リライト6 分で読了

Amazon Bedrock AgentCore、マネージド知識ベース、Nova Sonic で音声トラベルコンシェルジュを構築する

記事の要約

Amazon Bedrock AgentCore、Amazon Nova 2.5 Sonic、Amazon Bedrock Knowledge Bases を使って航空会社アプリに音声トラベルコンシェルジュを追加する方法を解説。旅行者は音声で座席変更や遅延確認、ポリシーに関する質問ができ、エージェントは MCP ツール経由でバックエンドに接続し、書き込みの前に必ず確認を取る。

ソースAWS Machine Learning Blog著者: Ravi Kumar
Amazon Bedrock AgentCore、マネージド知識ベース、Nova Sonic で音声トラベルコンシェルジュを構築する
誤りを報告

訂正窓口はまだ利用できません。記事情報をコピーして保存できます。

訂正案内
本文へ

航空会社のアプリやウェブサイトでは、すでに旅客がフライトを確認し、座席を選び、予約を管理できる。そこに自然な音声レイヤーを重ねると、旅客はアプリを離れたり複数の画面を行き来したりすることなく、話すだけで同じ操作をこなせるようになる。ただしその実装は容易ではない。双方向の音声ストリーミングを安定して流し、何度も続く会話の文脈を保ち、既存のバックエンドに強く結合することなく接続し、連休前のアクセス急増にも対応できる拡張性が求められる。

本記事では、航空会社のアプリケーションに音声トラベルコンシェルジュを追加する方法を紹介する。土台となるのは三つのマネージドサービスだ。Amazon Bedrock AgentCore は、フレームワークとモデルを自由に選びながら AI エージェントを安全かつ大規模に構築・デプロイ・運用するためのプラットフォームである。Amazon Nova Sonic on Bedrock はリアルタイム音声向けの音声対音声モデル、Amazon Bedrock Knowledge Bases は自社ドキュメントに基づいて回答を根拠づけるフルマネージドの検索拡張生成サービスである。旅行者が話しかけると、コンシェルジュは旅程を呼び出し、座席を変更し、機内食の希望を更新し、ポリシーに関する質問に答え、求めに応じて有人オペレーターへつなぐ。

コンシェルジュは既存の画面を置き換えるのではなく共存するため、旅行者は同じセッションの中でタップと会話を切り替えられる。オンデマンドでスケールするサービス上で動くので、開発者はインフラではなく体験そのものに時間を割ける。AI レイヤーは合成データを用いたサンプルの航空会社バックエンドに接続しており、同じパターンを自社システムへ移植する際の実装を加速する。プロジェクトはモジュール単位に分割されているので、既存バックエンドに合う部分だけを再利用し、それらをツールとしてエージェントに公開できる。

記事が示す学習項目は次のとおりだ。AWS Cloud Development Kit(AWS CDK)を使って AWS 上に音声 AI コンシェルジュをデプロイすること。Strands Agents フレームワークと Amazon Nova 2.5 Sonic でエージェントを構築し、AgentCore ランタイム上でホストすること。AgentCore Gateway 経由で Model Context Protocol(MCP)を使い、エージェントをバックエンドサービスに接続すること。Amazon Bedrock Knowledge Bases で航空会社のポリシーに関する質問に答えること。そして、参照番号と想定待ち時間を添えて旅行者を有人オペレーターへ引き継ぐことである。

アーキテクチャは、フロントエンド、AI エージェント、バックエンドサービスをそれぞれ独立した層に分け、個別に開発・拡張できるようにしている。MCP は AI アプリケーションと外部ツールやデータをつなぐためのオープン標準であり、エージェントとバックエンドの間で標準化されたメッセージを運ぶことで両者を疎結合に保つ。デプロイされるサービスは多岐にわたる。Amazon Cognito はユーザー認証と、署名付き API アクセス用の一時的な AWS 認証情報を担う。AgentCore ランタイムはセッションごとの microVM 分離でエージェントをホストする。AgentCore Gateway はバックエンドのエンドポイントを発見可能な MCP ツールとして公開する。Amazon API Gateway は IAM 認可付きの REST エンドポイントとしてバックエンドを公開する。AWS Lambda は旅程、座席マップ、旅客情報の更新、フライトステータス、ロイヤルティ、ポリシー検索、エスカレーションといった業務ロジックを実行する。Amazon DynamoDB は顧客プロファイル、予約、旅客、座席マップ、購入履歴、設定、会話記録、フライトデータを保存する。Bedrock Knowledge Bases は航空会社のポリシー文書に基づいて回答する。Amazon SES はメール通知を送信し、AWS Amplify が React フロントエンドをホストする。

構成図は四つの部分に分かれている。セクション A はバックエンド基盤で、五つの CDK スタックが DynamoDB テーブル、Lambda 関数、API Gateway エンドポイント、Bedrock Knowledge Bases、Cognito をデプロイする。セクション B は AgentCore Gateway で、一つの CDK スタックが MCP プロトコルにもとづくゲートウェイを作成し、各バックエンドエンドポイントをエージェントが名前で呼び出せるツールとして公開する。セクション C は AgentCore ランタイムで、二つの CDK スタックがランタイム基盤を整える。Amazon ECR がコンテナイメージを保管し、Amazon S3 がソースのアップロードを保持し、AWS CodeBuild が ARM64 の Docker イメージを生成し、ランタイムは Strands Agents フレームワークと Amazon Nova 2.5 Sonic を用いて WebSocket をサポートする。セクション D はフロントエンドで、一つの CDK スタックが React アプリを AWS Amplify に配備する。

ユーザーのリクエストは次のように流れる。ユーザーがブラウザーまたはモバイル端末で、AWS Amplify 上にホストされた Web アプリを開く。ログインページで認証情報を入力すると、Cognito が認証して JWT と一時的な AWS 認証情報を返す。フロントエンドは SigV4 署名付きの WebSocket 接続を Amazon Bedrock AgentCore に対して開き、音声セッションを開始する。ランタイムは Cognito でトークンを検証し、Bedrock を通じて Nova 2.5 Sonic を初期化する。ユーザーが発話すると Nova 2.5 Sonic が音声を処理してツール呼び出しを起こし、エージェントは MCP を用いて AgentCore Gateway を呼び出し、フライトデータの取得、予約の管理、旅客設定の更新を行う。Gateway はリクエストを REST API 呼び出しとして API Gateway に転送し、そこから Lambda 関数へルーティングする。Lambda は DynamoDB の予約、旅客、座席マップ、ロイヤルティ状況、フライト情報を照会し、SES でメール通知を送る。そして Nova 2.5 Sonic が文脈に沿った音声応答を生成し、AgentCore ランタイム経由で WebSocket からストリーミングして返す。ポリシーに関する質問では、Gateway が MCP のナレッジベースコネクターを通じて Bedrock Knowledge Bases を直接照会し、関連するポリシー箇所を引用としてエージェントに返す。ユーザーが有人対応を求めた場合、Lambda は DynamoDB にエスカレーションを記録して参照番号を返し、Amplify がユーザーの端末から発信してオペレーターにつなぐ。

構築と運用も整理されている。AWS CDK は単一スクリプトでソリューションをデプロイする。ビルドではエージェントのソースを Amazon S3 にアップロードし、AWS CodeBuild を起動してコンテナイメージを生成し、AgentCore ランタイム用に Amazon ECR へ格納する。Amazon CloudWatch があらゆるサービスのログ、メトリクス、アラートを収集し、AWS KMS が保存データを暗号化する。開始前の前提条件は、AWS アカウント、デプロイ先リージョンでの Amazon Nova 2.5 Sonic のモデルアクセス(知識ベースはサービス管理の埋め込みモデルを使うため個別のアクセス申請は不要)、Node.js 20.x 以降、Python 3.12 以降、認証情報を設定した AWS CLI 2.x、npm で導入しアカウントをブートストラップ済みの AWS CDK CLI 2.x、そして aws-samples GitHub リポジトリの付属コードである。デプロイはリポジトリをクローンし、AWS 認証情報を設定してデプロイスクリプトを実行するだけで、詳細な手順はリポジトリの README に記載されている。

サンプルの航空会社データモデルでは、API Gateway が IAM 認可エンドポイントと Lambda 統合を備えた REST API を公開し、DynamoDB が一桁ミリ秒のレイテンシーとオンデマンド拡張でデータを保持する。対象は顧客プロファイル、予約、旅客、座席マップ、購入履歴、設定、会話記録、フライトステータスに及ぶ。

ポリシーに関する質問への対応では、旅行者は手荷物の上限、変更手数料、ペット同伴、ロイヤルティ規約などを尋ねる。ソリューションは Bedrock Knowledge Bases による検索拡張生成(RAG)で、航空会社のポリシー文書に根拠を置いて回答する。リポジトリには手荷物、キャンセルと払い戻し、変更と再予約、運賃クラス規則、ロイヤルティ規約、ペット同伴、特別支援、アップグレードのサンプル文書が含まれる。文書を Amazon S3 にアップロードして知識ベースを一度作成すれば、埋め込み、チャンク化、インデックス作成、保存、検索は Bedrock が処理する。保存先は Amazon S3 Vectors であり、Smart Parsing によって PDF の表や構造化レイアウトも正確に検索できる。ポリシー文書を変更したときは知識ベースを同期すれば新内容がすぐに反映され、パイプラインを再デプロイする必要はない。知識ベースをエージェントに接続するのも簡単で、AgentCore Gateway で Connectors ターゲットとして追加し、標準検索かエージェント型検索を選ぶと、Gateway がバックエンド API のツールと並んで名前付き MCP ツールとして公開する。エージェントは実行時に発見して名前で呼び出せるため、独自の Lambda や検索コードは不要だ。自社ポリシーを使う場合は、PDF またはテキストファイルをポリシー文書フォルダーに置き、知識ベースのスタックを再デプロイすればよい。

音声 AI の処理では、各セッションが AgentCore ランタイム上のマネージドコンテナとして microVM 分離で動作し、負荷が高い状況でも旅行者の会話が互いに分離される。AgentCore は自動スケーリング、組み込みのモニタリング、セッションルーティングを提供する。本番運用では Amazon Bedrock Guardrails を追加し、プロンプトインジェクションの試みをフィルタリングして回答の根拠を検証することが推奨される。本ソリューションの「書き込み前の確認」パターンは、変更を行う前に旅行者へ確認を求める。このパターンと、回答を原本文書までたどれる知識ベースの引用が組み合わさることで、責任ある AI 実践の基礎がすでに用意されている。エージェントは Strands BidiAgents フレームワークでシステムプロンプト、ツール、会話フローを定義し、Nova 2.5 Sonic がコンシェルジュに次の能力をもたらす。アクセントをまたぐ音声認識と背景ノイズへの堅牢性、旅行者の口調に適応する発話応答、低遅延の双方向ストリーミング、会話を止めずにデータ取得やツール呼び出しを並行して行う非同期ツール呼び出し、ツール結果を待つ間に暫定的な発話を生成して遅延を覆い隠すレイテンシーマスキング、割り込みと自然な発話交代、そして多数のターンにわたって引き継がれる文脈である。音声はフロントエンドから 16 kHz PCM として WebSocket 経由で AgentCore ランタイムへ流れる。Nova 2.5 Sonic が発話を文字起こしし、エージェントが適切なツールを選んで MCP 経由で呼び出す。AgentCore Gateway は各 MCP 呼び出しを REST リクエストに変換し、Lambda がロジックを実行して結果を返し、Nova 2.5 Sonic がそれを音声の返答に織り込む。本ソリューションで採用する Nova 2.5 Sonic はリアルタイム音声向けの推論力に優れた音声対音声モデルであり、バックエンドツールを呼び出し詳細なシステムプロンプトに従う音声コンシェルジュでは、その推論力が優れたツール呼び出しとエージェント的なタスク完了として表れる。

要点と分析を開く

記事インテリジェンス

エンジニア中級

要点

  • Amazon Bedrock AgentCore ランタイム、AgentCore Gateway、Nova 2.5 Sonic、マネージド知識ベースでリアルタイム音声エージェントを構築
  • バックエンドのエンドポイントを名前付き MCP ツールとして公開し、既存システムとの疎結合を保つ
  • Nova 2.5 Sonic は低遅延の双方向ストリーミング、非同期ツール呼び出し、レイテンシーマスキング、割り込み、複数ターンの文脈維持を提供
  • AWS CDK の単一スクリプトでデプロイし、Cognito、API Gateway、Lambda、DynamoDB、S3 Vectors、SES、Amplify を統合

要点と分析は自動生成され、誤りを含む場合があります。原典をご確認ください。