Slide 1

Slide 1 text

AIエージェント時代のワークフロー設計 Durable Functions / Step Functions / Strands を添えて 八雲 慎之助/Shinnosuke Yakumo 2025/12/20 JAWS-UG Presents - AI Builders Day

Slide 2

Slide 2 text

八雲 慎之助(やくも しんのすけ) 年次:2年目 選出:2025 Japan AWS Jr.Champions コミュニティ:JAWS-UG 新潟支部 運営 好きなサービス:Amazon Neptune, AgentCore Who am I @yakumo_09 @yakumo_0905

Slide 3

Slide 3 text

2025年、気づくと 早いものであと2週間ですね…!

Slide 4

Slide 4 text

世はまさに、大AIエージェント時代!!

Slide 5

Slide 5 text

AIエージェントで開発 ⇩ AIエージェントを開発

Slide 6

Slide 6 text

AIエージェントで開発 ⇩ AIエージェントを開発

Slide 7

Slide 7 text

AIエージェントって2種類あんねん 1. タスクはLLMに丸投げ! 仕事が終わるまでループを回し続ける! 参考:https://www.anthropic.com/engineering/building-effective-agents 繰り返し推論を実行 モデル ツール

Slide 8

Slide 8 text

AIエージェントって2種類あんねん 2. あらじめ自分でワークフローを設計しておく! 参考:https://www.anthropic.com/engineering/building-effective-agents モデル ツール 1. 2.

Slide 9

Slide 9 text

今日のゴール •AIエージェントのワークフローにおいて、 「何を選ぶか」ではなく、 「なぜ選ぶか」を理解して持ち帰って頂く

Slide 10

Slide 10 text

今日のゴール •AIエージェントのワークフローにおいて、 「何を選ぶか」ではなく、 「なぜ選ぶか」を理解して持ち帰って頂く ちなみに… 設計の比較や意思決定がメイン サービスの概要や紹介は触れません

Slide 11

Slide 11 text

AI×ワークフロー処理×AWS といえば…?

Slide 12

Slide 12 text

Lambda Step Functions Strands AWSでワークフロー処理といえば…! re:Invent 2025! 王道! 新登場!

Slide 13

Slide 13 text

これらの使い分け、 意識できていますか?

Slide 14

Slide 14 text

ワークフローの設計で 気をつけたいのは…「」

Slide 15

Slide 15 text

ワークフローの設計で 気をつけたいのは… →ワークフローの主導権を持つのは誰?

Slide 16

Slide 16 text

フローの中で、主導権を誰に持たせる?

Slide 17

Slide 17 text

フローの中で、主導権を誰に持たせる? • 一つの処理の中で割り込みながら全体の処理を進める • ワークフロー全体の状態を管理しながら進めたい • 人間の割り込みをイベントとして管理したい

Slide 18

Slide 18 text

フローの中で、主導権を誰に持たせる? • 一つの処理の中で割り込みながら全体の処理を進める • ワークフロー全体の状態を管理しながら進めたい • 人間の割り込みをイベントとして管理したい

Slide 19

Slide 19 text

フローの中で、主導権を誰に持たせる? • 一つの処理の中で割り込みながら全体の処理を進める →Lambda Durable Functions • ワークフロー全体の状態を管理しながら進めたい • 人間の割り込みをイベントとして管理したい

Slide 20

Slide 20 text

フローの中で、主導権を誰に持たせる? • 一つの処理の中で割り込みながら全体の処理を進める →Lambda Durable Functions • ワークフロー全体の状態を管理しながら進めたい • 人間の割り込みをイベントとして管理したい

Slide 21

Slide 21 text

フローの中で、主導権を誰に持たせる? • 一つの処理の中で割り込みながら全体の処理を進める →Lambda Durable Functions • ワークフロー全体の状態を管理しながら進めたい →Step Functions • 人間の割り込みをイベントとして管理したい

Slide 22

Slide 22 text

