Amazon Web Services ブログ
【開催報告】3D アバターとマルチ AI エージェント による新たな接客体験
AWS Summit Japan 2025 が 6 月 25 日、26 日の 2 日間、幕張メッセにて開催され、会場とオンラインを合わせて過去最高となる延べ 69,000 人超の方にご参加いただきました。Industry Pavilion 流通小売消費財ブースでは「The Future of Retail – AWS の提案するリテールの少し先の未来 ( 参考ブログ記事 )」をテーマに展示を行い、本ブログではその中のデモ、「マルチ AI エージェントと 3D アバターによる新たな接客体験」についてご紹介します。
このデモでは、小売業界の店舗接客をテクノロジーで進化させ、マルチ AI エージェントと連携した 3D アバターが顧客一人ひとりにパーソナライズされた買い物体験を提供する新しい小売の形を示しました。人手不足の解消や接客品質の均一化といった業界課題に対するソリューションとして、多くの来場者の注目を集めました。
3D アバター接客がもたらす小売業の新たな価値
流通小売消費財企業における接客スタッフは実店舗での最も重要な顧客接点です。しかし、日本の労働人口減少による深刻な人手不足や高い離職率、接客品質の均一化といった課題に直面しています。特に小売業界では、人材確保が経営課題となっており、持続可能な店舗運営のための新たなソリューションが求められています。
近年、生成 AI の技術進化とネットワークインフラの充実により、3D アバターによる接客が実用段階に入りつつあります。これによって 24 時間対応可能な接客、顧客データと連携したパーソナライズされたレコメンデーションなど、人間のスタッフだけでは実現困難だった体験が可能になります。アバターは自然な会話能力を持ち、実際に喋ることができるため、より人間らしいインタラクションを提供できます。
今回展示した 3D アバターシステムでは、Amazon One Enterprise ( 参考ブログ記事 ) で取得した認証情報を元に顧客の属性、購買履歴、カート情報のデータを分析し、最適な接客を提供する機能が実装されています。Amazon One は、手のひらと静脈の画像を ID にリンクすることで、ID を正確に認証できる非接触型 ID 認証サービスです。この技術は店舗接客だけでなく、オンラインショッピング、ホテル、医療機関、金融機関など、様々な顧客接点に応用可能です。
マルチ AI エージェントの連携がもたらす新たな顧客体験価値
流通小売消費財企業が人手不足や接客品質の均一化という課題に直面する中、複数の AI エージェントが連携するマルチ AI エージェントは効果的な解決策を提供します。顧客属性や商品データの取り扱いにに特化したエージェント、接客対応に長けたエージェントなどが状況に応じて最適な対応を行い、それぞれの専門性を活かした総合的なサービスを実現します。生成 AI を活用したエージェントは、従来のプログラミングによる細かな制御を必要とせず、ルールベースでは難しい柔軟な応答や多様な顧客ニーズへの対応も可能です。これらのエージェントは顧客の属性や購買段階を検知して柔軟に役割を切り替え、Amazon One で取得した認証情報と連携した 3D アバターを通じて、顧客一人ひとりの購買履歴や属性に基づいたパーソナライズされた接客を 24 時間提供します。さらには、各エージェントが収集したデータを共有・分析することで接客の質が継続的に向上し、来店ごとに進化する体験を可能にします。このように、マルチ AI エージェントシステムは単なる省人化ツールではなく、人間のスタッフだけでは実現困難だった柔軟性と専門性を兼ね備えた新たな顧客体験価値を創出し、実店舗からメタバースまで幅広い顧客接点における次世代の小売体験の基盤となることが期待されています。
展示内容
会場では 3D ホログラフィックディスプレイによる接客アバター(写真左)を展示し、AI エージェントと連携した少し先の未来へとつながる購買体験をお客様にご覧いただきました。お客様が Amazon One で認証を行うと、システムが顧客情報を取得し、AI エージェントが自動的に起動します。AI エージェントのプロセスについてはモニタリングされ(写真中央)、複数の AI エージェントが一貫した接客をどの様に行うのかを見ることができます。AI エージェントは取得した顧客情報をもとに、アバターへ会話内容を送信します。アバターはお客様の名前を優しく呼びかけながら、丁寧な挨拶で接客を開始します。さらに、AI エージェントが顧客の属性、購買履歴、カート情報を分析し、アバターがお客様へ最適化されたレコメンデーションを親しみやすい言葉で案内します。
図1 AWS Summit Japan 2025 流通小売消費財ブースの様子
図2 マルチ AI エージェントによる接客のプロセスをモニタリング
接客デモの全体アーキテクチャ
接客デモの構成について説明します。全体構成図は次のようになっています。
図3 接客デモの全体アーキテクチャ図
以下は構成図内の番号と対応した説明になります。
1. Amazon One の端末からユーザーの識別子を送信
お客様の来店時に Amazon One へ手をかざしていただき、Amazon One のユーザーレジストリと連携した認証を開始します。
2. 認証情報を Amazon EventBridge へ送信
認証されたユーザー ID を Amazon EventBridge へ送信し、AI エージェントを起動するイベントとします。
3. AI エージェントの起動
イベントから AWS Lambda が起動されます。Lambda ではAIエージェントを構築・実行するオープンソースの SDK「Strands Agents SDK」により、購買履歴等の取得、メッセージの作成、メッセージの送信を行うタスクに分解され、それぞれの処理が実行されます。
4. 仮想店舗よりデータを取得
「Retail Demo Store ( 参考ブログ記事、およびソースコード )」と名付けられた仮想店舗よりユーザー ID を基に、ユーザー名、購買履歴、おすすめアイテムを取得します。
5. レコメンデーションメッセージの作成
識別したユーザーに応じた挨拶やレコメンデーションメッセージを、取得したデータから生成AIが作成します。
6. アバターが発話
アバターに話をさせるための API(Speak API)へメッセージを送信し、ホロフラフィックディスプレイデバイス上でアバターが発話します。発話の際の唇の動きといったアバターの細かな動きは、ホロフラフィックディスプレイ上のアプリケーションで描画をしいます。
7. おすすめアイテムをタッチパネルへ表示
手順 4 で取得したおすすめアイテムをタッチパネルへ表示し、追加購入へとつなげやすいインターフェースを提供します。
8. おすすめアイテムの商品選択
アバターによる接客で購買体験を得た流れで、選択された商品データを送信します。
9. 追加購入商品をカートへ
以上の一連の流れで、3D アバターによる接客を通じて少し先の未来へとつながる購買体験ができます。
マルチ AI エージェントのアーキテクチャ
接客デモのバックエンドで動くマルチ AI エージェントのアーキテクチャについて説明します。このアーキテクチャは接客シナリオに応じて最適な対応を実現するために設計されています。商品案内、顧客対応と異なる専門性を持つ複数の AI エージェントが連携し、AWS 上の生成 AI サービスやコンテナ技術を活用したフルマネージド環境で動作することで、拡張性と保守性に優れたシステムを実現しています。
主要な技術スタック
サービス
- AI エージェント: Strands Agents SDK + Amazon Bedrock Claude 3.7 Sonnet
- メッセージング: RabbitMQ
- バックエンド: Node.js/TypeScript
- フロントエンド: React/TypeScript
- コンテナ実行環境: AWS Fargate (Amazon ECS)
エージェント部分の処理を独立させるため、メッセージキューを使用して疎結合なアーキテクチャを採用しています。限られた期間での実装とデプロイを実現するため、ローカル開発環境では Docker Compose を使用し、AWS へのデプロイには AWS Copilot CLI を活用しました。この組み合わせにより、開発からプロダクション環境まで一貫したコンテナベースの運用を実現しています。
図4 マルチ AI エージェントによる接客体験デモ アーキテクチャ図
マルチ AI エージェントの構成
AI エージェントは3つのエージェントで構成され、それぞの接客を行うためのそれぞれの役割を担っています。
- メインエージェント:
- 全体の接客フローを統括し、サブのエージェントへ役割分担と連携を実現
- ECサイトエージェント:
- サブエージェントとして、メインエージェントから指示を受ける
- 顧客情報やおすすめ商品の取得などECサイト操作の専門性を発揮
顧客属性に基づくパーソナライズド情報を提供し、接客の質を向上
- アバターシステムエージェント:
- サブエージェントとして、メインエージェントから指示を受ける
- 自然な言語生成によりアバターの会話を実現
- 対話型のタッチポイントを通じて、顧客とのエンゲージメントを高める
メインエージェント
エージェント定義
メインエージェントは Strands Agents SDK を通して、サブエージェントの振る舞いとなる役割を自然言語で指定し、利用できるツールの説明を記述し、サブエージェントがツールを適切に使えるようにしています:
agent = Agent(
model=os.getenv('AGENT_MODEL_ID'),
tools=[query_ec_agent, query_avatar_agent],
system_prompt="""
あなたはマルチAIエージェントシステムのメインエージェントです。
重要なルール:
1. 自分でデータを生成・推測することは絶対に禁止されています
2. 全ての操作は専用ツールを通じて行う必要があります
3. ユーザ情報やレコメンド情報が必要な場合は必ず query_ec_agent ツールを使用
4. アバター関連の操作は必ず query_avatar_agent ツールを使用
利用可能なツール:
- query_ec_agent: ECサイトのユーザ情報取得、レコメンド取得、カートID取得、カート内容取得、カート操作
- query_avatar_agent: アバターの挨拶生成、セリフ送信
必ずツールを使用してタスクを完了してください。
""",
callback_handler=_callback_handler
)
また、プロンプトにより一連の接客フローを指定しています:
このプロンプト設計により、メインエージェントは他の専門エージェントを適切な順序で呼び出し、一貫した接客フローを実現します。
EC サイトエージェント
エージェント定義
ECサイトエージェントはメインエージェントから指示により役割を定義され、複数のツールを持つ専門エージェントとして実装されています:
agent = Agent(
model=os.getenv('AGENT_MODEL_ID'),
tools=[get_user_info, get_recommendations, get_cart_id, get_cart],
system_prompt="""
あなたはECサイト操作エージェントです。
ユーザ情報の取得、レコメンド商品の取得、カートへの商品追加などの
ECサイト関連の操作を担当します。なお通貨は米ドル (USD) です。
""",
callback_handler=_callback_handler
)
EC サイトの操作
Strands Agents SDK の @tool アノテーションを使用することで、Python 関数を簡単にエージェントのツールとして定義できます:
@tool
def get_user_info(user_id: str) -> dict:
url = f"{_api_base_url}/users/id/{user_id}"
try:
return json.dumps(get_api(url, _api_region))
except Exception as e:
logger.error(f"Error getting user info: {e}")
return {"error": str(e), "user_id": user_id}
@tool
def get_cart(cart_id: str) -> str:
url = f"{_api_base_url}/carts/{cart_id}"
try:
return json.dumps(get_api(url, _api_region), ensure_ascii=False)
except Exception as e:
logger.error(f"Error getting cart: {e}")
return json.dumps({"error": str(e), "cart_id": cart_id, "items": []})
get_api
という関数は、後述する Retail Demo Store に対する API アクセスを行うラッパー関数です。API のホストには Amazon API Gateway が利用されており、ラッパー関数内で SigV4 署名を行っています。
Retail Demo Store について
本デモでは Retail Demo Store と呼ばれる、AWS のサービスを利用したモダンなアーキテクチャにより構成された e コマース
のリファレンス実装をバックエンドの EC サイトとして活用しています。実際のECサイトと同様のAPIを提供しており、デモ開発に最適なプラットフォームです。
Agent as Tools
重要な点として、ECサイトエージェント自体も @tool
アノテーションを付与した関数内で定義することで、メインエージェントからツールとして呼び出される設計になっています。これにより、エージェント間の階層的な協調動作を実現しています。
アバターエージェント
エージェント定義
アバターエージェントはメインエージェントから指示により、挨拶文の生成とアバターシステムへの挨拶文送信を担当します:
agent = Agent(
model=os.getenv('AGENT_MODEL_ID'),
tools=[invoke_avatar_lambda],
system_prompt="""
あなたはアバターシステム操作エージェントです。
依頼に応じてアバターが話すセリフを生成し、アバター操作用Lambdaを呼び出す役割を担当します。
セリフを生成したら、セリフ文を提示してからLambdaを呼び出してください。
セリフは2種類あります。
1. ユーザへの挨拶
2. カート内容へのコメント
ユーザへの挨拶は以下のルールに従って生成してください。
- ユーザ名を含むこと
- 「こんにちは、[ユーザ名]さま、(ひとこと)」など、簡潔であること
- アラビア数字や漢字は使わないこと
- ひらがなとカタカナのみ利用していること
カート内容へのコメントは、以下のルールに従って生成してください。
- カート内の商品について触れること、ただし商品名を正確に復唱する必要はなく、すべての商品について述べる必要はない
- 50文字程度の長さとすること
- アラビア数字や漢字は使わないこと
- ひらがなとカタカナのみ利用していること
以下のツールを使用できます:
1. invoke_avatar_lambda: 生成した挨拶文をアバターシステムに送信する
""",
callback_handler=_callback_handler
)
※ 本デモでは、アバターによる発音の都合上、文字種の指定も行っています。
アバターシステムとの連携は AWS Lambda を通じて行われ、以下のようなツールで実装されています:
@tool
def invoke_avatar_lambda(greeting: str) -> dict:
try:
lambda_client = boto3.client(
'lambda',
region_name=os.getenv('PROTO_SPEAK_LAMBDA_REGION')
)
payload = json.dumps({"text": greeting})
response = lambda_client.invoke(
...後略
この実装により、AI が生成した自然な挨拶文がリアルタイムでアバターに反映され、お客様に対してパーソナライズされた接客体験を提供できます。
なお、ブースの技術解説コーナーで利用していたデモ解説などの資料は、こちらのリンクからダウンロードいただくことが可能です。
まとめ
流通小売消費財企業は、商品開発製造から物流、多様なチャネルを横断したシームレスな購買体験の提供、進化する消費者のニーズと期待に応えるためのオペレーション最適化などを再発明 (reinvent) するための変革に直面しています。AWS Summit 2025 で展示された 3D アバターと マルチ AI エージェントの技術は、その変革において欠かすことのできない技術要素である生成 AI を中心に店舗体験を「少し先の未来」へと変えることができます。Amazon One による認証と AI エージェントを組み合わせ、顧客データを活用した高度なパーソナライゼーションと自然な会話による接客体験を実現しています。この技術は今後、小売業界だけでなく様々な顧客接点を持つ業界へと広がり、人間のスタッフ、生成 AI エージェント、3D アバターが共存する新しい接客の形として、顧客体験の向上と業務効率化の両立に貢献していくことが期待されます。
本記事著者およびデモの開発は、ソリューションアーキテクト 古山と小森谷が担当しました。