はじめまして、NTTテクノクロスの北野です。
今回、NTTテクノクロス Advent Calendar 2025 の12月20日を担当させていただきます。
はじめに
本記事では、10月初旬に一般提供開始されたばかりのAWSサービスAmazon Bedrock AgentCore(ここからはAgentCoreと呼びます)について、私がAI関連のプロジェクトに参加している中で、勉強して整理できたことを備忘録的にまとめています。
本記事の内容
・AIエージェントとは?
・Agentcoreで提供される機能
・開発フェーズごとのAgentCoreの使い方
1:AIエージェントとは?
1.1. AIエージェントって何?
「AIエージェント」と聞くと、なんだかすごそうだけど結局どんなものなの?となる人、多いんじゃないでしょうか。
正直、私も最初はその“よくわからなさ”の中にいました。
でも実際に触ってみて、いろいろ試していくうちに、私の中ではだんだんと
「目標に向かって、自分で考えて動いてくれるAI」
というイメージに落ち着いていきました。
従来のAIは、文章を作ったり質問に答えたり、とにかく“依頼されたことに反応する”のがメインでした。
一方でエージェントは、与えられた目標に向けて「じゃあ何から手をつけよう?」と自分で段取りを考えて、必要なら外部ツールも使いながら実行してくれるんです。
もしこれがちゃんと動くようになると、私たちが普段やっている
「状況を見て、考えて、作業する」
といった複雑なプロセスの一部を任せられるようになります。
そのあたりが、エージェントの面白いところであり、可能性を感じるポイントだなと個人的には思っています。
1.2. 簡単なロジックを作るのは、ありがたいことに本当に簡単!
私は Strands Agents という SDK を使って、まずは小さなエージェントを作ってみたんですが……正直、思っていたよりずっとシンプルで驚きました。
Pythonで役割を書いて、検索ツールや計算ツールをポンと渡すだけで、エージェントが勝手に
「ここは計算ツール使ったほうがよさそうだな」
みたいに判断して動いてくれるんです。
Strands Agents自体は、環境さえ整っていればかなり簡単にエージェントが作れます。
ただ、このブログではハンズオンが目的ではないので、詳しい手順は公式ドキュメントや他の方の記事を見てもらうほうが確実です!
1.3. ふと我に返る…「どう動かすの?」
しかし、手元のPCで動くエージェントを眺めながら、ふと疑問が出てきました
「待てよ…? このPythonコード、実際の業務で使うには何が必要なんだろう?」
「ロジック(賢さ)は書けても、ローカルで動かすだけじゃ…これってただの勉強用じゃない?」
「記憶管理ってどうするの? 大人数が使ったら絶対混乱するよな……」
こんな疑問が一気に襲ってきて、「あ、これ“作って終わり”じゃないんだな」と急に現実に引き戻された感じがしました。
そして、ここでようやく登場するのが Amazon Bedrock AgentCore です。
2. AIエージェント開発は“賢さ”と“運用”を別々に?
2.1. 結論:AIエージェント開発は「賢さ」と「環境」の分担
賢いロジック(StrandsAgents)が書けても、「安全な運用環境」がなければ最大限の価値は生み出せません。
そこで学んだのが、ロジック(思考)と、運用基盤(安全に動かす環境)は別物だということ
- Strands Agents (SDK):賢さ担当。何を考えるか・どう判断するか、といった“賢さ”を作る部分。
- AgentCore (AWS):環境担当。その頭脳を安全に、安定して、会社のルールに沿って動かす基盤。
つまり AgentCore があれば、開発者は「インフラどうしよう…」と悩む時間がぐっと減ります。
2.2. じゃあ、AgentCoreの担当業務とは??
ここまでで「AgentCore はエージェントの“身体”なんだな」というところまでは何となく理解できたんですが、じゃあ実際どんな働きをしてくれるの?という疑問が残ります。自分もここが最初モヤっとしていました。
調べていくうちに分かったのは、AgentCore にはいくつかマネージド機能が用意されていて、
エージェントに必要な“身体のパーツ”を、必要な分だけ選んで組み合わせる
という仕組みになっているということです。
ブロックみたいに、使いたい機能だけ選べばいいので、最初から全機能を有効にする必要がありません。
ということで、次のセクションではそのパーツ=マネージド機能について、私なりに整理していこうと思います。
3. AgentCoreのマネージド機能:使う目的をはっきりさせると利点がよくわかる
ここでは、「結局何のための機能なの?」という視点でまとめてみます。
下記の画像はAgentCoreの概要図です。
今回はこの図のRuntime,Identity,Gateway,Memory,Observability,CodeInterpreter,Browserについてまとめていきます

