Amazon Bedrock で企業システム連携 AI エージェントを簡単構築

生成 AI を活用したエージェントによる自動化ワークフロー

Amazon Bedrock in SageMaker Unified Studio は、洗練された生成 AI エージェントの作成とデプロイを支援します。これらのエージェントは、組織のアプリケーション、データベース、さらにはサードパーティシステムとシームレスに統合できます。このレベルの統合により、テクノロジースタック全体で自然言語による対話が可能になります。チャットエージェントは、複雑な情報システムとユーザーフレンドリーなコミュニケーションを結び付ける重要な橋渡し役として機能します。Amazon Bedrock の機能と Amazon Bedrock Knowledge Bases を活用することで、エージェントは多様なデータソースに接続できます。これらのソースは、リアルタイムのプロジェクトステータス追跡のための JIRA API から、顧客情報を取得するための顧客関係管理 (CRM) システムまで多岐にわたります。エージェントは、プロジェクトタスクの更新、ユーザー設定の管理なども実行できます。

この包括的な機能は、組織内のさまざまなチームに大きなメリットをもたらします。営業チームとマーケティングチームは、顧客情報や希望する会議時間にすばやくアクセスできます。プロジェクトマネージャーは、JIRA タスクとタイムラインを効率的に管理し、プロジェクトのワークフローを最適化できます。AI エージェントによって促進されるこの合理化されたプロセスは、組織全体の生産性向上と顧客との対話の改善につながります。

ソリューション概要

Amazon Bedrock は、SageMaker Unified Studio 内で、ガバナンスの効いた共同作業環境を提供し、生成 AI アプリケーションの構築と共有を可能にします。顧客管理エージェントの実装を示す実用的なソリューション例を見てみましょう。

  • エージェント型チャット: Amazon Bedrock のチャットアプリケーション機能を使用して、洗練されたエージェント型チャットアプリケーションを構築できます。このチャットアプリケーションは、AWS Lambda (サーバーレスコンピューティング用) や Amazon API Gateway (API の作成と管理用) など、他の AWS サービスを使用して簡単に構築できる機能とシームレスに統合できます。
  • データ管理: SageMaker Unified Studio は、Amazon DataZone と連携して、統合サービスを通じて包括的なデータ管理ソリューションを提供します。組織の管理者は、Amazon Bedrock のモデルと機能へのメンバーアクセスをきめ細かく制御できます。これにより、安全な ID 管理と詳細なアクセス制御が保証され、データのセキュリティとコンプライアンスが維持されます。

AI エージェントのデプロイを詳しく説明する前に、アーキテクチャの主要な手順を説明すると役立ちます。

ワークフローは次のように展開されます。

  1. ユーザー認証と対話: ユーザーは、AWS IAM Identity Center から組織の SSO 資格情報を使用して SageMaker Unified Studio にログインすることでプロセスを開始します。認証されると、ユーザーは自然言語を使用してチャットアプリケーションと対話し、質問をしたり、リクエストをしたりします。
  2. 関数の呼び出し: Amazon Bedrock チャットアプリケーションは、事前定義された関数をインテリジェントに利用して、関連情報を取得します。この関数は、JIRA のステータス更新やデータベースからの顧客情報を取得するように設計されている場合があります。取得は、API Gateway を使用して安全なエンドポイントを介して実行されます。
  3. セキュアアクセスと Lambda トリガー: チャットアプリケーションは、API Gateway で自身を認証し、指定されたエンドポイントに安全にアクセスします。この認証は、AWS Secrets Manager に安全に保存されたランダムに生成された API キーを使用して実現されます。ユーザーのリクエストに基づいて、適切な Lambda 関数がトリガーされます。
  4. アクションの実行: 起動された Lambda 関数は、ユーザーが要求した特定のアクションを実行します。これには、エージェントによって提供された必要なパラメータを使用して JIRA API を呼び出すか、データベースをクエリすることが含まれます。エージェントは、次のようなさまざまなタスクを処理するように設計されています。
    1. 特定の顧客の概要を簡潔に提供する。
    2. 特定の顧客との最近のやり取りを一覧表示する。
    3. 指定された顧客の会議設定を取得する。
    4. 特定のプロジェクトに関連付けられている未解決の JIRA チケットのリストを取得する。
    5. 特定の JIRA チケットの期日を更新する。

