AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
by
やくも
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
まとめ • サービスを選ぶのではなく、 ワークフローの主導権を誰に渡すか? • そこから自然と利用すべきサービスは見えてきます!