Amazon Connectと生成AIでホテル予約を完全自動化してみた

このコラムは、以下のような課題や興味をお持ちの方を対象としています。
- コンタクトセンターの自動化を検討されている方 電話応対の工数を削減し、AIによる自動応答で業務効率化を図りたいと考えている実務担当者の方。
- Amazon Connectと生成AIの連携手法を学びたい方 Amazon Q やAIエージェント機能を活用し、高度な顧客体験をどのように実現するか知りたいエンジニアの方。
- 実用的なAIソリューションの構築に興味がある方 サンプルのホテルデータ(JSON)を用いて、パーソナライズされた回答を生成する、具体的な実装例を確認したい方。
本システムの構築にあたり、以下の技術リソースを参考にしました。
Amazon Connect 管理者ガイド (AWS 公式)
インスタンスの作成から問い合わせフローの基本設定まで、土台となる設定手順を確認しました。
Amazon Connect の Agentic AI を活用したインテリジェントカスタマーサービスの構築
Amazon Connect の設定と利用
オペレーターへのリアルタイムな回答支援や、ナレッジベースとの統合に関する詳細なガイドを参照しました。
Amazon Connect でコンタクトセンターを設定する
Amazon Connectと生成AIで実際にワークショップを作成したブログ
Amazon Connect と Bedrock などのAIサービスを組み合わせたアーキテクチャ設計において、参考にさせていただいたワークショップ記事となります。
Amazon Connectと生成AIでホテル予約を完全自動化するワークショップを試してみた
Amazon Connectを活用した予約電話の効率化に関するご相談はこちら
目次:
1. 検証にあたっての確認事項
1-1. 今回のハンズオンで使用したAWSサービス
本システムは、以下のAWSサービスを組み合わせて構築しています。
- Amazon Connect
- 電話の受付、IVR(音声応答)、および全体のコールフロー制御を担う中心的なサービスです。
- Amazon S3
- ナレッジベースを作成するためのサービスです。
- CloudFormation
- ホテル予約 API のバックエンドを作成する CloudFormation テンプレートをデプロイします。
- Amazon Q in Connect (旧 Connect Assistant)
- 生成AIを活用し、ナレッジベースから最適な回答を生成してエージェントや顧客に提示するために使用しました。
- Amazon Bedrock AgentCore
- すぐに使用できるホテル予約 API が含まれているサービスです。
- AWS Lambda
- Amazon Connectと外部データ(ホテルのJSONリスト)を仲介し、データの検索や予約処理などのロジックを実行するために活用しました。
1-2. 連携のポイント
各サービスを単体で動かすのではなく、いかにシームレスにつなぐか、が構築のポイントとなりました。
- AIエージェントによる柔軟なフロー分岐
- 「問い合わせフローデザイナー」内でAIエージェントブロックを活用し、顧客の入力に応じて動的に応答を切り替える構成にしました。
- ナレッジベースとの一貫した情報共有
- セルフサービス用のボットとオペレーター支援用のAmazon Qで同じソース(ホテルデータ)を参照させることで、どのチャネルでも情報のそごが起きないように工夫しました。
- コンタクト属性によるデータの引き継ぎ
- AIが判定した予約希望条件を「コンタクト属性」として保存し、Lambdaやウィスパーフローで活用することで、パーソナライズされた応答を実現しました。
2. 【実践】Amazon Connectのコンタクトフローを組み立てる
2-1. メインフローを作成してみた
Amazon Connectにおけるコンタクトフローは、いわばカスタマーエクスペリエンスの設計図です。
AIエージェントがいつ応答し、どのように顧客を特定し、いつ人間のオペレーターにつなぐのか、といった一連の流れをコントロールする重要な役割を担います。
メインフローを作成する前に、まずAWS公式サイトの手順に従って、3つのファイルをダウンロードする必要があります。これらのダウンロードしたファイルは、作成時にAmazon Connectのサイトにインポートしますが、項目1.2はモジュールタブへ、項目3(メインフロー)はフロータブへと、それぞれインポート先のタブを分ける点に注意してください。

まずはどのフローからも呼び出せるモジュールを2つインポートします。Amazon Connect コンソールで、Routing → Flows に移動し、Modules タブでインポートを実行しました。続いて、Save の横にある下矢印をクリックしてImport を選択し、ダウンロードしたbasic-setting-configurations.json ファイルを選択すると、モジュールがデザイナーに読み込まれます。

① 基本設定構成 (basic-setting-configurations-ja):
ロギングの開始、AIアシスタントセッションの初期化、録音・分析の有効化を一括で行います。