前提条件

このソリューションの実装に従い、独自の顧客管理エージェントを構築するには、次の前提条件が必要です。

  • AWS アカウント: 必要なサービスにアクセスするには、アクティブな AWS アカウントが不可欠です。
  • SageMaker Unified Studio アクセス: SageMaker Unified Studio 内の Amazon Bedrock へのユーザーアクセスが必要です。
  • モデルアクセス: Amazon Bedrock 上の Amazon Nova Pro へのモデルアクセスが必要です。このモデルがサポートされている AWS リージョンで利用可能であることを確認してください。
  • JIRA セットアップ: JIRA アプリケーション、対応する JIRA URL、およびアカウントに関連付けられた JIRA API トークンが、JIRA との統合に必要です。

API Gateway、Lambda 関数、IAM Identity Center など、AWS の基本的なサーバーレスの概念について基本的な理解があることを前提としています。この投稿では、これらのサービスの詳細な定義は提供しませんが、SageMaker Unified Studio 内で利用可能な新しい Amazon Bedrock 機能のコンテキストでのユースケースを示します。

ソリューションのデプロイ

顧客管理エージェントソリューションをデプロイするには、次の手順に従います。

  1. コードのダウンロード: 提供された GitHub リポジトリから必要なコードをダウンロードすることから始めます。
  2. JIRA 認証情報の取得: Lambda 関数の JIRA_API_KEY_ARNJIRA_URL、および JIRA_USER_NAME の値を取得します。これらの認証情報は、JIRA インスタンスでの認証に使用されます。
  3. CloudFormation スタックの起動: 提供された AWS CloudFormation テンプレートを利用します。希望する AWS リージョンでスタックを起動する方法の詳細については、「CloudFormation コンソールからスタックを作成する」のドキュメントを参照してください。
  4. API Gateway URL: CloudFormation スタックが正常にデプロイされたら、出力タブに移動します。ApiInvokeURL の値を見つけてメモします。この URL は、API Gateway のエンドポイントを表します。
  5. Secrets Manager の設定: Secrets Manager コンソールにアクセスします。JIRA_API_KEY_ARNJIRA_URL、および JIRA_USER_NAME に対応するシークレットを見つけます。
  6. シークレット値の更新: 各シークレットのシークレットの取得オプションを選択します。手順 2 で取得した対応する変数をシークレットのプレーンテキスト文字列にコピーします。これにより、JIRA 認証情報が安全に保存されます。
  7. SageMaker Unified Studio へのサインイン: 組織の SSO 資格情報を使用して SageMaker Unified Studio にサインインします。

新しいプロジェクトの作成

インフラストラクチャが整ったので、SageMaker Unified Studio 内に新しいプロジェクトを作成しましょう。

  1. プロジェクトの作成: SageMaker Unified Studio のランディングページで、新しいプロジェクトの作成を開始します。
  2. プロジェクトの名前付け: プロジェクトにわかりやすい名前を付けます (例: crm-agent)。
  3. プロファイルの選択: Generative AI application development profile を選択して続行します。
  4. デフォルト設定: デフォルト設定をそのまま使用して続行します。
  5. 確認: プロジェクトの設定を確認し、Create project を選択して確定します。

チャットエージェントアプリケーションの構築

