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

AI Agent の開発と運用を支える Durable Execution #AgentsIn...

Avatar for izumin5210 izumin5210
January 15, 2026

AI Agent の開発と運用を支える Durable Execution #AgentsInProd

Avatar for izumin5210

izumin5210

January 15, 2026
Tweet

More Decks by izumin5210

Other Decks in Programming

Transcript

  1. @izumin5210 © LayerX Inc. whoami LayerX バクラク事業部 (2022-09 -) Platform

    Engineering 部 Enabling チーム Staff Software Engineer バックエンドや Web フロントエンドが専門です ISUCON14 4位 好きな Temporal の機能は Plugin
  2. Agentic Loop © LayerX Inc. The agent is generally implemented

    as an event loop that is kicked off with an expression of some goal. In the loop, it: Asks the LLM to determine the next steps in the flow, and then Invokes one or more tools to perform those actions. It keeps looping until the LLM hits its goal or the user stops it. https://temporal.io/blog/a-mental-model-for-agentic-ai-applications 5
  3. Agentic Loop © LayerX Inc. Agent はイベントループとして実装される ループでは LLM に次のステップを決定させる

    1つ以上の Tool を呼び出してアクションを実行させる ゴールに到達するか、ユーザが停止するまで ループを続ける 6
  4. Agentic Loop, on Backend, in Production © LayerX Inc. AI

    Engineering といえば…? prompt, context, tool などの整備 適切な agent (loop) の設計, agent の組み合わせの設計 ... では AI Agents を動かすバックエンドの in production は? e.g. Observability, Durability, ... 今日は一例として Durability に焦点を当てて話していきます 8
  5. Durability(耐久性)? © LayerX Inc. ループを 安定して・確実に 動かす(動かしきる)必要がある LLM call が99%成功したとしても、10回ループしたら成功率は

    程度 失敗したら最初からやり直す? 1ループ1秒かかるとしたら…? 途中で画像や書類などの重い処理が入ると…? 10
  6. Durability(耐久性)? © LayerX Inc. 長時間かかるループを 安定して・確実に 動かす(動かしきる)必要がある HITL (Human-in-the-Loop) などがあると、ループの生存時間はさらに伸びる

    一方で、LLM call や Tool execution は確率的な失敗はおそらく避けられない 失敗したとしても、最初からやり直すのは避けたい 途中で失敗しても再開でき、 確実に実行を完了させる(Durable Execution)ような仕組みが必要になる 12
  7. How Durable? -> Resumable 詳しくは TemporalのDurableさを覗く #LayerX_AI_Agent_ブログリレー* © LayerX Inc.

    Durability の基本的な考え方: 再開可能 (Resumable) にする 副作用のある処理 (Step, Activity) と、 それらを呼び出していくロジック (Workflow) に分ける Step の入出力は記録し、Resume 時はリプレイすることで途中から再開可能になる Step 以外は冪等になってれば OK https://zenn.dev/layerx/articles/3985768bda6e5a 13
  8. How Durable? -> Resumable AI Agents では LLM call や

    Tool execution などが Step (Activity) に相当しうる 上図を例にすると、ネットワークエラー等で Step2(tool execution) が失敗しても Step2 から再開できる © LayerX Inc. 図は https://mastra.ai/docs/workflows/overview より引用 14
  9. 副作用 in AI Agents © LayerX Inc. Model とのやりとり LLM

    API の呼び出し 失敗時のリトライ、レスポンスの記録 Tool Execution 外部 API の呼び出し ファイル操作、データベース操作など 15
  10. Durable Execution を実現するためのミドルウェアの例 特徴 Temporal さまざまな言語に SDK を提供。本格的な分散ワークフロー基盤 Inngest イベント駆動。TypeScript,

    Python 対応。サーバレスフレンドリー Trigger.dev TypeScript 向け。Developer Experience の高さがウリ。 Workflow DevKit vercel/workflow TypeScript 向け。Vercel 製。Vercel らしい Easy な API。 © LayerX Inc. 16
  11. AI Agents on Durable Execution の例 © LayerX Inc. Inngest

    + Mastra https://mastra.ai/docs/workflows/inngest-workflow Temporal + Pydantic https://ai.pydantic.dev/durable_execution/temporal/ Temporal + AI SDK ( vercel/ai ) https://docs.temporal.io/develop/typescript/ai-sdk Workflow DevKit + AI SDK https://useworkflow.dev/docs/ai 17
  12. e.g. Temporal + AI SDK (with @temporalio/ai-sdk ) © LayerX

    Inc. https://docs.temporal.io/develop/typescript/ai-sdk#develop-a-simple-haiku-agent 18
  13. e.g. Temporal + AI SDK (with @temporalio/ai-sdk ) @temporalio/ai-sdk により、LLM

    call と Tool execution を簡単に Activity 化できるようになった © LayerX Inc. https://docs.temporal.io/develop/typescript/ai-sdk#develop-a-simple-haiku-agent 19
  14. e.g. Temporal + AI SDK (with @temporalio/ai-sdk ) 内部実装の話: languageModel

    が shared activity となったので、利用者は tool execution だけ考える © LayerX Inc. https://docs.temporal.io/develop/typescript/ai-sdk#develop-a-simple-haiku-agent 20
  15. HITL どう作る? (Before Durable Execution) © LayerX Inc. ナイーブに状態を DB

    に保存? 正しく実装するのは大変 人間の介入待ちステート、何パターンも出てくる あらゆるパターンに対応する DB スキーマ設計はまあまあ大変 複数ユーザからの同時操作でも壊れないようにしたい また、HILT を伴う AI Agents なんて今後いくらでも出てくるはず まあまあめんどくさい実装を毎回作るのか? あらゆる HITL に対応できる汎用テーブル設計を作る? 24
  16. HITL on Durable Execution © LayerX Inc. Durable → Resumable

    決定論的になっていれば再実行するだけで状態を再現できる ローカル変数で状態を保持できる Signal ワークフローに対するメッセージング 外部から稼働中のワークフローにイベントを送ることができる 25
  17. 例: シンプルなツール許可 (AI SDK on Temporal) © LayerX Inc. LLM

    call のレスポンスに ツール承認待ちがあれば、 waitApproval で承認結果を待つ 27
  18. 例: シンプルなツール許可 (AI SDK on Temporal) © LayerX Inc. LLM

    call のレスポンスに ツール承認待ちがあれば、 waitApproval で承認結果を待つ 承認待ちがなくなるまで繰り返す 28
  19. 例: シンプルなツール許可 (AI SDK on Temporal) © LayerX Inc. LLM

    call のレスポンスに ツール承認待ちがあれば、 waitApproval で承認結果を待つ 承認待ちがなくなるまで繰り返す while (true) はびっくりするが、 通常の Agent Loop と構造は同じ 29
  20. 例: シンプルなツール許可 © LayerX Inc. Durable Execution のパワーで 外部からの承認シグナルを待つ waitApproval

    を簡単に実装可能 setHnalder(signal, cb) でシグナル を受ける await condition(cb) で cb が true を返すまで待機する 31
  21. 例: シンプルなツール許可 © LayerX Inc. Durable Execution のパワーで 外部からの承認シグナルを待つ waitApproval

    を簡単に実装可能 setHnalder(signal, cb) でシグナル を受ける await condition(cb) で cb が true を返すまで待機する 32
  22. シグナルによる HITL 実装の 可能性 © LayerX Inc. 承認待ちや承認(HITLによる入力)など "状態"は全てworkflow関数上の変数 "承認"

    なら boolean だが、 それ以外の形式も簡単に扱える 一時的な状態の導入に際して 明示的な永続化を省略できる 33
  23. HITL on Durable Execution © LayerX Inc. 複雑な状態管理が不要 DB スキーマ設計や状態遷移の管理から解放される

    ワークフローのコードがそのまま状態遷移を表現 Signal で外部からの入力を待てる ユーザーの承認、入力の変更など タイムアウトも簡単に設定可能 34
  24. in Production: 技術選定 © LayerX Inc. バクラクでは Durable Execution 基盤として

    Temporal を導入 バックエンドで Go をヘビーに利用してるため AI はもちろんだが、AI でなくとも Durable Execution がもたらす性質は有用 安定実行もそうだし、状態管理や失敗時の resume など 使いやすい Web UI もついてくる 直近自分が関わったプロダクトでは AI SDK を利用 環境の変化への追従をしやすくするため、フレームワークではなく軽量なライブラリを選択 参考: AI Agentフレームワークを使うべきなのか?* * https://zenn.dev/layerx/articles/91321c52241600 36
  25. Durable Execution があれば全部解決? © LayerX Inc. (当然だけど)そんなことはない Simple に作られた AI

    SDK ですら、Durable Execution の統合で若干苦しんでそう Temporal Integration は Stream に対応してない Workflow DevKit Integration は内部的には AI SDK の一部(まあまあデカい)を再実装してる 拡張性を損なわず抽象化していく難しさにも直面していきそう 参考: AI SDK と Workflow DevKit を眺め、Agent 抽象の行く末に思いを馳せる これは自分たちが作っていくプロダクトコード的にもそう 新しい Context Engineering や周辺技術に対応可能なコードベースを維持していく必要 https://zenn.dev/layerx/articles/ca93d8a80b05f1 37
  26. Durable Execution があれば全部解決? © LayerX Inc. また、実行以外にも考えることは多い Tool, Multi-Agent のアーキテクチャは?

    Observability は? コンテキスト伝搬はどうする? プロダクトのデータの扱いはどうなっていく? Model Provider 側が落ちてたら? むずい バックエンドエンジニア・アーキテクトも他人ごとではない 俺たちの Software Engineering はこれからだ!! 38
  27. AI Agent の開発と運用を支える Durable Execution © LayerX Inc. Agentic Loop

    は本質的に信頼性の課題を持つ ループが長くなるほど失敗確率が上がる HITL が入ると待機時間が長くなる Durable Execution で解決 副作用を記録し、失敗時は再開可能に Temporal, Inngest, Trigger.dev, Workflow DevKit など HITL も Durable Execution で簡潔に実装できる Signal によるメッセージングで外部からの入力を待つ 永続化せずとも、ローカル変数で状態を保持できる 40