チェックが完了したら、Saveし、Publish をクリックしてモジュールを使用可能にします。
② 顧客プロファイル検索モジュール (customer-profile-lookup.json):
電話番号やメールアドレスから顧客を特定し、そのデータを読み込むためのいわゆる「顔パス」のような仕組みです。同様にファイルをインポートすると、このようなフローが自動作成されます。

また公開する前に【Update session data Lambda ブロック】 をクリックします。ARN の設定で、ドロップダウンから ConnectAssistantUpdateSessionData Lambda を選択し、Confirm を選択してブロック設定を閉じます。

両方のモジュールがフローモジュールリストに Published ステータスで表示されていることを確認できました。

またCustomer Profile Lookup モジュールをインポートする前に、【UpdateSessionData Lambda 関数】をデプロイする必要があります。そこでは、 UpdateSessionData Lambda をデプロイする (お客さまアカウントのみ)作業を求められる場合があります。AiAssistantARNの入力画面がありますが、 ここではConnect Assistant ARN を入力します。
Amazon Connect 管理ページの AI Agent designer → Any AI Agentで確認できます。と公式文書に掲載されていますが、左隣の「Assistant ARN」を入力してください。


2-2. メインフローでの統合とLexの紐付け
最後に、メインフローをFlowタブにインポートします。
また、AIエージェントのConfigurationでEnglishが設定されています。こちらの設定と同様に、メインフローの「音声の設定」においても、言語を「英語」に変更して下さい。
今回のワークショップで使用するAIボットが英語リソースとして作成されているため、呼び出し側のConnectも英語に合わせる必要があります。


また、顧客の入力を取得する(Get customer input)タブの、Lex ボットでは、ご自身で設定したHotelBookingBot を含むボット名と Alias に TestBotAlias をそれぞれ選択します。
Confirm をクリックして設定を完了し、保存(Save) → 公開(Publish)をして、完成です。

フロー内で、これまでのモジュールが正しくつながっているかをチェックします。
- モジュールの呼び出し: 先ほど作成した「基本設定」と「顧客検索」を最初に実行するよう設定。
- AIエージェントの起動: フローの核心部分である「Conversational AI」ブロックで、Amazon Lex ボット(HotelBookingBot)を紐付けます。
こうして構築したフローの流れを振り返ると、「ログを取る」→「セッションを作る」→「顧客を特定する」→「AIが話し始める」という一連の動作が、組み上がっていることがわかります。AWS公式記事より図を引用します。

2-3. 顧客プロファイル検索モジュールを作成してみた
コンタクトフローの構築が完了したら、次はAIエージェントが「発信者が誰であるか」を特定するための準備、カスタマープロファイルの作成に移ります。
なぜ顧客プロファイル検索モジュールの作成が重要なのか?
AnyCompany HotelsのAIがただの自動応答ではなく、優れたコンシェルジュとして振る舞うためには、お客さま情報を知ることが重要です。
電話がかかってきた瞬間、システムは以下のステップを瞬時に実行します。
- 電話番号を照合: カスタマープロファイルの中から一致する番号を検索。
- 情報の取得: 名前や顧客IDを特定。
- AIへコンテキストを注入: 「〇〇さま、こんにちは」というパーソナライズされた挨拶や、過去の予約状況に基づいたスマートな対応を可能にします。
ステップ1:エージェントワークスペースでの作業
設定はAmazon Connectの「エージェントワークスペース」から行います。
管理コンソールの右上にあるボタンをクリックすると、新しいタブでエージェント用の操作画面が開きます。ここで「+ プロファイル」ボタンを押し、自分の情報を入力していきます。ここでは必ず、マイクを許可する、を選択してください。


ステップ2:プロファイル入力のポイント
ここで非常に重要なのが、電話番号のフォーマットです。システムが正しく認識できるよう、E.164形式(例:日本なら +819012345678)で入力する必要があります。国コードの「+81」を忘れずに、ハイフンなしで入力するのがコツです。03-6xxx…という電話番号の場合、このように入力します。

ステップ3:AIとの連携を確認
保存後に、自分の番号で検索してプロファイルが表示されれば準備完了です。
この時発行される「プロファイルID」をキーにして、AIエージェントはホテル予約システム(API)へ「このお客さまの予約を教えて」と正確に問い合わせることができるようになります。プロファイルIDは、カスタマープロファイルから確認することができます。また、フロー内のモジュールで登録したカスタムプロファイル内に、「お客さまのプロフィール」という項目があります。ここの設定でも、メールアドレスを登録しておく事を推奨します。