次に、ソリューションの中核となるチャットエージェントアプリケーションを構築しましょう。

  1. チャットエージェントの開始: crm-agent プロジェクトのランディングページで、右側の New セクションを見つけます。Chat agent を選択して、アプリケーションの構築を開始します。
    これにより、エージェントアプリケーションの設定リストが表示されます。

  2. モデルの選択: モデルセクションで、Amazon Bedrock でサポートされている希望の基盤モデル (FM) を選択します。この crm-agent では、Amazon Nova Pro を選択します。

  3. システムプロンプトの定義: システムプロンプトセクションで、次のプロンプトを指定します。このプロンプトは、エージェントの動作と応答をガイドします。オプションで、ユーザー入力とモデル応答の例を含めて、パフォーマンスをさらに向上させることができます。

    あなたは、営業担当者が顧客との仕事を計画するのを支援する顧客関係管理エージェントです。API エンドポイントが提供されます。このエンドポイントは、会社の概要、会社のやり取り履歴 (会議時間とメモ)、会社の会議設定 (会議の種類、曜日、時刻) などの情報を提供できます。Jira タスクを照会し、そのタイムラインを更新することもできます。応答を受け取ったら、読みやすい形式にクリーンアップします。出力が番号付きリストの場合は、改行文字と番号を使用してそのようにフォーマットします。

  4. 関数の作成: Functions セクションで、Create a new function を選択します。この関数は、エージェントが実行できるアクションを定義します。

  5. 関数の名前付け: 関数にわかりやすい名前を付けます (例: crm_agent_calling)。

  6. 関数スキーマ: Function schema には、GitHub リポジトリで提供されている OpenAPI 定義を使用します。このスキーマは、関数の入力パラメータと出力パラメータを定義します。

  7. 認証設定: Authentication method で、API Keys (Max. 2 Keys) を選択し、次の詳細を入力します。

    1. Key sent in で、Header を選択します。
    2. Key name に、x-api-key と入力します。
    3. Key value に、Secrets Manager API キーを入力します。
  8. API サーバーエンドポイント: API servers セクションに、CloudFormation の出力から取得したエンドポイント URL (ApiInvokeURL) を入力します。

  9. 関数の最終処理: Create を選択して、関数の作成を完了します。

  10. アプリケーションの保存: チャットエージェントアプリケーションの Functions セクションで、作成した関数を選択し、Save を選択してアプリケーションの作成を完了します。

対話の例

このチャットエージェントの使用方法の実際的な例をいくつか見てみましょう。

ユースケース 1: CRM アナリストによる顧客詳細の取得

CRM アナリストは、自然言語を使用して、データベースに保存されている顧客の詳細を取得できます。彼らが尋ねる可能性のある質問の例を次に示します。

  • ‘顧客 C-jkl101112 の概要を簡単に教えてください。’
  • ‘顧客 C-def456 の最近のやり取りを 2 つリストしてください。’
  • ‘顧客 C-mno131415 はどのようなコミュニケーション方法を好みますか?’
  • ‘顧客 C-ghi789 の設定と最後のやり取りに基づいて、連絡を取るのに最適な時間と連絡チャネルを推奨してください。’

エージェントは、これらのリクエストを受け取ると、インテリジェントにデータベースをクエリし、対応する回答を明確かつ簡潔な形式で提供します。

ユースケース 2: プロジェクトマネージャーによる JIRA チケットの管理

プロジェクトマネージャーは、エージェントを使用して JIRA チケットをリストし、更新できます。対話の例を次に示します。

  • ‘プロジェクト ID CRM の未解決の JIRA タスクは何ですか?’
  • ‘JIRA タスク CRM-3 を 1 週間後に更新してください。’

エージェントは JIRA ボードにアクセスし、関連するプロジェクト情報を取得して、未解決の JIRA タスクのリストを提供します。また、ユーザーの要求に応じて、特定のタスクのタイムラインを更新します。

クリーンアップ

不要なコストが発生しないように、次のクリーンアップ手順を実行します。

  1. CloudFormation スタックの削除: 以前にデプロイした CloudFormation スタックを削除します。
  2. 関数コンポーネントの削除: Amazon Bedrock で作成した関数コンポーネントを削除します。
  3. チャットエージェントアプリケーションの削除: Amazon Bedrock 内のチャットエージェントアプリケーションを削除します。
  4. ドメインの削除: SageMaker Unified Studio のドメインを削除します。

コスト

SageMaker Unified Studio 内で Amazon Bedrock を使用しても、追加料金は発生しません。ただし、サービス内で利用した個々の AWS サービスとリソースに対して課金されます。Amazon Bedrock は従量課金制モデルで動作します。つまり、最低料金や前払いなしで、消費したリソースに対してのみ料金を支払います。

料金計算に関する詳細なサポートが必要な場合、または特定のユースケースのコストを最適化する方法について質問がある場合は、AWS サポートに問い合わせるか、アカウントマネージャーに相談することをお勧めします。彼らはあなたのニーズに基づいてカスタマイズされたガイダンスを提供できます。