エージェントビルダー
エージェントビルダーは、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 内でローカルにインスタンス化されます。
-
DynamoDB からエージェント設定を取得
-
各エージェントビルダーのエージェントのローカルインスタンスを作成
-
各エージェントは独自の MCP サーバー接続を維持
-
スーパーバイザーエージェントが専門エージェントをツールとして登録
-
Strands SDK がエージェントの選択と委任を管理