3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【最新サービスを徹底深堀り】Amazon Bedrock AgentCoreとは何か?

3
Last updated at Posted at 2025-12-14

Amazon Bedrock AgentCoreは、今年10月にGAされた最新のサービスです。

にも関わらず、12/16より開始されるAWS認定の新試験 AWS Certified Generative AI Developer – Professional では、AgentCoreが出題対象のサービスとして数えられています。

そこで、Amazon Bedrock AgentCore技術的に深く、かつ 凡人エンジニアでも理解できるよう噛み砕いた 学習ノートを作成して勉強しました。

このノートはChatGPTが作成し、人間がチェックしました


0. このノートの読み方(試験対策向け)

  • 太字:試験でキーワードとして問われやすい用語
  • 📘補足:概念理解のための噛み砕き説明
  • 🧠試験観点:選択肢問題で狙われやすいポイント
  • 🏗設計観点:アーキテクチャ設計問題での使い所

1. Amazon Bedrock AgentCore 全体像

1.1 AgentCore とは何か(ひとことで)

Amazon Bedrock AgentCore は、

「AIエージェントを 安全に・大規模に・実運用 するためのマネージド実行基盤」

です。

何が嬉しいのか?

従来のエージェント開発では:

  • エージェントの実行環境(コンテナ、スケーリング)
  • ユーザーごとの会話状態管理
  • 外部API接続時の認証・権限制御
  • ツール呼び出しのガバナンス
  • ログ・監視・評価

自分で全部作る必要 がありました。

AgentCore はこれらを AWSがマネージドで提供 します。

📘補足:

「Lambdaが関数実行の土台を提供した」のと同じ立ち位置で、 AgentCoreは「AIエージェント実行の土台」を提供します。

🧠試験観点:

  • AgentCore = モデルそのものではない
  • AgentCore = エージェントの実行・運用基盤

1.2 Bedrock 内での位置づけ

Amazon Bedrock の構成要素を整理すると:

レイヤ サービス 役割
モデル Claude / Nova / etc 文章生成・推論
ガード Bedrock Guardrails 安全制御
RAG Knowledge Bases 検索拡張生成
エージェント基盤 AgentCore 実行・連携・運用

🏗設計観点:

  • AgentCoreは「モデルをどう使うか」を司る層
  • モデル変更しても AgentCore 設計は流用できる

2. AgentCore Runtime(実行基盤)

2.1 Runtime の役割(Why)

AgentCore Runtime は「エージェントを“生き物”として動かすための心臓部」です。

エージェントは以下を同時に満たす必要があります。

  • 会話の文脈(状態)を保持する
  • ツールを呼び出す
  • モデル推論を複数回行う
  • ユーザーごとに安全に分離される
  • 負荷に応じて自動的にスケールする

従来の Lambda / ECS では、これらを自前実装する必要がありました。 AgentCore Runtime はこれを エージェント前提で抽象化 しています。

📘補足(凡人向け)

Lambda は「1回で終わる仕事向け」 エージェントは「考えながら何度も行動する仕事向け」


2.2 セッション分離(Isolation)

なぜ重要か

エージェントは以下を扱います。

  • ユーザー入力(個人情報を含む)
  • 社内データ
  • 外部API操作権限

これが混ざると 即インシデント です。

AgentCore の仕組み

  • 各セッション = 独立したサンドボックス
  • メモリ / ツール状態 / 実行コンテキストを分離

🧠試験観点

  • 「マルチテナント環境での安全な実行」→ Runtime + Isolation

2.3 実行モデル(Execution Model)

Runtime 上での典型的な流れ:

  1. ユーザー入力を受信
  2. モデル推論(思考)
  3. ツール選択
  4. Gateway 経由でツール実行
  5. 結果を Memory に反映
  6. 再度モデル推論
  7. 応答生成

📘補足

「推論 → 行動 → 振り返り」を繰り返す

これは ReAct / Plan-Act-Reflect パターンそのものです。


2.4 スケーリング特性

  • サーバレス
  • 同時数千〜数万セッション
  • 長時間実行(数分〜時間)対応

