Slide 1

Slide 1 text

Strands Agents SDKの Agent Graphへ入門してみよう! 2025/08/23 (土) JAWS-UG新潟 × Python機械学習勉強会in新潟 生成AI祭り 福地開

Slide 2

Slide 2 text

Who am I ? 福地 開 (ふくち はるき) @har1101mony 所属:NECソリューションイノベータ株式会社 年次:3年目 業務:少しだけLLM触る人 選出:AWS Community Builders (AI Engineering) 2025 Japan AWS Jr.Champions 2025 Japan All AWS Certifications Engineers

Slide 3

Slide 3 text

今日話すこと ◆Strands Agents SDKのAgent Graphとは? • Agentic Workflowとは? • Agentic Workflowって何が嬉しいの? ◆Agent Graph はじめの一歩 ◆Agent Graph よくある(ありそうな)質問 ※資料中で「AI」と記載しているものは「生成AI」とりわけ「LLM」のことを指します ※所属組織とは一切関係ない、私個人の意見・考えとなります

Slide 4

Slide 4 text

Strands Agents SDKの Agent Graphとは?

Slide 5

Slide 5 text

Agent Graphとは? ◆複数のエージェントを繋ぎ、決まった順序で確実に実行する設計図 • Agentic Workflowをコードベースで定義できる機能

Slide 6

Slide 6 text

Agent Graphとは? ◆複数のエージェントを繋ぎ、決まった順序で確実に実行する設計図 • Agentic Workflowをコードベースで定義できる機能 ◆登場人物 • ノード:エージェントや関数そのもの • エッジ:ノード間の接続パーツ • Step Functionsを完全にコードベースで 定義するようなイメージ

Slide 7

Slide 7 text

Agent Graphとは? ◆複数のエージェントを繋ぎ、決まった順序で確実に実行する設計図 • Agentic Workflowをコードベースで定義できる機能 ◆登場人物 • ノード:エージェントや関数そのもの • エッジ:ノード間の接続パーツ • Step Functionsを完全にコードベースで 定義するようなイメージ ◆何が嬉しい? • 複雑な作業を小さな専門ノードに分割し、順序と受け渡しを明示できる • 精度向上、処理の安定化、開発とデバッグがやりやすい…など

Slide 8

Slide 8 text

補足:AIエージェントって(ざっくり) 2種類あんねん ◆AIにどこまで任せるか次第で実装形式は変わる • エージェントに全て賭けろ!→完全自律型AIエージェント • そこまでは無理!→基本的にはワークフロー型AIエージェント ※完全な対立構造ではない。ワークフローの中に自律型を組み込むなども可能 エージェントに全て 賭けられますか? (全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント

Slide 9

Slide 9 text

補足:AIエージェントって(ざっくり) 2種類あんねん ◆AIにどこまで任せるか次第で実装形式は変わる • エージェントに全て賭けろ!→完全自律型AIエージェント • そこまでは無理!→基本的にはワークフロー型AIエージェント ※完全な対立構造ではない。ワークフローの中に自律型を組み込むなども可能 エージェントに全て 賭けられますか? (全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント Agentic Workflow 定義済み Workflow 参考:https://zenn.dev/pharmax/articles/d1d3695e4114c0

Slide 10

Slide 10 text

補足:エージェント開発の現在地 ◆業務活用する時にはワークフロー型となることが多い • ワークフローの方が、自律型より効率が良いことが多い • 毎回確実に作業してほしいことがある時には、エージェントにやらせない方が良い エージェントに全て 賭けられますか? (全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント Agentic Workflow 定義済み Workflow 参考:https://zenn.dev/pharmax/articles/d1d3695e4114c0

Slide 11

Slide 11 text

補足:エージェント開発の現在地 ◆業務活用する時にはワークフロー型となることが多い • ワークフローの方が、自律型より効率が良いことが多い • 毎回確実に作業してほしいことがある時には、エージェントにやらせない方が良い ◆現在、Agentic Workflowへ挑戦している企業が増加(AWS Summitで観測) エージェントに全て 賭けられますか? (全て任せますか?) 完全自律型 AIエージェント ワークフロー型 AIエージェント Agentic Workflow 定義済み Workflow 参考:https://zenn.dev/pharmax/articles/d1d3695e4114c0

Slide 12

Slide 12 text

Agentic Workflowへ入門するなら今! ◆先程までのハンズオンで皆さんエージェントは作れるようになった • Strands Agents SDKを使うと簡単に作れる! ◆次のステップとしてAgent Graphへの挑戦はいかが? • Graph作成もそんなに難しくない! • 業務で使えるAgentic Workflowへの第一歩! • (副産物として、LangGraphへの理解度も上がる!)

Slide 13

Slide 13 text

Agent Graph はじめの一歩

Slide 14

Slide 14 text

Agent Graphの作り方 ◆4つのエージェントを繋いでみる ◆実施手順 • エージェントを4体定義 • この4体をノードとして登録 • 4つのノードをエッジで繋ぐ • Graphの実行開始位置を決める • Graphをビルドする • Graphを実行する

Slide 15

Slide 15 text

Agent Graphの作り方 ◆4つのエージェントを繋いでみる ◆実施手順 • エージェントを4体定義 →本当は各エージェントにtoolを与えて上げる必要があるが、ここでは省略 • AgentCore Gatewayだとtoolを与えるのがちょっと大変なので、 まずはStrands Agents SDKの機能を使ってtoolを与えるほうが良い

Slide 16

Slide 16 text

Agent Graphの作り方 ◆4つのエージェントを繋いでみる ◆実施手順 • この4体をノードとして登録 • 4つのノードをエッジで繋ぐ →GraphBuilderという便利関数が用意されている

Slide 17

Slide 17 text

Agent Graphの作り方 ◆4つのエージェントを繋いでみる ◆実施手順 • Graphの実行開始位置を決める • Graphをビルドする • Graphを実行する

Slide 18

Slide 18 text

Agent Graph完成!

Slide 19

Slide 19 text

Agent Graph よくある(ありそうな)質問

Slide 20

Slide 20 text

Q. Agent Graphの終わりってどこ? ◆さっき、スタート位置を決定する処理は記載した ◆終わりは明示的に書かなくて良いの? • 書かなくてOK! というか、終わりを示すためのノードが存在しない(!?) • 後続のNodeが無いとなったら、自動で処理が停止する • LangGraphはENDというノードが必要なので、 ここは少し戸惑った

Slide 21

Slide 21 text

Q. Agent Graphの終わりってどこ? ◆一応、無理やり終わらせることもできる ◆常にFalseを返す条件付きエッジを作成すれば、強制終了できる ◆条件付きエッジ…次のノードに進むか否かを決定する • Trueだと進む、Falseだと進まない (分岐処理をするものではない)

Slide 22

Slide 22 text

Q. ノードにエージェント以外を登録するには? ◆MultiAgentBase なるものを継承したクラスを作成する

Slide 23

Slide 23 text

まとめ:Agentic Workflowの可能性は∞! ◆エージェントもPython関数もノードとして登録可能 →実質なんでもできるし、業務活用のチャンスあり! ◆SlackとTavilyのMCPサーバーを用いた、 アウトプットの自動収集+実績レポート生成エージェントを作成中 (業績評価やCB継続申請提出時などに使えるようなもの)