Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Strands Agents の基本を学ぶ~AWS調査エージェントを添えて~

Avatar for ryu-ki ryu-ki
August 25, 2025
47

Strands Agents の基本を学ぶ~AWS調査エージェントを添えて~

Avatar for ryu-ki

ryu-ki

August 25, 2025
Tweet

More Decks by ryu-ki

Transcript

  1. モデル駆動型アプローチ 7 ┃3つのコンポーネントからなる ‐ モデル・ツール・プロンプト ┃以下の流れでサイクルをまわす ‐ 入力を受け取る ‐ LLMによる思考

    ‐ ツールの選択・実行 ‐ 実行結果を受け取って再思考 ‐ 最終応答の生成 or ループの継続 Strands Agents では Agentic loop で実現
  2. 実装|AWS操作を行うエージェント 16 ┃組み込みツールである use_aws を使って AWSのリソース状況を調査 @tool def aws_operator(query: str)

    -> str: agent = Agent( system_prompt=""" あなたはAWSリソース操作の専門家エージェントです。 use_awsツールを使用して実際のAWSリソース情報を取得・操作してください。 ## 重要な制約 - 安全性のため、読み取り専用の操作を基本とする - 破壊的操作は実行前に必ず確認する - デフォルトリージョン: us-east-1 """, model=bedrock_model, tools=[use_aws] ) response = agent(query) 利用可能なツールを定義
  3. 実装|AWS情報を調査するエージェント 17 ┃AWS Documentation MCP Server を利用して AWSドキュメントから情報を取得 documentation_mcp_client =

    MCPClient(lambda: stdio_client( StdioServerParameters( command="uvx", args=["awslabs.aws-documentation-mcp-server@latest"] ) )) MCPクライアントの作成 今回は AWS Documentation MCP Server を利用
  4. 実装|AWS情報を調査するエージェント 18 ┃AWS Documentation MCP Server を利用して AWSドキュメントから情報を取得 @tool def

    aws_investigator(query: str) -> str: with documentation_mcp_client: agent = Agent( system_prompt=""" あなたはAWSのエキスパートです。 ユーザーの質問に対して、aws-documentation-mcp-serverを利用して、 正確で実用的なAWS情報を日本語で提供してください。 """, model=bedrock_model ) response = agent(query) MCPクライアントを起動しつつ エージェント作成
  5. 実装|スーパーバイザーエージェント 19 ┃作成した2つの子エージェントの親エージェント ‐ 子エージェントをツールのように呼び出す supervisor = Agent( system_prompt=""" あなたはAWS調査システムのスーパーバイザーです。

    質問の内容に応じて最適なツールを選択し、日本語の回答を作成してください。 利用可能なツール: - aws_investigator: 一般的なAWSサービス情報、設定、機能について - aws_operator: 実際のAWSリソース操作、リソース情報取得について - file_write: レポート作成時に利用 回答後、file_write を利用して、Markdown形式の簡潔なレポートを作成してください。 """, model=bedrock_model, tools=[aws_investigator, aws_operator, file_write, think] ) ツールとして定義
  6. おわりに 25 ┃AWSリソース調査エージェントを作成してみた ‐ Strands Agents を利用 ‐ use_awsを使うAWS操作エージェントと、MCPサーバーを 利用するAWSドキュメント調査エージェントのマルチ

    エージェント構成 ┃エージェントを作る側になることで、使うときに 役に立つことが得られる場合もあるかも? 意外と簡単なのでぜひ触ってみてください!
  7. 参考 26 ┃Strands Agents ‐ https://strandsagents.com/latest/ ┃Strands Agents – オープンソース

    AI エージェント SDK の紹介 ‐ https://aws.amazon.com/jp/blogs/news/introducing-strands-agents-an-open-source-ai- agents-sdk/ ┃Strands & AgentCoreハンズオン! MCPマルチエージェントをAWSに簡単デプロイ ‐ https://qiita.com/minorun365/items/6d4fae4f7dacbc1e1971 ┃StreamlitとStrands Agentsでチャットを作りながら Bedrock AgentCoreに入門(Runtime、Observability、Memory) ‐ https://qiita.com/moritalous/items/621c3506e1734922b66e ┃Strands Agentsの凄いところを"だいたい"体験してみる ‐ https://qiita.com/kyuko/items/cb75e8f0a50985ca2030
  8. 参考 27 ┃Introducing Strands Agents, an Open Source AI Agents

    SDK ‐ https://aws.amazon.com/jp/blogs/opensource/introducing-strands-agents-an-open- source-ai-agents-sdk/ ┃Strands Agents – オープンソース AI エージェント SDK の紹介 ‐ https://aws.amazon.com/jp/blogs/news/introducing-strands-agents-an-open-source-ai- agents-sdk/ ┃Agent Loop - Strands Agents ‐ https://strandsagents.com/latest/documentation/docs/user- guide/concepts/agents/agent-loop/