🧠試験観点

  • ECS を自分でスケール? → 不正解
  • AgentCore Runtime → 正解

3. AgentCore Memory(記憶)

3.1 なぜ Agent に「記憶」が必要なのか(Why)

LLM 単体は ステートレス です。

  • 1回の推論 = その瞬間だけ賢い
  • 次の呼び出しでは「完全に忘れる」

しかし エージェント は違います。

エージェントは:

  • 会話を継続する
  • 過去の判断を踏まえて行動する
  • ユーザーごとに振る舞いを変える

👉 つまり 状態(State)を持つ存在 です。

AgentCore Memory は、この「状態管理」を モデルから切り離して 提供します。

📘凡人向け補足

LLM = 記憶喪失の天才 Agent = 記憶を持たせた実務担当者


3.2 Memory の設計思想(重要)

AgentCore Memory の本質は、

「何をモデルに渡し、何を外に保持するか」を分離すること

です。

なぜ分離するのか?

  • プロンプトに全部詰めると

    • トークン爆増
    • コスト増
    • ノイズ増
  • モデルに覚えさせると

    • 制御不能
    • 削除・更新不可

👉 Memory は“外部状態ストア”

🧠試験観点

  • Memory = プロンプト工夫ではない
  • Memory = アーキテクチャ要素

3.3 短期メモリ(Short-term Memory)

役割

  • 直近の会話履歴
  • ユーザーの直前意図
  • 途中までの思考結果

技術的特徴

  • セッション単位
  • 揮発的
  • 自動的にモデルへ注入

📘例

ユーザー:「その注文をキャンセルして」 → 「その」が何かを短期メモリが保持

🧠試験観点

  • マルチターン会話 = 短期メモリ

3.4 長期メモリ(Long-term Memory)

役割

  • ユーザー固有の事実
  • 繰り返し参照される情報
  • パーソナライズ要素

技術的特徴

  • セッションをまたいで保持
  • 構造化 / 半構造化
  • セマンティック検索可能

📘例

・このユーザーは管理者 ・日本語回答を好む

🧠試験観点

  • パーソナライズ = 長期メモリ

3.5 Memory と Knowledge Base の違い(超重要)

観点 Memory Knowledge Base
スコープ ユーザー依存 全体共通
更新頻度 動的 比較的静的
目的 状態保持 事実検索

📘凡人向け理解

Memory = 人の記憶 KB = 社内Wiki

🧠試験観点

  • RAG が必要 → Knowledge Base
  • 会話文脈 → Memory

3.6 Memory があることで可能になる設計

  • 会話継続型エージェント
  • ユーザー別権限制御
  • 過去行動を踏まえた判断

🏗設計観点

  • Memory 無し = チャットボット止まり
  • Memory 有り = エージェント

4. AgentCore Gateway(ツール連携)

4.1 Gateway の正体(結論から)

AgentCore Gateway は「ツール実行の制御プレーン」 です。

単なる API プロキシではありません。

Gateway が解決する本質的な問題は:

  • エージェントに 何をさせてよいか
  • どの手段で 実行させるか
  • どの権限で 実行させるか
  • どう監査・制御するか

モデルの外側で強制する ことです。

📘凡人向け補足

モデルは「やる気がある新人」 Gateway は「業務ルールと決裁フロー」


4.2 なぜ LLM に直接 API を呼ばせてはいけないのか

ダメな設計(アンチパターン)

  • プロンプトに API の URL / パラメータを書く
  • Lambda を直接呼ばせる

何が起きるか

  • 意図しない API 呼び出し
  • 権限逸脱
  • 再現不能な挙動
  • 監査不可

🧠試験観点

  • 「モデルに API を直接書かせる」選択肢 → 不正解

4.3 Gateway が提供する抽象化

Gateway は以下を 分離 します。

関心事 分離先
何ができるか Tool 定義
認証 Identity
実行可否 Policy
実体 API / Lambda

👉 モデルは「何をしたいか」だけを考える。


4.4 MCP(Model Context Protocol)とは何か

一言で

