Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Bedrock AgentCoreを使って簡単なチャットアプリを作ってみた!
Search
Har1101
July 19, 2025
6
340
Bedrock AgentCoreを使って簡単なチャットアプリを作ってみた!
2025年7月19日 (土) JAWS-UG磐田 AWS GenAI勉強会 での登壇資料です
Har1101
July 19, 2025
Tweet
Share
More Decks by Har1101
See All by Har1101
私たちはなぜAWS Summitに参加するのか?
har1101
1
400
Bedrockのプロンプト管理どうしてる?
har1101
6
680
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.5k
Ambient Agent on AWS!
har1101
3
520
Bedrockエージェントにおける MCP利用ケースについて考えてみる
har1101
4
470
AWS上でMCPを安全に使いたい ~Mastraを添えて~
har1101
7
1.8k
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
7
2.2k
Amazon Bedrock Agentsのマルチエージェント機能で競馬予想アプリ作ってみた!
har1101
5
930
re:Inventのアップデートを使ってRAGアプリ開発とRAGOpsに入門してみた!
har1101
1
340
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Typedesign – Prime Four
hannesfritz
42
2.7k
Designing for humans not robots
tammielis
253
25k
Designing for Performance
lara
610
69k
How to Ace a Technical Interview
jacobian
278
23k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
990
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Raft: Consensus for Rubyists
vanstee
140
7k
Practical Orchestrator
shlominoach
189
11k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Transcript
突撃!隣のAgentic Workflow 2025/07/19 (土) JAWS-UG磐田 AWS GenAI勉強会 福地開
今日話すこと ◆AIエージェントの種類 • AIエージェントは2種類 • Agentic Workflowとは ◆AWSでAgentic Workflowを構築する方法 ◆実際にAgentic
Workflowを構築されている方に話を聞いてみた ※資料中で「AI」と記載しているものは「生成AI」とりわけ「LLM」のことを指します ※所属組織とは一切関係ない、私個人の意見・考えとなります
今日話すこと ◆AIエージェントの種類 • AIエージェントは2種類 • Agentic Workflowとは ◆AWSでAgentic Workflowを構築する方法 ◆実際にAgentic
Workflowを構築されている方に話を聞いてみた ※資料中で「AI」と記載しているものは「生成AI」とりわけ「LLM」のことを指します ※所属組織とは一切関係ない、私個人の意見・考えとなります
AIエージェントの種類
AIエージェントって(ざっくり) 2種類あんねん ◆AIにどこまで任せるか次第で実装形式は変わる
AIエージェントって(ざっくり) 2種類あんねん ◆AIにどこまで任せるか次第で実装形式は変わる • エージェントに全て賭けろ!→完全自律型AIエージェント • そこまでは無理!→基本的にはワークフロー型AIエージェント ※完全な対立構造ではない。ワークフローの中に自律型を組み込むなども可能 エージェントに全て 賭けられますか?
(全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント
AIエージェントって(ざっくり) 2種類あんねん ◆AIにどこまで任せるか次第で実装形式は変わる • エージェントに全て賭けろ!→完全自律型AIエージェント • そこまでは無理!→基本的にはワークフロー型AIエージェント ※完全な対立構造ではない。ワークフローの中に自律型を組み込むなども可能 エージェントに全て 賭けられますか?
(全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント ・目標だけをインプット ・手段はAIが考えて実行 ・例: DeepResearch機能 ・ある程度の流れが決まっている ・どこまで自由度を与えるかは 要件次第
AIエージェントって(ざっくり) 2種類あんねん ◆AIにどこまで任せるか次第で実装形式は変わる • エージェントに全て賭けろ!→完全自律型AIエージェント • そこまでは無理!→基本的にはワークフロー型AIエージェント ※完全な対立構造ではない。ワークフローの中に自律型を組み込むなども可能 エージェントに全て 賭けられますか?
(全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント Agentic Workflow 定義済み Workflow 参考:https://zenn.dev/pharmax/articles/d1d3695e4114c0
現在の解:ワークフロー型が多い ◆業務活用する時にはワークフロー型となることが多い • ワークフローの方が、自律型より効率が良いことが多い • 毎回確実に作業してほしいことがある時には、エージェントにやらせない方が良い エージェントに全て 賭けられますか? (全て任せますか?) 完全自律型
AIエージェント ワークフロー型 AIエージェント Agentic Workflow 定義済み Workflow 参考:https://zenn.dev/pharmax/articles/d1d3695e4114c0
現在の解:ワークフロー型が多い ◆業務活用する時にはワークフロー型となることが多い • ワークフローの方が、自律型より効率が良いことが多い • 毎回確実に作業してほしいことがある時には、エージェントにやらせない方が良い ◆現在、Agentic Workflowへ挑戦している企業が増加(AWS Summitで観測) エージェントに全て
賭けられますか? (全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント Agentic Workflow 定義済み Workflow 参考:https://zenn.dev/pharmax/articles/d1d3695e4114c0
Agentic Workflowとは ◆ワークフローの中でLLMが自律的に判断・行動する部分を組み込む エージェントに全て 賭けられますか? (全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント
Agentic Workflow 定義済み Workflow 参考:https://zenn.dev/pharmax/articles/d1d3695e4114c0
AWSでAgentic Workflowを 構築する
Agentic Workflowを構築する方法 ◆方法1. AWSのマネージドなサービス・機能を使う • Bedrock Flows • Step Functions
+ Bedrock • (Bedrock Agents + カスタムオーケストレーションLambda) ◆方法2. LLMアプリ開発フレームワークを用いる • LangGraph • Mastra • Strands Agents SDK • 上記で作成したワークフローをECS/Lambdaなどに載せて動かす
Agentic Workflowを構築する方法 ◆方法1. AWSのマネージドなサービス・機能を使う • Bedrock Flows • Step Functions
+ Bedrock • (Bedrock Agents + カスタムオーケストレーションLambda) ◆方法2. LLMアプリ開発フレームワークを用いる • LangGraph • Mastra • Strands Agents SDK • 上記で作成したワークフローをECS/Lambdaなどに載せて動かす?
いったい、いつの話をしている?
None
Bedrock AgentCoreを使って 簡単なチャットアプリ作ってみた! 2025/07/19 (土) JAWS-UG磐田 AWS GenAI勉強会 福地開
Who am I ? 福地 開 (ふくち はるき) @har1101mony 所属:NECソリューションイノベータ株式会社
年次:3年目 業務:インフラエンジニア、少しだけLLM触る人 選出:AWS Community Builders (AI Engineering) 2025 Japan AWS Jr.Champions 2025 Japan All AWS Certifications Engineers
Bedrock AgentCoreとは?
AIエージェントに聞いてみよう!
Bedrock AgentCoreとは? ◆開発者向けの新規生成AIサービス ◆任意のフレームワーク・モデルで構築されたAIエージェントを 安全かつ大規模にデプロイおよび運用できる • フレームワーク: LangGraph, CrewAI, Strands
Agents • モデル: Bedrock, OpenAI, Gemini
Bedrock AgentCoreとは? ◆開発者向けの新規生成AIサービス ◆任意のフレームワーク・モデルで構築されたAIエージェントを 安全かつ大規模にデプロイおよび運用できる • フレームワーク: LangGraph, CrewAI, Strands
Agents • モデル: Bedrock, OpenAI, Gemini ◆Swamiさん「AIエージェントにとって最も良い環境を提供する」
Bedrock AgentCoreとは? ◆開発者向けの新規生成AIサービス ◆任意のフレームワーク・モデルで構築されたAIエージェントを 安全かつ大規模にデプロイおよび運用できる • フレームワーク: LangGraph, CrewAI, Strands
Agents • モデル: Bedrock, OpenAI, Gemini ◆Swamiさん「AIエージェントにとって最も良い環境を提供する」 =Bedrockに限らない、すべてのAIエージェントに対する言葉
Bedrock AgentCoreとは? ◆開発者向けの新規生成AIサービス ◆任意のフレームワーク・モデルで構築されたAIエージェントを 安全かつ大規模にデプロイおよび運用できる • フレームワーク: LangGraph, CrewAI, Strands
Agents • モデル: Bedrock, OpenAI, Gemini ◆Swamiさん「AIエージェントにとって最も良い環境を提供する」 =Bedrockに限らない、すべてのAIエージェントに対する言葉 =AWSが本気でAIエージェント用プラットフォームのポジションを 取りに来た?
従来のBedrock Agentsと何が違う? ◆SaaSか、PaaSかの違いに相当する(以下、引用)
従来のBedrock Agentsと何が違う? ◆SaaSか、PaaSかの違いに相当する(以下、引用) • 従来のBedrockエージェントは、Action Groupで多少のコーディングが必要 とはいえ、基本的にはSaaSとして提供されていました。 • 一方、Amazon Bedrock
AgentCoreは、Amazonがホスティング環境を提供 し、その他の開発や技術選択についてはビルダーに委ねられています。つま り、PaaSのような位置づけになっていると言えるでしょう。 https://qiita.com/Syoitu/items/e85c9d9bd389c987d7bc
従来のBedrock Agentsと何が違う? ◆SaaSか、PaaSかの違いに相当する(以下、引用) • 従来のBedrockエージェントは、Action Groupで多少のコーディングが必要 とはいえ、基本的にはSaaSとして提供されていました。 • 一方、Amazon Bedrock
AgentCoreは、Amazonがホスティング環境を提供 し、その他の開発や技術選択についてはビルダーに委ねられています。 つまり、PaaSのような位置づけになっていると言えるでしょう。 https://qiita.com/Syoitu/items/e85c9d9bd389c987d7bc
AIエージェントをAgentCore Runtimeへデプロイしてみよう!
デプロイまでの流れ 1. LLMアプリ開発フレームワークを用いてエージェントを構築 • 個人的なおすすめフレームワークはStrands Agents SDK • AWS Summit
NYC付近でめでたくGA 2. 構築したエージェントをAgentCore互換エージェントに変更 • とても簡単、デコレータを追加するくらい 3. Bedrock AgentCore Runtimeへデプロイ • 便利なコマンドが用意されており、最短2コマンドでデプロイまで完了 4. 作ったエージェントを呼び出す • 呼び出し方をどうするか?が個人的に気になるポイント
1. Strands Agents SDKでエージェントを構築 ◆そもそもStrands Agents SDKとは(ざっくり) :
1. Strands Agents SDKでエージェントを構築 ◆そもそもStrands Agents SDKとは(ざっくり) : 3行でエージェントが出来上がる優れモノ https://qiita.com/minorun365/items/dd05a3e4938482ac6055
2. AgentCore互換エージェントへ変換 ◆4つの要素を追加する: • ランタイムのインポート • アプリの初期化 • 関数の修飾 •
実行コマンドの追加
3. Bedrock AgentCore Runtimeへデプロイ ◆流れとしては以下の通り ◆Dockerfile作成、Docker Build、ECRへプッシュ、デプロイ…
3. Bedrock AgentCore Runtimeへデプロイ ◆流れとしては以下の通り ◆Dockerfile作成、Docker Build、ECRへプッシュ、デプロイ… ◆面倒くさそう!なんだか大変そう!
3. Bedrock AgentCore Runtimeへデプロイ ◆Bedrock AgentCore Starter Toolkitという便利なものがある! • agentcore
configureコマンド: ECRリポジトリ作成、依存関係(パッケージ)の確認、認証機能の設定、 Dockerfileの作成… • これらの設定をまるっと纏めた .bedrock_agentcore.yaml の作成 →恐らくCloudFormation or SAMテンプレートと同じ
3. Bedrock AgentCore Runtimeへデプロイ ◆Bedrock AgentCore Starter Toolkitという便利なものがある! • agentcore
launchコマンド: docker build、ECRへのプッシュ、ECRのImageを参照してRuntimeへの デプロイまで行ってくれる(ロググループなども作成してくれる)
4. 作ったエージェントを呼び出す ◆CLIで呼び出す場合 • agentcore invokeコマンド
4. 作ったエージェントを呼び出す ◆Streamlitから呼び出す場合 • boto3のinvoke_agent_runtime()
4. 作ったエージェントを呼び出す ◆実際のアプリケーションから呼び出すときはどうする? • これまではLambda/ECSなどからBedrockのAPIをコールしていた ◆以下のようなよくありそうな構成の時…
4. 作ったエージェントを呼び出す ◆実際のアプリケーションから呼び出すときはどうする? • これまではLambda/ECSなどからBedrockのAPIをコールしていた ◆以下のようなよくありそうな構成の時…これは悲しい…
4. 作ったエージェントを呼び出す ◆個人的にはLambdaなどをできるだけ挟みたくない • 単純に実装で考慮事項が多い(ストリーミングレスポンスは特に) • Bedrock AgentCoreの恩恵が減る(高速コールドスタート) ◆単純にアプリ側の知識が無く、どうすればいいかわからない •
ボタンを押したらinvoke_agent_runtime()を直接コールとかダメそう • フロントエンドとバックエンドは分離したい • けどLambdaなどはできれば挟みたくない(個人の願望) ◆今後開拓が進んでいく…はず • 諦めてLambda/ECS使えって言われたらそうします
アプリも作ってみた
構成図 ◆Strands Agents SDK + Bedrock AgentCore + MCP •
Strands Agents SDKでエージェントを実装 • エージェントがAWS Knowledge MCPを使えるように設定 • Streamlitからinvoke_agent_runtime()をコールすればOK
Strands AgentsでMCP+ストリーミングレスポンス
Streamlitからinvoke_agent_runtime()をコール ◆デモはこれでいいが、実際はどうするか検討中 ◆ストリーミングレスポンスの処理はVibe Codingしただけなので、 現在理解&デバッグ中
でもなんだか難しそう… Strands AgentsもAgentCoreも よーわからん…
そんなあなたに AWS Knowledge MCP
AWS Knowledge MCP ◆最新のドキュメント、コードサンプル、その他の公式AWSコンテン ツを提供する、完全に管理されたリモートMCPサーバー ◆これをお手元のコーディングエージェントに設定しよう!!! • エージェントと対話・理解しながら実装を進められます! https://qiita.com/har1101/items/b1ce189c80ae44b9c505
◆Strands Agents SDK + Bedrock AgentCoreのお話をしました! • Bedrock AgentCoreは、AIエージェントにとって最高の環境 •
デプロイまでの流れはたったの4ステップ • デモアプリへの組み込みも簡単! • 実際のアプリケーションに組み込むにはどうするか?を現在考え中 ◆最高のアップデートにして最高の新機能、 色んなAIエージェントシステムを作っていきましょう〜〜〜! まとめ