Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
まだ間に合う!Strands Agents SDKの入門からちょっと応用気味なところまで
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Har1101
July 26, 2025
460
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
まだ間に合う!Strands Agents SDKの入門からちょっと応用気味なところまで
JAWS-UG 栃木 オフライン #3 での登壇資料です
RTA部分(デモ)はTwitterに載せてます
Har1101
July 26, 2025
More Decks by Har1101
See All by Har1101
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
280
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
7
1.2k
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
820
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
780
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
610
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
250
エージェンティックRAGにAWSで入門しよう!
har1101
9
2.4k
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
7
2k
AgentCore Registry入門~マルチアカウントでどう使うの~
har1101
1
160
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
300
Test your architecture with Archunit
thirion
2
2.5k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
790
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
550
The Language of Interfaces
destraynor
162
27k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
660
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Docker and Python
trallard
47
4.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
620
Transcript
まだ間に合う! Strands Agents SDKの入門から ちょっと応用気味なところまで 2025/07/26 (土) JAWS-UG 栃木 オフライン
#3 福地開
Who am I ? 福地 開 (ふくち はるき) @har1101mony 所属:NECソリューションイノベータ株式会社
年次:3年目 業務:少しだけLLM触る人 選出:AWS Community Builders (AI Engineering) 2025 Japan AWS Jr.Champions 2025 Japan All AWS Certifications Engineers
今日話すこと ◆AWSでAIエージェントを構築する方法 • Amazon Bedrock Agents • Amazon Bedrock AgentCore
+ フレームワーク ◆Strands Agents SDK はじめの一歩 ◆Strands Agents SDK 応用編 ※資料中で「AI」と記載しているものは「生成AI」とりわけ「LLM」のことを指します ※所属組織とは一切関係ない、私個人の意見・考えとなります
AWSでAIエージェントを 構築する方法
方法1. Amazon Bedrock Agents ◆GUI上で、Bedrockを用いたAIエージェントを構築できる機能 • 基本的にはコーディング不要(アクショングループでは必要) • エージェントの挙動はある程度自動で決定 ◆エージェントを構築するサービス(SaaS)として提供されている
方法2. Amazon Bedrock AgentCore ◆任意のフレームワーク・モデルで構築されたAIエージェントを 安全にデプロイおよび運用できるプラットフォーム(PaaS) • フレームワーク: LangGraph, CrewAI,
Strands Agents • モデル: Bedrock, OpenAI, Gemini
方法2. Amazon Bedrock AgentCore ◆任意のフレームワーク・モデルで構築されたAIエージェントを 安全にデプロイおよび運用できるプラットフォーム(PaaS) • フレームワーク: LangGraph, CrewAI,
Strands Agents • モデル: Bedrock, OpenAI, Gemini ここが作れないと、 話が始まらない!
https://strandsagents.com/latest/
Strands Agents SDKを使って AIエージェントを作ってみよう! ~はじめの一歩編~
最短3行でエージェントが動く! ◆AIエージェント構築RTA、はーじまーるよー 1. uv init 2. uv venv 3. source
.venv/bin/activate 4. uv add strands-agents 5. 右ファイルを作成する 6. uv run agent.py
最短3行でエージェントが動く! ◆AIエージェント構築RTA、はーじまーるよー 1. uv init 2. uv venv 3. source
.venv/bin/activate 4. uv add strands-agents 5. 右ファイルを作成する 6. uv run agent.py • デフォルトモデルはオレゴンリージョンのBedrock Claude Sonnet 4 • Bedrock以外にOpenAI GPTシリーズやGeminiなども利用可能
Strands Agents SDKの中核:エージェントループ ◆エージェントが実行する以下のプロセスのこと 1. ユーザー入力とコンテキスト情報を受け取る 2. 受け取った情報を元に、 LLMが何をすべきか判断する 3.
最適なツールを選択し、実行する 4. ツール使用結果に基づいて推論を続ける 5. 応答を生成する
Strands Agents SDKの中核:エージェントループ ◆エージェントが実行する以下のプロセスのこと 1. ユーザー入力とコンテキスト情報を受け取る 2. 受け取った情報を元に、 LLMが何をすべきか判断する 3.
最適なツールを選択し、実行する 4. ツール使用結果に基づいて推論を続ける 5. 応答を生成する 1. 2. 3. 4. 5.
Strands Agents SDKの中核:エージェントループ ◆エージェントが実行する以下のプロセスのこと 1. ユーザー入力とコンテキスト情報を受け取る 2. 受け取った情報を元に、 LLMが何をすべきか判断する 3.
最適なツールを選択し、実行する 4. ツール使用結果に基づいて推論を続ける 5. 応答を生成する 1. 2. 3. 4. 5.
ツールを使ってみる ◆サンプルツールパッケージが存在する • python_repl: Pythonコードを実行 • http_request: API呼び出し、Webデータの取得 • slack:
APIアクセス、メッセージ送信を備えたSlack統合 • use_aws: AWSサービスと対話する
ツールを使ってみる ◆サンプルツールパッケージが存在する • python_repl: Pythonコードを実行 • http_request: API呼び出し、Webデータの取得 • slack:
APIアクセス、メッセージ送信を備えたSlack統合 • use_aws: AWSサービスと対話する ◆設定方法 • uv add strands-agents-tools で追加モジュールのインポート • 先ほど作成したエージェントに tools を定義するだけ
ツールを作ってみよう ◆もちろん自作ツールをエージェントに使わせることもできる • @tool というデコレータを追加すると、Python関数をツールに変換可能 • ツールの名前と説明はできるだけ明確に書くのが重要 →エージェントはツール名と説明を参考にしてどのツールを使うか判断する
ツールがあれば、エージェントの力は∞! ◆エージェントとツールがあれば立派なAIエージェント ◆自分でエージェントループを実装するとなると、情報の渡し方、 ツールの実行方法、会話の状態管理、エラー時のリトライ処理、 オブザーバビリティなど考えなければいけないことがたくさん
ツールがあれば、エージェントの力は∞! ◆エージェントとツールがあれば立派なAIエージェント ◆自分でエージェントループを実装するとなると、情報の渡し方、 ツールの実行方法、会話の状態管理、エラー時のリトライ処理、 オブザーバビリティなど考えなければいけないことがたくさん ◆Strands Agents SDKでは開発者が複雑なフローを実装しなくても、 最初からツール使用を前提としたエージェントフローが用意されて いる
◆エージェントの振る舞いや ツールの実装といった、 コア部分の実装に注力できるのがAWSらしいところ!
Strands Agents SDKを使って AIエージェントを作ってみよう! ~応用編~
MCPをつなげよう ◆Strands Agents自身がMCPクライアントになることができる • ローカルMCPサーバーとはstdio接続 • リモートMCPサーバーとはStreamable-HTTP接続(SSE接続は非推奨)
MCPをつなげよう ◆Strands Agents自身がMCPクライアントになることができる • ローカルMCPサーバーとはstdio接続 • リモートMCPサーバーとはStreamable-HTTP接続(SSE接続は非推奨) • MCPを使う場合は、MCPクライアントとMCPサーバーの接続がアクティブ でないといけない
• with文の中、すなわちMCPセッションがアクティブな時にのみエージェン トを実行できるような形にしてあげる必要がある
マルチエージェント構成にしてみよう ◆最も簡単:Agents as Tools方式を使用する • オーケストレーターエージェントとツールエージェントが協働する構成 • オーケストレーター:人間とのやり取りを元にツールエージェントを呼ぶ • ツール(専門家):ドメイン固有のタスクを実行
• 先程の @tool デコレーターを用いることで、ツールとしてのエージェント を定義することができる
責任あるAI(セキュリティ) ◆ツール実装のベストプラクティス • 最小権限: ツールには必要最小限の権限を与える • 入力検証: ツールへのすべての入力を徹底的に検証する • 明確なドキュメント:
ツールの目的、制限、期待される入力を文書化する • エラー処理: エッジケースや無効な入力を適切に処理する • 監査ログ: 機密性の高い操作をレビューのためにログに記録する ◆ガードレールを使用する • Bedrock GuardRailsと統合が可能 • ユーザーからの入力・ツールの入出力・LLMへの入力・ユーザーへの出力 と多層でのガードレールが必要 参考:https://speakerdeck.com/licux/owasp-top-10-for-llm-applicationskarakao-erubedrock-guardrailsnodao-ru
◆Strands Agents SDKの入門~ちょこっと応用のお話をしました! • エージェント構築をスピーディーかつ比較的簡単にできる! ◆最高のアップデートにして最高の新機能、 色んなAIエージェントシステムを作っていきましょう〜〜〜! まとめ