Durable Workflow

AIエージェントの長時間実行を止めない|承認待ち・再試行・状態を残すワークフロー設計【2026】

"AIエージェントの長時間処理や承認待ちで、処理状態を失わないためのワークフロー設計を解説。Queue・Durable Objectsとの役割分担、冪等性、再試行の限界まで整理します。"

古野光太朗古野光太朗·2026.09.10·一次情報 5件
長時間のAI処理で状態を保存し、人の承認を待って安全に再開する3段階のワークフロー図

AIエージェントが一度回答して終わるなら、通常のHTTPリクエストでも動かせます。しかし、複数の文書を処理し、外部APIを呼び、人の確認を待ってから次の操作へ進む仕事では、画面を閉じた、ネットワークが切れた、実行基盤が再起動しただけで「どこまで終わったか」が曖昧になりがちです。

必要なのは、プロセスを長く生かし続けることではありません。途中で止まっても、完了済みの工程、次に待つイベント、再実行してよい境界を復元できることです。Cloudflare Workflowsは、複数ステップの状態を保持し、失敗したタスクの再試行や外部イベント・承認待ちを扱う用途を公式に示しています。Temporalも、クラッシュ、ネットワーク失敗、複数日にわたる人の承認待ちの後にAIワークフローを再開する設計を案内しています。

Queue、Durable Object、ワークフローは同じものではない

非同期化には、目的別に異なる部品があります。まず、Cloudflare QueuesでAIジョブを非同期化するで扱ったQueueは、重い仕事をリクエストから切り離して配送するのに向きます。Durable ObjectsでAIエージェントの同時実行を制御するで扱ったDurable Objectは、同じ利用者・案件・会話に対する更新を直列化するのに向きます。

対してワークフローが担当するのは、「抽出→モデル呼出し→人の承認→外部システム更新」のような、途中状態を持つ業務の進行です。Queueを読んだだけでは、承認待ちの案件をどの状態で保つかは決まりません。Durable Objectで同時実行を抑えても、数日後に来た承認イベントをどの工程へ戻すかは別の設計です。三つを同じ製品の代替候補として比較せず、配送、競合制御、業務進行を分けます。

残すべきは「会話」ではなく業務の状態

ワークフローごとに固有の実行IDを持ち、入力の版、完了したステップ、承認待ちか否か、外部操作の結果を結びます。モデルの自由文を丸ごと状態の正本にするのではなく、次に必要な構造化データを残します。例えば、承認待ちなら「対象、操作種別、入力版、承認期限、承認済みか」を保存し、承認そのものはその版に対してだけ有効にします。

Cloudflare Workflowsでは、ステップは個別に再試行可能です。そこで、検索、LLM呼出し、顧客データ更新、通知送信を一つのステップに混ぜないことが重要になります。前の三つが成功して最後の通知だけが失敗した場合、まとめて再試行すると、検索や更新まで重複し得るからです。処理単位を小さくし、何を再開するかを人が説明できる粒度にします。

再試行は「二度実行しない」保証ではない

ここが最も誤解されやすい点です。実行基盤が再試行できても、外部APIが受け取った更新・メール送信・支払いまで自動的に一回だけになるわけではありません。Cloudflareの設計ガイドも、再試行されるステップから呼ぶAPIやBindingは冪等にするよう求めています。

外部効果を起こすステップには、操作IDを渡し、受け手側で同じ操作を処理済みか照会できる形を優先します。照会できない相手なら、実行前後の記録、手動確認への切替、そもそも自動化の対象から外す判断が必要です。「失敗したらもう一度送る」は、顧客連絡や権限変更には安全な復旧手順ではありません。

人の承認はイベントとして戻す

高影響の操作は、画面を開き続けて待つのではなく、承認要求を作成してワークフローを待機状態にします。承認が届いたら、対象・入力版・期限・承認者を検証して次のステップへ進みます。不一致や期限切れなら停止し、再承認を要求します。承認の対象固定とfail-closeの考え方は、AIエージェントの承認ゲート設計も参照してください。

ただし、durable executionは無制限の状態保存を意味しません。Cloudflare WorkflowsにはステップのCPU時間、保存状態、実行数、完了済みインスタンスの保持期間などの制約があります。大きな成果物をステップの戻り値に抱え込まず、外部ストレージに置いた参照を状態として残す設計が必要です。

導入前の確認項目

TechWorkerでは、内製AIツールの業務フローを、Queue・状態管理・承認・復旧まで含めて設計します。エージェントに任せる仕事を増やす前に、「止まったときにどこから安全に戻れるか」を一緒に明確にします。

限界と確認範囲

ワークフローは、単発の要約や即時応答に必須ではありません。また、再試行・状態保持だけで外部効果の重複、誤った認可、誤ったモデル出力を防げるわけではありません。特に送信・削除・支払い・権限変更では、冪等性、認可、承認、監査を別々に設計してください。製品の制限や料金は更新されるため、導入時は公式ドキュメントを再確認します。

一次情報と確認範囲

確認日:2026年9月10日。製品仕様・制度は更新されるため、導入時はリンク先の最新版を再確認してください。海外の制度・職業規範は日本へ直接適用せず、相違点と限界を本文に明記しています。

  1. Workflowsは複数ステップの状態保持、再試行、外部イベント・承認待ちを用途に含める
  2. ステップは個別再試行されるため、外部API呼出しを冪等にし、複数サービスを一ステップへ混在させない
  3. Workflowsの制約にはステップCPU時間、状態保存量、実行数、保持期間がある
  4. CloudflareはAIエージェントでdurable step、再試行、人の承認を扱う実装パターンを示す
  5. Temporalはクラッシュ・ネットワーク失敗・複数日承認待ち後に再開するAIワークフローを用途として提示する
  6. LangGraphも永続化と停止後の再開、人の介在をdurable executionの構成要素として説明する
古野光太朗
古野光太朗 / 株式会社TechWorker 代表取締役 CEO兼CTO

上場企業を含む37社・2,500名の生成AI導入・研修支援で得た実務知をもとに、導入・運用・顧客理解を扱っています。この実績はTechWorkerの生成AI支援実績であり、個別製品の導入実績を示すものではありません。

長時間AI処理の安全な再開を設計する

Queue、状態管理、承認待ち、冪等な外部更新を一つの業務フローへ落とします。

AI基盤設計を相談する
← AI基盤ラボの記事一覧に戻る