画像引用元(引用日時 2025/12/10):
マルチAIエージェントが創る新しい店舗体験 〜Amazon Bedrock AgentCoreによる販売支援〜
https://aws.amazon.com/jp/blogs/news/multi-aiagents-sales-support-with-bedrock-agentcore/
3.1. Runtime:まずはここ。エージェントの“置き場所”
目的 | AIエージェントを業務で使える実行環境に置くこと
Runtimeは、おそらくAgentCoreの中で最もメインな機能であり、AIエージェントを配置するにあたりこれだけで十分な気もしてしまいます。
というのも、Runtimeが持っているメリットは以下の通りです...
- スケーリング:クラウドといえばオートスケールなイメージを持つ私ですが、もちろんAgentCoreもスケーリングに対応!→スケールイン・アウトの検討不要は助かる
- モデルの柔軟性:AmazonがもつBedrockだけでなくAnthropic Claude、Google Gemini、OpenAIなどが提供するモデルに対応→モデルによって回答の性格が違うので使い分けられるのは助かる
他にも良さはたくさんあるんですが、今の私がきちんと説明できるのはこのあたり…。
なので、ひとまず今回はここまでにしておきます。
3.2. Identity 本人確認周り
目的 | 誰が使える?どのリソースにアクセスできる?を安全かつ効率的に管理
AgentCore の Identity 機能は、ざっくり言うと 2種類の「認証まわり」をまとめて面倒みてくれる仕組みです。
扱うのはこの2つ↓
-
インバウンド認証
「誰がこのエージェントを使っているのか?」を確認するための認証です。 -
アウトバウンド認証
こちらは逆方向で、エージェント側が外部のリソースにアクセスするときの認証。
必要な API キーや認証情報を AWS Secrets Manager から安全に取ってきてくれる。
3.3. Gateway ツール利用の入口を一本化
目的 | 外部APIやLambdaを、エージェントが使いやすい形にする
そもそもエージェントの強みって、目的達成のために自分で考えて手を動かしてくれるところですよね。で、その手を動かす部分で必要になるのがツールです。
ただ、API ごとに使い方が違ったりして、意外と扱いが面倒だったりします。
そこで Gatewayの出番。
ここにまとめてしまえば、エージェント側から見るツールの入口が1つで済むし、開発側も管理がだいぶラクになる、というわけです。
Gateway を使うと何が良いのか?
・Lambda や API を MCP ベースのツールとして扱える
→ “この API どう叩くんだっけ…”みたいな悩みがほぼ消える
・アクセス先が Gateway に一本化される
→ コードも単純化されて気が楽
ちなみに MCP(Model Context Protocol)は
「LLM と外部サービスが共通ルールでやり取りできるようにする仕組み」
Gemini先生に聞いた説明を引用しました。
さらに、Identity と組み合わせれば認証まわりもある程度いい感じに隠蔽できるので、エージェント側は余計なことをあまり気にせずツールを使えるようになります。
3.4. Memory 記憶機能
目的 | エージェントに過去の会話を忘れさせず、より自然で賢い応答をさせること
Memoryは、いわば海馬のような機能であり、連日コミュニケーションをとるようなAIエージェントには必須といえる機能です。
Memoryが管理できるのは2種類、短期記憶と長期記憶です。
・短期記憶:いまの会話の流れをつかんでおく
普段ブラウザで ChatGPT や Gemini を使っている感じを思い出してもらうと分かりやすいかもしれません。会話が途中で途切れずに続くのは、この短期記憶のおかげです。
・長期記憶:セッションをまたいだ学習をする
こっちは、エージェントがユーザーにだんだん馴染んでくる部分。
何度もやり取りしていく中で、
「この人はこういうのをよく求めるな」とか
「このユーザーにはこのルールがあるみたいだ」
といった情報を少しずつ蓄えていきます。
AWS の説明でも触れられていますが、こういう仕組みがあるから
どんどんパーソナライズされた体験に近づいていく、という話です。
3.5. Observability 失敗の理由をあとで追える
目的 | エージェントの動作を後から分析する
Observability は、ざっくり言うと CloudWatch みたいな感じの機能で(実際に画面も CloudWatch に飛びます)、エージェントの動きやパフォーマンスをあとから追いかけて確認するのに便利な仕組みです。
これまで紹介してきた機能についても、Observability からいろいろと監視できる項目があります。
・Runtime:CPUやメモリのリソース使用状況
この情報を確認することで、エージェントの応答が遅延した際に、原因が「裏側のリソース負荷」にあるのか、あるいは「LLMの推論」や「外部ツールの応答」にあるのか、ボトルネックを切り分けるための監査情報として役立ちそうです。
・Identity:認証情報の使用状況や承認、リソースアクセス
もしユーザーがエージェントを使えなかった場合、認証エラーなのか、権限不足なのかをすぐに確認できます。
・Gateway:API呼び出し情報/ツール
エージェントがどのツールをどう使ったか、成功したのか失敗したのか、といった履歴を追えます。
失敗していた場合、それが外部API側の問題なのか、エージェントの判断ミスなのか、といった原因探しにも使えます。
・Memory:記憶の形成
エージェントがちゃんと過去の情報を覚えているのか、長期記憶や短期記憶がどう働いているのかをチェックできます。
ここから紹介する二つの機能はビルドインツールと呼ばれるカテゴリに含まれていて、上記の機能より使われる場面は狭まってきますが、もし利用が必要なAIエージェントであればマネージドでセキュアに使えるような機能になっています
3.6. Built-in tools:Code Interpreter コード実行環境
目的 | エージェントに複雑な計算やデータ処理を安全に任せること
この機能を有効化しておくと、エージェントがコードを実行する必要が出てきたときに、サンドボックス上でコードを生成して、そのまま実行してくれます。
こちら側で特別な準備をしなくても、CSV を読み込んでグラフを作ったり、簡単な分析をしてくれたりと、ちょっとしたデータ処理なら任せられるのが便利なところになるのかな?
3.7. Built-in tools:Browser ブラウザ実行環境
目的 | エージェントに、特定のウェブページ操作を安全に行わせること
こちらは、自然言語でお願いするだけで、エージェントが代わりにブラウザを操作してくれる機能です。
「〇〇について調べて、ざっくりまとめておいて」みたいに指示すると、実際に Yahoo や Google で検索して、その結果をまとめて返してくれます。
個人的に「おっ」と思ったのは、スクリーンショットにも対応しているところです。
マネージド環境のブラウザを本当に操作しているので、「このページのスクショ取って」と頼むと、その画像を生成して、S3 に保存する…なんてことまでできるそうです。
4:PoCから実運用までの機能の選び方
セクション3までで、AgentCore が Runtime や Identity、Memory といったいろいろなマネージド機能を持っていることは分かってきました。
ただ、ここで覚えておきたいのは 「全部オンにする必要はない」 という点です。
作りたい段階ごとに本当に必要なものだけ使えばいいので、余計なコストをかけずに済みます。
4.1. 開発フェーズごとの機能の選び方を考えてみた
1. ハンズオンフェーズ
「AgentCore を利用したAIエージェントに触ってみたい」という興味本位のハンズオンであれば、とりあえず Runtime だけで十分。
2. PoC / デモフェーズ
次に、実際のロジックがツールとうまく連携できるか試す段階。
このあたりから、
・Runtime(実行環境)
・Gateway(ツール管理)
・Memory(記憶)
の3つが揃っていると「デモとしては意味がある」レベルになります。
3. 試験運用フェーズ
社内の一部のチームに使ってもらって、業務にフィットするかどうか確かめるステップです。
ここまで来ると、会社のルールに合わせたアクセス制御が必須になるので、これまでに加えて Identity(認証・認可) を有効にする必要があります。
4. 本番運用フェーズ
AIエージェントを公開し、24時間365日動かし続ける本番環境です。
アクセス集中に備えた Runtime、セキュリティを担保する Identity、トラブル時に原因を究明するための Observability、が信頼性の高い業務システムとして成り立たせてくるはず。
5. まとめ
長くなりましたが、書いていて改めて思ったのは、
“ロジックを作る楽しさ” と “運用の責任” はまったく別世界
ということです。
Strands Agents が頭脳を作り、
AgentCore が身体を作る。
このまとめが、これからAIエージェントに挑戦する方々の少しでも助けになれば嬉しいです。
また何か学びがあれば記事にしてみたいと思います。
メリークリスマス
次のステップとして
- まずは Runtime ホスティング機能だけを使い、Strands Agents のサンプルコードを動かすところから検証を始めたいと考えています。
参考ページ・資料