MCP = モデルとツールの共通インターフェース

なぜ必要か

  • ツールごとに I/F が違う
  • モデルごとに tool calling 仕様が違う

組み合わせ爆発

MCP はこれを断ち切ります。

📘凡人向け補足

USB 規格のようなもの


4.5 Gateway と MCP の関係

  • Gateway は

    • API / Lambda / SaaS を
    • MCP 準拠ツールに変換
  • エージェントは

    • MCP とだけ会話

🧠試験観点

  • MCP = 標準化
  • Gateway = 実装

4.6 Tool 選択の仕組み(重要)

エージェントは:

  1. ユーザー要求を理解
  2. 利用可能なツール一覧を参照
  3. 意味的に最適なツールを選択

👉 Gateway は

  • ツールの 意味情報(Schema) を提供

📘補足

モデルは「名前」ではなく「意味」で選ぶ


4.7 セキュリティ・ガバナンス

Gateway 単体では完結しません。

機能 担当
認証 Identity
実行可否 Policy
実行 Gateway

🏗設計観点

  • Gateway は必ず Policy とセット

4.8 API Gateway / Lambda との違い

観点 API Gateway AgentCore Gateway
想定利用者 人 / アプリ AI エージェント
権限制御 静的 動的・文脈依存
監査 API単位 意図単位

🧠試験観点

  • エージェント用途 → AgentCore Gateway

4.9 Gateway があることで可能になる設計

  • ツールの差し替え
  • 安全な自律行動
  • 監査可能な AI

🏗設計観点

  • Gateway 無し = 危険な自律AI
  • Gateway 有り = 企業AI

5. AgentCore Identity(認証)

5.1 Identity の役割(結論)

AgentCore Identity は「エージェントは誰として行動するのか」を定義する仕組み です。

重要なのは:

  • 人間ユーザーの認証ではない
  • API の認証でもない

👉 非人間主体(Non-Human Identity) を扱うこと


5.2 なぜエージェントに Identity が必要か

問題設定

  • エージェントが S3 を読む
  • エージェントが DB を更新する

👉 誰の権限?

  • 開発者?
  • 管理者?
  • エンドユーザー?

📘凡人向け補足

人が操作しないのに「誰として?」が必要


5.3 IAM だけでは足りない理由

IAM は:

  • 静的
  • 事前定義
  • 人 or サービス前提

エージェントは:

  • 動的
  • 文脈依存
  • ユーザー代理

👉 設計前提がズレている

🧠試験観点

  • 「IAM ロールを直接付与」→ 多くの場合 NG

5.4 Non-Human Identity とは何か

定義

人間ではないが、行為主体として扱う ID

例:

  • エージェント
  • バッチ
  • ワークフロー

AgentCore では:

  • エージェントごとに Identity を定義

5.5 ユーザー代理実行(On-behalf-of)

一言で

ユーザーの権限を一時的に借りる

なぜ必要か

  • ユーザー A のデータを
  • ユーザー B の権限で触らせない

👉 SaaS 必須要件

📘凡人向け補足

代理印鑑


5.6 Identity と Gateway / Policy の関係

[ Agent ]
   |
[ Identity ] ← 誰として
   |
[ Policy ] ← 何ができるか
   |
[ Gateway ] ← 実行

🏗設計観点

  • Identity 単体では意味がない

5.7 セキュリティ設計のベストプラクティス

  • エージェント専用 Identity
  • 最小権限
  • ユーザー代理は一時的

🧠試験観点

  • 永続的な広権限 → 不正解

5.8 よくある誤解(試験対策)

誤解 正解
エージェント = IAM ロール
ユーザー権限を常時付与
Gateway が認証もする

5.9 Identity を理解した状態

あなたは今:

  • なぜ AgentCore が必要か
  • なぜ Bedrock Agent では足りないか

セキュリティ視点で説明可能


6. AgentCore Policy(制御)

6.1 Policy の本質(結論)

AgentCore Policy は「エージェントの意図を評価し、実行可否を決める仕組み」 です。

重要なのは:

  • API の可否判定ではない
  • IAM ポリシーの代替ではない

