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
5
330
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
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
GraphQLとの向き合い方2022年版
quramy
49
14k
Producing Creativity
orderedlist
PRO
346
40k
Why Our Code Smells
bkeepers
PRO
337
57k
Music & Morning Musume
bryan
46
6.7k
Six Lessons from altMBA
skipperchong
28
3.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.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エージェントシステムを作っていきましょう〜〜〜! まとめ