AWS Certified Generative AI Developer - Professional 資格対策コース
Amazon Bedrock Agents・AgentCore とエージェンティック AI 基礎
このレッスンで学ぶこと 対応試験ドメイン D2 タスク 2.1.1(エージェンティック AI の基礎)。Amazon Bedrock Agents の構成要素(アクショングループ・Knowledge Base・オーケストレーション)と、Amazon Bedrock AgentCore が提供するランタイム・メモリ・ゲートウェイ・アイデンティティを理解し、OSS フレームワーク Strands Agents との役割分担を区別できるようになります。
解説
エージェンティック AI とは、基盤モデル(FM)が自律的にツールを呼び出し、複数ステップのタスクを計画・実行する仕組みです。AWS でこれを実現する中心が Amazon Bedrock Agents です。試験では「自律タスク実行が必要なときに AWS のどのマネージド機能を選ぶか」という設計判断が問われます。
Amazon Bedrock Agents の構成要素
Bedrock Agents は FM にオーケストレーション能力を与えるマネージド機能です。主な構成要素は次の通りです。
| 構成要素 | 役割 |
|---|---|
| 基盤モデル(FM) | 推論・計画・どのツールを呼ぶかの判断を担う |
| アクショングループ(Action Groups) | 呼び出せるツール群。OpenAPI スキーマか関数定義で API を宣言し、実体は Lambda 関数 |
| Knowledge Base 連携 | RAG による社内データ参照。Amazon Bedrock Knowledge Bases を関連付ける |
| オーケストレーション | ユーザー要求を分解し、ツール呼び出しと推論を反復する制御ループ(マネージド) |
| プロンプトテンプレート | 前処理・オーケストレーション・後処理など各段階のプロンプトをカスタマイズ可能 |
開発者はツールの「実体」を Lambda 関数として書き、その「呼び出し仕様」を OpenAPI スキーマで宣言します。FM がどのツールをいつ呼ぶかは Bedrock のマネージドオーケストレーションが判断するため、ReAct ループを自前実装する必要がありません。
Amazon Bedrock AgentCore
Amazon Bedrock AgentCore は、本番運用グレードのエージェントを任意のフレームワークやモデルで動かすための基盤コンポーネント群です。Bedrock Agents が「マネージドなエージェント本体」であるのに対し、AgentCore は「エージェントを支える本番インフラ部品」を提供します。主なモジュールは下記のとおりです。
| AgentCore モジュール | 提供する機能 |
|---|---|
| AgentCore Runtime | エージェントを安全に長時間実行するサーバーレスランタイム |
| AgentCore Memory | 短期・長期のメモリ管理(会話文脈の永続化) |
| AgentCore Gateway | 既存 API や Lambda をエージェント用ツールに変換する仕組み |
| AgentCore Identity | エージェントの ID・認可(外部サービスへの安全なアクセス) |
| AgentCore Observability | エージェント挙動のトレース・監視 |
AgentCore は特定のフレームワークに縛られず、Strands Agents や他の OSS と組み合わせて使えます。
Strands Agents との境界(AWS 公式 vs OSS)
ここが試験の頻出ポイントです。Strands Agents は AWS が公開したオープンソースの SDKであり、コードでエージェントを構築するためのフレームワークです。一方 Amazon Bedrock Agents と Amazon Bedrock AgentCore は AWS マネージドサービスです。試験で「マネージドにオーケストレーションを任せたい」「インフラ管理を AWS に委ねたい」場合は Bedrock Agents / AgentCore が答えになります。Strands Agents は「コードで細かく制御したい」OSS の選択肢として位置づけられます。
コード例(Bedrock Agent の呼び出し)
作成済みのエージェントを実行時に呼び出す最小例です。認証情報は IAM ロール経由で、ハードコードしません。
Python
import boto3
client = boto3.client("bedrock-agent-runtime", region_name="us-east-1")
resp = client.invoke_agent(
agentId="AGENTID123",
agentAliasId="ALIASID456",
sessionId="session-001",
inputText="先月の東京リージョンの請求額を集計して",
)
for event in resp["completion"]:
if "chunk" in event:
print(event["chunk"]["bytes"].decode("utf-8"), end="")試験で問われるポイント
- Bedrock Agents と AgentCore の役割分担。Bedrock Agents は「マネージドなエージェント本体(オーケストレーション込み)」、AgentCore は「フレームワーク非依存で本番運用を支える部品群(ランタイム・メモリ・ゲートウェイ・アイデンティティ)」。どちらも AWS マネージド
- Strands Agents は OSS。AWS 公式の試験範囲としては名称が出るが、それ自体はマネージドサービスではなくコードフレームワーク。「マネージドに任せたい」要件では Bedrock Agents / AgentCore を選ぶ
- アクショングループのツール実体は Lambda 関数、呼び出し仕様は OpenAPI スキーマ。この対応関係がよく問われる
- 社内ドキュメントを根拠に回答させたいなら、エージェントに Amazon Bedrock Knowledge Bases を関連付ける(RAG)
サービスの使い分け早見表
| やりたいこと | 使うもの | 混同しやすいもの |
|---|---|---|
| マネージドな自律エージェント(オーケストレーション込み) | Amazon Bedrock Agents | Strands Agents(OSS フレームワーク) |
| 任意フレームのエージェントを本番運用する基盤部品 | Amazon Bedrock AgentCore | Bedrock Agents(エージェント本体そのもの) |
| エージェントのツール実体を実装 | AWS Lambda | API Gateway(公開エンドポイント用) |
| エージェントに社内データを参照させる | Amazon Bedrock Knowledge Bases | Amazon Kendra(エンタープライズ検索単体) |
まとめ
エージェンティック AI を AWS で実現する中心は Amazon Bedrock Agents(マネージドなオーケストレーション)と Amazon Bedrock AgentCore(フレームワーク非依存の本番運用部品群)です。ツール実体は Lambda、宣言は OpenAPI、社内データ参照は Knowledge Bases という対応を押さえます。Strands Agents は AWS 公式の OSS フレームワークで、マネージドサービスとは区別して判断するのが試験の肝です。
次のステップ
次のクイズレッスンで、エージェント構成要素の使い分けとマネージド/OSS の境界を問うシナリオ問題に挑戦しましょう。
関連レッスン
- ReAct パターン・推論分解・モデルアンサンブル(pro-agents-react)
- 停止条件・タイムアウト・Human-in-the-loop(pro-agents-guarded)
- MCP サーバー・OpenAPI によるツール拡張(pro-agents-mcp)