👉 意図(Intent)レベルの制御


6.2 なぜプロンプト制御は破綻するのか

よくある失敗

  • 「○○してはいけません」と書く
  • ルールを長文化する

なぜダメか

  • LLM は確率モデル
  • 解釈が揺らぐ

📘凡人向け補足

マニュアルを守る新人ではない

🧠試験観点

  • プロンプト制御のみ → 不正解

6.3 Policy が評価するもの

Policy は以下を入力に取ります。

要素 内容
Identity 誰として
Intent 何をしたいか
Context 文脈
Resource 対象

👉 API 前ではなく 実行前


6.4 Intent(意図)とは何か

  • 「顧客情報を閲覧」
  • 「請求データを更新」

👉 API 名ではない

📘補足

人間が説明できる単位


6.5 文脈依存ポリシー

静的制御

  • 常に禁止 / 許可

動的制御

  • 時間
  • ユーザー
  • 状態

👉 エージェント必須


6.6 Policy と IAM の役割分担

レイヤ 役割
Policy 意図
IAM 実行

🧠試験観点

  • IAM だけで完結 → ❌

6.7 Policy と Gateway の連携

Intent
 ↓
Policy 判定
 ↓
Gateway 実行

🏗設計観点

  • Policy は必ず Gateway 前

6.8 監査・説明可能性

  • なぜ拒否されたか
  • なぜ許可されたか

👉 説明できる AI


6.9 よくある試験トラップ

選択肢 判定
プロンプト制御
IAM 強化
Policy 導入

6.10 Policy を理解した状態

あなたは今:

  • AI の暴走を止める方法
  • 企業が AI を許可する条件

構造で説明可能


7. AgentCore 全体アーキテクチャまとめ

7.1 AgentCore の全体像(俯瞰)

AgentCore は 単一サービスではなく、制御された AI エージェントを作るための基盤群 です。

[ User / App ]
        ↓
[ Agent Runtime ]  ← 推論・意思決定
        ↓
[ Memory ]         ← 文脈の保持
        ↓
[ Policy ]         ← 意図の評価
        ↓
[ Identity ]       ← 行為主体
        ↓
[ Gateway ]        ← 実行制御
        ↓
[ AWS Services / SaaS ]

👉 LLM を信頼せず、周辺で囲う設計


7.2 各コンポーネントの役割(試験即答用)

コンポーネント 一言で 試験でのキーワード
Runtime 考える 推論 / オーケストレーション
Memory 覚える 会話状態 / 状態管理
Gateway 行動させる ツール制御 / MCP
Identity 誰として Non-human identity
Policy 裁く Intent-based control

7.3 Bedrock Agent との違い

観点 Bedrock Agent AgentCore
制御 限定的 厳密
対象 PoC / 軽量 本番 / 企業
セキュリティ 基本 高度

🧠試験観点

  • エンタープライズ要件 → AgentCore

7.4 Step Functions / Lambda との使い分け

  • Step Functions

    • 手順が固定
    • 判断ロジックが明示
  • AgentCore

    • 判断が動的
    • 文脈依存

👉 「考える必要があるか?」が分岐点


7.5 典型ユースケース(試験頻出)

SaaS 管理エージェント

  • ユーザー代理実行
  • マルチテナント
  • 厳密な権限制御

→ AgentCore

FAQ / 検索

  • 自律行動なし

→ Knowledge Base + Model


7.6 AgentCore を使うべき判断軸

要件 判定
自律行動 必須
監査 必須
権限制御 必須

1つでも Yes → AgentCore


7.7 試験での思考プロセス

  1. AI は考える?
  2. 行動する?
  3. 制御が必要?

→ 全部 Yes = AgentCore


7.8 このノートを読み切ったあなた

あなたは今:

  • AgentCore を「説明できる」
  • 設計として「選択できる」
  • 試験で「迷わない」

7.9 最後に(合格のために)

試験では暗記ではなく:

なぜこの構成が必要か

が問われます。

このノートは、その理由を 構造で理解するためのもの です。


3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?