フローの中で、主導権を誰に持たせる? • 一つの処理の中で割り込みながら全体の処理を進める →Lambda Durable Functions • ワークフロー全体の状態を管理しながら進めたい →Step Functions • 人間の割り込みをイベントとして管理したい

Slide 23

Slide 23 text

フローの中で、主導権を誰に持たせる? • 一つの処理の中で割り込みながら全体の処理を進める →Lambda Durable Functions • ワークフロー全体の状態を管理しながら進めたい →Step Functions • 人間の割り込みをイベントとして管理したい →Strands Agents(HITL)

Slide 24

Slide 24 text

3つの選択肢まとめ • Lambda Durable Functions →割り込みを「処理の中」で扱う • Step Functions →割り込みを「状態」で管理する • Strands Agents →人間の割り込み、判断を前提に設計する

Slide 25

Slide 25 text

3つの選択肢まとめ • Lambda Durable Functions →割り込みを「処理の中」で扱う • Step Functions →割り込みを「状態」で管理する • Strands Agents →人間の割り込み、判断を前提に設計する

Slide 26

Slide 26 text

Durable Functions vs Step Functions

Slide 27

Slide 27 text

Durable Functions vs Step Functions 観点 Durable Functions Step Functions 定義方法 コードベース JSON/YAML 学習コスト 低 やや高? デバッグ 通常のLambdaと同様 視覚的に可能 実行状態の管理 一部のケースでは注意 遷移状態を視覚的に確認 サービスとの統合 SFnに分があるか ネイティブに可能 料金体系 実行時間に依存 状態遷移回数

Slide 28

Slide 28 text

Durable Functions利用時の注意ポイント •前回と今回が独立した処理は注意 1日目:実行開始→WAIT状態 2日目:新規で起動→1日目の処理が残ってる →不整合が発生するかも

Slide 29

Slide 29 text

まとめ •AI時代のワークフローをどう設計していく?

Slide 30

Slide 30 text

まとめ •AI時代のワークフローをどう設計していく? • 既存のコードを拡張したい!コードベースで定義したい!

Slide 31

Slide 31 text

まとめ •AI時代のワークフローをどう設計していく? • 既存のコードを拡張したい!コードベースで定義したい! →Lambda Durable Functions

Slide 32

Slide 32 text

まとめ •AI時代のワークフローをどう設計していく? • 既存のコードを拡張したい!コードベースで定義したい! →Lambda Durable Functions • ビジュアルベースで複雑な並列・分岐を管理したい!

Slide 33

Slide 33 text

まとめ •AI時代のワークフローをどう設計していく? • 既存のコードを拡張したい!コードベースで定義したい! →Lambda Durable Functions • ビジュアルベースで複雑な並列・分岐を管理したい! →Step Functions

Slide 34

Slide 34 text

まとめ • AI時代のワークフローをどう設計していく? • 既存のコードを拡張したい!コードベースで定義したい! →Lambda Durable Functions • ビジュアルベースで複雑な並列・分岐を管理したい! →Step Functions • AIの処理に対して、人間の介入をより的確に挟んでいきた い!

Slide 35

Slide 35 text

まとめ • AI時代のワークフローをどう設計していく? • 既存のコードを拡張したい!コードベースで定義したい! →Lambda Durable Functions • ビジュアルベースで複雑な並列・分岐を管理したい! →Step Functions • AIの処理に対して、人間の介入をより的確に挟んでいきたい! →Strands Agents

Slide 36

Slide 36 text

まとめ • AI時代のワークフローをどう設計していく? • 既存のコードを拡張したい!コードベースで定義したい! →Lambda Durable Functions • ビジュアルベースで複雑な並列・分岐を管理したい! →Step Functions • AIの処理に対して、人間の介入をより的確に挟んでいきたい! →Strands Agents

Slide 37

Slide 37 text

まとめ • サービスを選ぶのではなく、 ワークフローの主導権を誰に渡すか? • そこから自然と利用すべきサービスは見えてきます!