View a markdown version of this page

エージェントビルダー - AWS での生成 AI アプリケーションビルダー

エージェントビルダー

エージェントビルダーは、Amazon Bedrock AgentCore で本稼働対応の AI エージェントを作成、デプロイ、管理するためのプラットフォームを提供します。このセクションでは、技術的なコンポーネントと実装の詳細について説明します。

AgentCore 統合

エージェントビルダーは、事前構築されたエージェントイメージで設定ベースのデプロイアプローチを使用して、高速で安全でスケーラブルなエージェントデプロイを可能にします。

構築済みのエージェントイメージ

エージェントコンテナイメージは、CI/CD パイプライン中に GAAB チームによって構築され、パブリック ECR リポジトリに公開されます。各イメージバージョンは、GAAB ソリューションバージョン (v4.0.0 → gaab-strands-agent:v4.0.0 など) に関連付けられています。イメージは Strands SDK に基づいており、以下が含まれます。

  • エージェントランタイム環境

  • MCP クライアント統合

  • メモリ管理機能

  • OpenTelemetry 計装

ECR プルスルーキャッシュ

このソリューションでは、ECR プルスルーキャッシュを使用して、エージェントイメージをパブリック ECR リポジトリからお客様のプライベート ECR に自動的に配布します。この AWS マネージドサービスは、以下を実行します。

  • 初回プル時にイメージをキャッシュ (2~5 分の遅延)

  • カスタムイメージコピーロジックを不要化

  • 後続デプロイ向けにローカルイメージを利用可能に

  • デプロイごとに一意のキャッシュルールを作成し、競合を回避

ストレージの設定

エージェント設定は、既存のユースケース設定とともに DynamoDB に保存されます。それぞれの設定には以下が含まれます。

  • システムプロンプトテンプレート

  • モデルプロバイダーとモデル ID

  • モデルパラメータ (温度、max_tokens)

  • MCP サーバーのリファレンスとエンドポイント

  • メモリ設定 (長期メモリ切り替え)

  • デプロイメタデータ

イメージバージョンレジストリ

DynamoDB テーブルは、使用可能なエージェントイメージのバージョンとそのキャッシュ URI を追跡し、バージョン管理と下位互換性を可能にします。

エージェントの設定

システムプロンプト

システムプロンプトは、エージェントの動作、パーソナリティ、機能を定義します。管理者ユーザーは、次のことができます。

  • エージェントビルダー UI を使用してデフォルトのテンプレートを編集する

  • ツールの使用方法とレスポンスのフォーマットに関する手順を含める

  • いつでもデフォルトテンプレートにリセットする

モデルの選択

エージェントビルダーは v4.0.0 で Amazon Bedrock モデルをサポートしています。

  • モデルプロバイダー: Amazon Bedrock (v4.0.0 のオプションのみ)

  • モデルの選択: Claude、Nova、およびその他の Bedrock モデル

  • モデルパラメータ: 温度、max_tokens、top_p、モデル固有の設定

MCP サーバー統合

モデルコンテキストプロトコルサーバーは、エージェントにエンタープライズツールとデータへのアクセスを提供します。

  • GET /mcp API エンドポイントによるサーバー検出

  • コードを変更しない動的設定

  • 認証とエンドポイント管理

  • エージェントへのツール機能の露出

ストリーミングと処理

リアルタイムストリーミング

エージェントビルダーは、リアルタイムのレスポンスストリーミングに AgentCore ブリッジから WebSocket へのサーバー送信イベント (SSE) を使用します。

  • Lambda 関数が AgentCore Runtime への SSE 接続を確立する

  • ストリームは API Gateway WebSocket にブリッジされる

  • クライアントへのトークンごとのレスポンス配信を有効にする

  • 長時間実行されるリクエストの接続を維持する

処理の制約

v4.0.0 でのエージェント処理は、Lambda 実行タイムアウトに制限されています。

  • 最大処理時間: 15 分

  • 同期処理モデル

  • 会話エージェントと中程度のワークフローに最適

  • v4.1 以降で予定されている非同期サポートの拡張

メモリ管理

短期メモリ

カスタム MemoryHookProvider を使用するすべてのエージェントに対してデフォルトで有効になっています。

  • Strands コールバックハンドラーを介して会話イベントをキャプチャ

  • コンテキスト分離のために actorId と sessionId で整理する

  • セッション内の会話コンテキストを維持する

  • AgentCore Memory との自動統合

長期メモリ

strands_tools の AgentCore Memory Tool を使用するオプション機能:

  • エージェントビルダー UI の簡単な切り替え

  • デフォルト設定のセマンティックメモリ戦略

  • 自然ツール呼び出しによるエージェント制御アクセス

  • 抽出されたインサイトをセッション間で保存する

  • conversationId を sessionId として使用する

オブザーバビリティ

AWS OpenTelemetry Distro (ADOT)

エージェントはコンテナビルド中に自動的に計測されます。

  • エージェントオペレーションの自動トレース生成

  • サービス境界間の分散トレース

  • 相関 ID を使用した構造化ログ記録

  • CloudWatch トランザクション検索との統合

認証フロー

ユーザーは、ユーザーグループに基づいて DynamoDB から IAM ポリシーを取得するカスタム Lambda オーソライザーによって検証された JWT トークンを使用して Amazon Cognito を介して認証します。

ワークフロービルダー

ワークフロービルダーは、エージェントをツールとして委任するパターンを使用して複数のエージェントビルダーのエージェントをオーケストレーションするスーパーバイザーエージェントを作成することで、マルチエージェントオーケストレーションを有効にします。

ワークフローアーキテクチャ

主要コンポーネント:

  • スーパーバイザーエージェント: ユーザーリクエストを受け取り、専門エージェントに委任するエントリポイントエージェント

  • 専門エージェント: スーパーバイザーのツールとして登録されたエージェントビルダーのユースケース

  • エージェントレジストリ: エージェント設定とメタデータを保存する DynamoDB テーブル

  • オーケストレーションレイヤー: Agents as Tools パターンの Strands SDK 実装

エージェントのインスタンス化

ローカルエージェントの作成

すべての専門エージェントは、同じ AgentCore Runtime 内でローカルにインスタンス化されます。

  1. DynamoDB からエージェント設定を取得

  2. 各エージェントビルダーのエージェントのローカルインスタンスを作成

  3. 各エージェントは独自の MCP サーバー接続を維持

  4. スーパーバイザーエージェントが専門エージェントをツールとして登録

  5. Strands SDK がエージェントの選択と委任を管理