顧客プロファイルを作成し、電話番号を連絡フローに関連付けたので、システムをテストする準備ができました。今回はチャットでテストを行います。BOTがシステム側の応答メッセージです。

例えば「イギリスのホテルを予約したい」と入力すると、イギリスのどの都市を希望するか自動で質問します。
ここで入力可能な都市は、AWSのモジュールプロンプトに含まれる都市名のみです。日本の都市名等はAWSデモのプロンプトには含まれませんのでご注意ください。

都市名を入力すると、続いてダミーのホテル候補が出てくるので、今回は1つめの候補地に設定してみます。


名前・メールアドレスを聞かれるので、入力します。

予約に必要な情報がそろった為、予約確定の文章を打ち込みます。

予約が完了し、設定変更後、AIエージェントが正常に動作し、ホテル予約のデモチャットが成功したことを確認できました。この予約のログは、Amazon DynamoDBでも確認することができます。

3. 【実践 2】AI Agentの設定をしてみた
3-1. AI Agentで用いたMCPアクション(ツール)一覧
AIエージェントにおけるMCPとは、AIモデルが外部のデータやシステムと対話するための共通のツールのようなものです。下図のようにToolに登録したツールは一覧表示されます。今回はデフォルト状態から、ホテル予約に関するツールを追加しました。

それぞれのツール名(アクション)と役割(AIで行われること)は以下の通りです。
cancel_reservation: 既存のホテルの予約をキャンセルするcreate_booking: 新しくホテルの宿泊予約を作成するget_customer_reservations: 特定の顧客が持っている現在の予約一覧を取得するmodify_reservation: 予約の日程や内容を変更するsearch_hotels: 条件に合うホテルを検索する
このほかにも、顧客・予約管理系(今回のホテルAPIの例)として一般的に使われるツールが多数存在します。
get_hotel_info: ホテルの詳細、住所、アメニティを取得する。check_room_availability: 指定した日付に空室があるか確認する。create_booking: 新しい予約を作成する。get_booking_details: 予約番号から現在の予約状況を確認する。cancel_booking: 既存の予約をキャンセルまたは変更する。
3-2. 各プロンプト設計を確認してみた
次に、具体的な業務を遂行するための「プロンプト設計」を確認していきます。
ここでは、単なるエージェントの性格設定だけを見るのではありません。プロンプト内でどのように「システム変数」や「顧客情報」が注入されているのかに注目します。
リアルタイムな状況把握の仕組みとして、AIが一般論を話すのではなく、以下の要素を正確に理解するための仕組みが存在します。
- 誰が: 問い合わせているユーザーの属性
- いつ: 連絡のタイミングや緊急度
- 何を求めているか: 具体的なニーズや背景
これらの要素が、プロンプトの各セクションへどのように配置されているのか、その詳細な設計を紐解いていきましょう。
エージェントの性格とロール
本システムの設計において、AIエージェントは単なる自動応答機能ではなく、「AnyCompany Hotels のデジタルコンシェルジュ Sunny(サニー)」としての役割を担っています。
You are Sunny, the AI concierge for AnyCompany Hotels! You're here to make booking a stay as delightful as finding an extra pillow mint.
エージェントの性格と応対トーンの最適化として、「陽気で温かく、お客さまのご要望に対して誠心誠意向き合う」というコンセプトのもとで設計されています。冒頭の歓迎の挨拶から、親しみやすさと熱意を感じさせる言葉選びを行うことで、機械的ではなく、宿泊予約というおもてなしにふさわしい空気感を提供しています。つまりこの部分を編集することで、更に事務的な対応にすることや、親しみを増すプロンプトを生み出すことができます。
システム変数
プロンプトはシステム変数を使用して、動的にコンテキストを各会話に反映します。
- {{$.locale}} - 応答の言語/ロケール
- {{$.contactId}}、{{$.instanceId}}、{{$.sessionId}} - セッショントラッキング
- {{$.dateTime}} - 現在のタイムスタンプ
- {{$.toolConfigurationList}} - このエージェントで利用可能なツール
これらの変数により、エージェントが適切なコンテキストを持つことができ、値をハードコーディングする必要がなくなります。
顧客情報
顧客データは Customer Profiles から自動的に反映されます。
<customer_info> - First name: {{$.Custom.firstName}} - Last name:
{{$.Custom.lastName}} - Customer ID: {{$.Custom.customerId}} - email:
{{$.Custom.email}} </customer_info>
これにより、エージェントは対話をパーソナライズし、基本情報を尋ねることなく予約を検索できます。
なぜこれらのプロンプトが重要なのか?
優れたプロンプトは、AI エージェントの振る舞いのベースとなり、以下の価値を担保します。
- 一貫したユーザー体験 すべての顧客に対し、Sunnyらしい「フレンドリーで親身な対応」を等しく提供します。
- 的確なツール・ハンドリング どのツールを、いつ、どのような手順で呼び出すべきかをAIが正しく判断します。
- 強固なセキュリティ データの漏えいや悪意のある誘導を防ぐための「防護策」がプロンプト内に組み込まれます。
- 音声への最適化(Voice-Native) テキストの羅列ではなく、耳で聞いた際に自然で心地よい応答を生成します。
-
高度なパーソナライズ 顧客データを文脈に合わせることで、一人ひとりに最適化された特別な体験を作り出します。
- 一貫した体験 - すべての顧客に対して、フレンドリーで役立つSunnyが提供される
- 適切なツールの使用 - エージェントは各ツールをいつ、どのように使うべきかを知っている
- 情報セキュリティ - 悪意のある要求やデータ漏えいに対する保護が組み込まれている
- ボイス最適化 - 音声で発話される際に自然な応答になる
- パーソナライズ - 顧客データが適切に使用され、体験が強化される
尚、各プロンプトを作成した後に保存→公開をクリックしないと反映されませんので、その点ご注意ください。
3-3. プロンプトをイギリスの執事風に変更してみた
AI エージェントの性格は、プロンプトによって定義されています。 そこでシステムプロンプトを変更して、フレンドリーなコンシェルジュの Sunny をイギリスの執事風にしてみましょう。
まず、オリジナルのプロンプトはこちらです。

