AIF / ドメイン2 生成AIの基礎
重要な内容
Amazon Bedrock AgentCore
は、AIエージェントを安全に本番で動かすための部品をそろえたマネージドな基盤です。 AIF-C01では、アプリケーションを作るサービスとして、またAIシステムを守る仕組み (、) として問われます。
概要
エージェントを試作するのは簡単でも、本番で動かすには実行環境、記憶、認証、ツールへの接続、監視を用意する必要があります。 は、これらをインフラの管理なしで使える部品として提供します。 部品は組み合わせても、必要なものだけを単独で使ってもかまいません。
| 特徴 | 内容 |
|---|---|
| フレームワークを選ばない | 、LangGraph、CrewAIなど、さまざまなオープンソースのフレームワークで作ったエージェントを動かせます。 |
| モデルを選ばない | のモデルに限らず、さまざまなと組み合わせられます。 |
| 標準のプロトコル | やに対応します。 |
| 使った分の課金 | 前払いや最低料金のないです。 |
試験では、「作ったエージェントを本番で安全に動かしたい」「エージェントに利用者の代わりに外部サービスへアクセスさせたい」「エージェントが呼べる操作を規則で制限したい」という要件でAgentCoreを選びます。
Point
- AgentCore は「エージェントの中核 (core)」という意味の名前です。
- 試験ガイドでは、5.1のセキュリティの例として AgentCore Identity と AgentCoreのポリシー (Policy in AgentCore) が名指しされています。
主要技術
①主な部品 ⚠️ 頻出
| 部品 | 役割 | 選ぶ場面 |
|---|---|---|
| Runtime | エージェントやツールを動かすの実行環境です。利用者のセッションごとに分離された環境で動き、長時間の処理にも対応します。 | 作ったエージェントを本番へ載せたい |
| Memory | 会話の中の短期記憶と、セッションをまたぐ長期記憶を管理します。 | 会話の文脈や利用者の好みを覚えさせたい |
| Gateway | 既存の、関数、サービスをに対応したツールへ変換し、1つの入口からエージェントへ公開します。 | 既存のシステムをエージェントのツールにしたい |
| Identity | エージェントの身元と、外部サービスへの認証情報を管理します。 | 利用者の代わりに外部サービスへアクセスさせたい |
| Policy | エージェントのを、定めた規則で実行前に検査します。 | 呼べる操作や条件を確実に制限したい |
| Code Interpreter | 分離された環境でコードを実行させます。 | 計算やデータ分析をコードで正確に行わせたい |
| Browser | クラウド上のブラウザでWebサイトを操作させます。 | Webの画面操作や情報の取得を任せたい |
| Observability | エージェントの判断の過程、ツール呼び出し、モデルとのやり取りを追跡します。と連携します。 | 誤動作の原因を調べたい、監査したい |
| Evaluations | エージェントの出来を自動で評価します。 | 本番前後の品質を継続して測りたい |
⚠️ 頻出: 「既存のAPIやLambda関数を、作り直さずにエージェントのツールとして使いたい」ならGatewayです。
②AgentCore Identity ⚠️ 頻出
エージェントは人ではありませんが、を呼ぶ主体として身元と権限が必要です。 Identityは、エージェント向けの身元と認証情報の管理を担当します。
| 方向 | 内容 | 例 |
|---|---|---|
| 受け付け側の認証 (インバウンド) | 誰がエージェントを呼び出してよいかを確かめます。既存のIDプロバイダー (、Okta、Microsoft Entra IDなど) と連携します。 | 社員だけが社内エージェントを使える |
| 呼び出し側の認証 (アウトバウンド) | エージェントが外部サービスやAWSのリソースへアクセスするための認証情報 (OAuthのトークンやAPIキー) を安全に保管し、受け渡します。 | 利用者の代わりに予定表やチケット管理へアクセスする |
| 設計の判断ポイント | 内容 |
|---|---|
| 認証情報をコードに書かない | トークンやAPIキーはIdentityに預け、エージェントのコードや設定へ直接書きません。 |
| 利用者の代わりに動く | 利用者本人の同意と権限の範囲でアクセスさせます。 |
| 既存の仕組みを使う | 利用者の移行や認証の作り直しをせずに、既存のIDプロバイダーを使えます。 |
③AgentCoreのポリシー ⚠️ 頻出
エージェントの判断は確率的で、指示を誤解して権限外の操作をしようとすることがあります。 Policyは、Gatewayを通るすべてのをエージェントのコードの外で受け止め、定めた規則と照らし合わせてから実行を許可します。
| 特徴 | 内容 |
|---|---|
| 決定的な制御 | 規則に合わない呼び出しは、エージェントの判断にかかわらず止まります。 |
| 細かな条件 | 利用者の身元、呼ぶツール、引数の値に応じて許可や拒否を決められます。 |
| 書き方 | オープンソースの認可用の言語 (Cedar) で書くほか、自然な文章で規則を書いて変換することもできます。 |
| 監査 | 判定の結果をログとに残します。 |
⚠️ 頻出: で「〇〇はしないで」と指示するだけでは強制力がありません。ツールの呼び出しを確実に制限したいなら、エージェントの外で検査するPolicyを使います。
| 比べるもの | 何を制御するか |
|---|---|
| AWSのを誰が呼べるかを制御します。 | |
| エージェントがどのツールを、どの条件で呼べるかを制御します。 | |
| 入力と出力の内容 (有害表現、、話題) を検査します。 |
④Memoryの使い方
| 種類 | 内容 |
|---|---|
| 短期記憶 | 1つのセッションの中の発言と結果を保持します。 |
| 長期記憶 | 会話から好み、重要な事実、要約を取り出し、セッションをまたいで残します。 |
| 共有 | 複数のエージェントで記憶を共有できます。 |
利用者ごとに記憶を分け、を含む記憶の保持期間を決めます。
⑤Bedrockのエージェント (Classic) との関係
(現在の名称はAmazon Bedrock Agents Classic) は、新規の利用者を受け付けなくなり、保守の段階に入りました。 既存の利用者は使い続けられますが、新しいエージェントの開発にはが勧められています。
AgentCoreには、コードを書かずに設定から始める方法 (マネージドハーネス) と、コードで書いたエージェントを載せる方法の2つがあります。 マネージドハーネスでは、モデル、ツール、指示を宣言するだけで、実行環境、記憶、認証、追跡をAgentCoreが用意します。Bedrock Agents Classicに最も近い使い方です。 独自の流れの制御やが必要なら、などのフレームワークで書いたエージェントをRuntimeへ載せます。
| 観点 | Bedrock Agents Classic | AgentCore |
|---|---|---|
| 位置づけ | 設定で作る管理されたエージェントです。保守の段階です。 | 本番向けのエージェント基盤です。新規開発の推奨先です。 |
| フレームワーク | の仕組みに限られます。 | 任意のフレームワークを使えます。 |
| ツール | アクショングループで定義します。 | Gatewayでのツールとして公開します。 |
| 知識ベースと | エージェントに直接設定します。 | Gatewayなどを通して使います。知識ベースとガードレールそのものは影響を受けません。 |
試験対策
①判断マトリクス
| 問題文のキーワード | 選ぶもの |
|---|---|
| 作ったエージェントを、インフラを管理せずに本番で動かしたい | |
| 会話の文脈や利用者の好みを覚えさせたい | |
| 既存のや関数をエージェントのツールにしたい | |
| エージェントに利用者の代わりに外部サービスへアクセスさせたい | |
| 認証情報をエージェントのコードにたくない | AgentCore Identity |
| エージェントが呼べるツールと条件を規則で強制したい | |
| エージェントの判断の過程を追跡したい | Observability |
| エージェントの品質を自動で評価したい | |
| 生成内容の有害表現やを防ぎたい |
②よくある誤答
- をのモデルと専用と考えること。フレームワークもモデルも選べます。
- エージェントの権限をの指示だけで守ろうとすること。Policyで外から強制します。
- Identityとを同じものと考えること。IAMはAWSのの権限、Identityはエージェントの身元と外部サービスへの認証情報を扱います。
- Guardrailsでツールの呼び出しを制限できると考えること。ツールの呼び出しの制御はPolicyです。