AI News HubLIVE
サイト内リライト4 分で読了

Amazon Bedrock AgentCoreでNLPを活用したAI駆動のダッシュボード自動化エージェントを構築する

このソリューションは、Amazon Bedrock AgentCore、Strands Agents、Amazon Quickの機能を組み合わせ、安全でスケーラブルかつインテリジェントなAIエージェントの構築と運用を実現し、データを実用的なビジネスインサイトに変換します。

ソースAWS Machine Learning Blog著者: Aravind Hariharaputran

ビジネスアナリストは、変化するビジネス要件に対応するためにダッシュボードの変更を依頼すると、数日待たされることがよくあります。従来のプロセスでは、ITチームに変更リクエストを送信し、ITチームが要件を解釈し、APIドキュメントを参照し、テーブルスキーマを理解し、変更をデプロイする必要がありました。このアプローチは適切な監督と品質管理を維持しますが、迅速なダッシュボード更新が必要な場合、数日間のターンアラウンドタイムが発生する可能性があります。

このソリューションは、Amazon Bedrock AgentCore、Strands Agents、Amazon Quickの機能を組み合わせ、安全でスケーラブルかつインテリジェントなシステムを提供し、AIエージェントの構築と運用を可能にすると同時に、データを実用的なビジネスインサイトに変換します。

ソリューション概要

このソリューションでは、Amazon Bedrock AgentCoreとStrandsフレームワークを使用したマルチエージェントアーキテクチャを採用しています。Amazon Bedrock AgentCoreは、インフラストラクチャ管理を必要とせず、安全に大規模なエージェントを構築、デプロイ、運用するためのエージェントプラットフォームです。インテリジェントメモリとゲートウェイにより、ツールやデータへの安全で制御されたアクセスを実現し、エージェントの本番稼働を加速します。また、本番環境でのセキュリティと動的スケーリングを提供し、パフォーマンスと品質を監視します。Strands Agentsは、AWSサービスと統合するエージェントを構築するためのコードファーストのフレームワークです。さらに、Amazon QuickはAI駆動のBI機能を提供し、散在するデータを全員の戦略的インサイトに変換し、より迅速な意思決定とビジネス成果の向上を可能にします。

このアーキテクチャは、3つの専門エージェントが連携します。

  • 検索ダッシュボードエージェント:ダッシュボードの検索、ダッシュボードおよびデータセットからの列メタデータの取得などのディスカバリー操作を実行します。
  • 変更ダッシュボードエージェント:列の検証、テーブルビジュアルの更新、新しいダッシュボードバージョンの作成など、設定変更を実行します。
  • オーケストレーターエージェント:意図の分類に基づいて、ユーザーリクエストを適切な専門エージェントにルーティングします。

オーケストレーターエージェントはユーザー対話のエントリポイントとして機能します。ユーザーが「testingダッシュボードにlastnameを追加」などの自然言語クエリを送信すると、Amazon Novaがリクエストを会話型または操作型に分類します。会話型クエリにはNovaのLLM機能を使用して直接応答します。操作型リクエストはStrandsフレームワークを通じて専門エージェントにルーティングされ、利用可能なデータセット列に対して変更を検証し、自律的に変更を実行します。同時に、セキュリティ制御と監査証跡を維持し、ロールバックのために元のダッシュボードを保持します。

アーキテクチャコンポーネント

アーキテクチャには以下のコンポーネントが含まれます。

  • Amazon Bedrock AgentCore:Strandsエージェントオーケストレーターと専門のサブエージェントをホストします。
  • Amazon Nova:自然言語処理と推論機能を提供します。
  • Amazon Quick:ダッシュボードのディスカバリーおよび変更操作のターゲットサービスです。
  • AgentCore Memory:会話コンテキストとセッション状態を維持します。
  • Amazon Bedrock AgentCore Observability:エージェントの決定をログに記録し、APIインタラクションを追跡します。

実装手順

QuickセルフサービスのためのエージェンティックAIソリューションを実装するには、以下の高レベルの手順を実行します。

  1. エージェント(検索ダッシュボードエージェント、変更ダッシュボードエージェント、オーケストレーターエージェント)を構築します。
  2. エージェントをAmazon Bedrock AgentCoreにデプロイします。
  3. AWS管理コンソールを通じてエージェントをテストします。

前提条件

このソリューションを実装するには、以下の前提条件が必要です。

  • Amazon Bedrock、Amazon Quick、およびAWS Identity and Access Management(IAM)の権限を持つAWSアカウント。
  • 既存のダッシュボードがあるアクティブなAmazon Quickアカウント。
  • Quick APIへのアクセスをエージェントに許可するIAM権限の設定。
  • Python 3.10以降。
  • uvパッケージマネージャーのインストール。
  • 適切な認証情報で設定されたAWS CLI。
  • PythonおよびAWSサービスの基本的な理解。

詳細な手順

ステップ1:Quickセルフサービスエージェントの構築

3つのコアエージェントを構築します。

1.1 検索ダッシュボードエージェントの構築

このエージェントは、表示や変更アクションに必要なダッシュボードのディスカバリー操作を処理します。たとえば、ユーザーが「testingという名前のレポートを表示」という自然言語クエリを送信すると、オーケストレーターがこのエージェントを呼び出し、list_dashboards APIを実行してダッシュボードメタデータを取得し、検索条件に基づいてフィルタリングし、構造化された形式で一致するダッシュボードを返します。

このエージェントは3つのコア機能を提供します:完全一致および部分一致をサポートするダッシュボード検索、アカウント内の利用可能なダッシュボードの一覧表示、ダッシュボードとその基盤データセットの両方からの列情報の取得。各機能はStrandsの@tool関数として実装されています。

1.2 変更ダッシュボードエージェントの構築

このエージェントは、検証優先のワークフローを通じてダッシュボード設定の変更を処理します。たとえば、ユーザーが「testingダッシュボードにlastnameを追加」というリクエストを送信した場合、オーケストレーターはこれを変更ダッシュボードエージェントにルーティングし、エージェントは列がデータセットスキーマに存在するかを検証し、describe_dashboard_definition APIを使用して完全なダッシュボード定義を取得し、テーブルビジュアルのフィールドウェルとフィールドオプションを更新し、create_dashboard APIを使用して新しいダッシュボードバージョンを作成します。

このエージェントは2つの主要操作をサポートします:ダッシュボードへの列の追加(リクエストされた列が基盤データセットに存在するが、まだダッシュボードにないことを検証後)およびダッシュボードからの列の削除(列が現在表示されていることを確認後)。既存のダッシュボードを変更するのではなく、一意の識別子を持つ新しいダッシュボードを作成し、元のダッシュボードは監査とロールバックのために保持します。

1.3 オーケストレーターエージェントの作成

最終コンポーネントは、Strandsフレームワーク内のツールとして検索ダッシュボードエージェントと変更ダッシュボードエージェントを調整します。オーケストレーターはルーティングロジックを指示するシステムプロンプトを定義し、両方の専門エージェントのツール登録を含み、分類された意図に基づいてそれらを呼び出します。ルーティングロジックは自然言語理解を通じて複数のクエリパターンを処理します。

このマルチエージェントアーキテクチャにより、ビジネスアナリストは自然言語を使用してダッシュボードを迅速に変更でき、数日の待ち時間を数分に短縮できます。このソリューションは効率性を向上させるだけでなく、元のダッシュボードを保持し監査証跡を提供することで、コンプライアンスとセキュリティを確保します。