元のプロンプトに少しアレンジを加えて、AI執事こと、【レジナルド】へ変身させてみましょう。

プロンプト更新の手順は以下の通りです。
Amazon Connect 管理コンソール > AI エージェント > hotel-booking-agentへ移動します。

プロンプトタブ > Hotel-Booking-Orchestration-Promptを選択します。

性格(Personality)セクションを新しい指示に書き換えます。
元のプロンプト (サニー)

新しいプロンプト(レジナルド)

「保存」をクリックし、次に「公開」をクリックして新しいバージョンを作成します。
エージェントビルダーで最新バージョンを選択し、「公開」をクリックして完了です。
さらに先ほどのプロンプトに、サニーの文面を入力することで、再びコンシェルジュの性格を戻すことも可能です。自由にリカバリーが効く点が、このプロンプトのメリットです。
4. まとめ
4-1. ハンズオンを通じてわかったこと
ハンズオンを通して実際に構築していく中で、いくつか設定の発見がありました。
特に気を付けるべき点を、何点かご紹介させていただきます。
- ①「保存」の次は必ず「公開」
-
Amazon Connectの設定でよくあるミスが、保存しただけで公開せずに満足してしまうことです。
もし公開ボタンを押し忘れると、いくら設定を書き換えても反映されず、登録したはずなのに動かないという事態を招くので、必ず「保存」と「公開」をセットで行う習慣をつけるとよいです。
- ② プロンプト(音声)は自作しなくてOK
- 当初、案内用の音声データを作るのは大変そうだと不安に思っていましたが、Amazon Connectの公式ドキュメントには、汎用性の高い複雑なプロンプト(音声ガイダンス)がすでに公開されていました。これらを活用すれば、プロフェッショナルな音声案内をすぐに構築できます。無理に自作せず、公式の知恵を借りて作業できるのは初心者にとって親切な設計です。
- ③ ダウンロードが止まったら、端末のセキュリティソフトをチェック
- もし、ツールやログのダウンロードが上手くいかない場合、端末の情報セキュリティソフトが怪しい通信と勘違いしてブロックしている可能性があります。ダウンロードがブロックされたら、一時的にバイパス(例外設定)を試してみてみると解決するケースがあります。
- ④ ログインの瞬間を楽しむ
- 各設定を終え、リンクからAmazon Connect 管理ウェブサイトに無事ログインできた時、そしてチャットボットがスムーズに動き出した時の達成感はひとしおです。この画面が開けば、あなたのコンタクトセンターが動き出す準備は整っています。是非お試しいただければ幸いです!
Amazon Connectを活用した予約電話の効率化に関するご相談はこちら
- Amazon Web Services(AWS)およびその他のAWS 商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
RECOMMEND
その他のコラム
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。






