Cloudflare Workflows

Cloudflare WorkflowsでAI処理を耐障害化する|step・再試行・承認待ち【2026】

Cloudflare Workflowsで複数段階のAI処理を耐障害化する。step分割、再試行、状態永続化、承認待ち、Queuesとの使い分けを解説。

古野光太朗古野光太朗·2026.09.01·一次情報 6件
AI処理を複数の耐障害ステップへ分割し再試行と人の承認を組み込むパイプライン図

文字起こし、要約、品質検査、承認、公開のように複数段階が依存するAI処理は、単一のWorkerやQueue consumerへ詰め込むと、途中失敗時にどこから再開するかが曖昧になります。Cloudflare Workflowsは、各stepの結果を永続化し、失敗したstepから再試行するdurable executionの仕組みです。

QueuesとWorkflowsを分ける

CloudflareのWorkers Best Practicesは、Queuesをproducerとconsumerの分離、buffering、batching、単一stepのbackground jobに、Workflowsを依存関係のある複数stepの処理に使うと整理しています。

例えば、音声アップロード後に「文字起こし→匿名化→要約→人の承認→公開」を行うならWorkflowが向きます。一方、監査イベントをまとめて書き込む処理はQueueが向きます。QueueからWorkflowを起動する構成も可能ですが、同じ責務を二重に持たせません。

stepは副作用の境界で分ける

Cloudflare Workflowsのstep.do()は、成功した結果を永続化し、後続stepが失敗しても完了済みstepを再実行しません。分割の基準は「この処理だけ再実行しても安全か」です。

大きな一stepにすると、通知だけ失敗してもAI呼び出しから再実行します。逆に細かくしすぎるとstep数、保存状態、観測が増えます。費用や副作用が変わる境界で切ります。

再試行できない失敗を区別する

公式ドキュメントでは、step.doの既定設定はretry limit 5、10秒delay、exponential backoff、timeout 10分です。429や一時的なnetwork errorは再試行候補ですが、入力形式不正、権限不足、存在しないmodelは同じ試行で直りません。

error classを分類し、永久エラーはNonRetryableError等で停止します。再試行回数を増やす前に、外部APIのidempotency keyと副作用の重複防止を確認します。

永続化する値を小さくする

step resultは次のstepで再利用できますが、プロンプト全文、音声、巨大なPDFをそのまま状態へ持たせない設計が安全です。公式ルールでは、非streamのstep return valueには1MiB上限があります。大きなartifactはR2へ置き、Workflowにはobject key、hash、version、最小metadataだけを返します。

機密データは、保存目的、閲覧権限、保持期限、削除方法を決めます。Workflowの観測性のために本文ログを無期限保存しません。

人の承認をdurableに待つ

step.waitForEvent()はWorkflowを一時停止し、外部eventを受け取って再開できます。公式docsでは既定timeoutは24時間、1秒から365日まで設定可能です。承認待ちをpolling loopで作る必要はありません。

承認eventには、workflow instance ID、対象artifactのhash、承認者、判断、時刻を含めます。承認後にartifactが差し替わらないよう、承認対象versionを固定します。timeout時の既定挙動はfail-closeにし、「応答がなければ公開」を避けます。

観測する指標

instance成功率だけでなく、step別の失敗率、retry回数、処理時間、承認待ち時間、timeout、AI呼び出し費用を見ます。model変更、prompt変更、workflow versionを同じ実験で重ねないことも重要です。

本番前には、各stepの失敗、timeout、重複event、古い承認、R2 object欠損をテストします。completed stepが再実行されないことと、外部副作用が冪等であることを別々に確認します。

AI処理の長時間実行を設計したい方へ

TechWorkerでは、Cloudflare Workers、Queues、Workflows、R2、D1を使い、受付からAI処理、承認、監査、削除までを設計します。単一jobの非同期化はCloudflare QueuesでAIジョブを非同期化する、運用上の設定罠はWorkers本番運用で踏んだ罠5つも参照してください。

一次情報と確認範囲

確認日:2026年9月1日。製品仕様・制度は更新されるため、導入時はリンク先の最新版を再確認してください。数値や研究結果は対象・条件を超えて一般化せず、反証可能性と限界を本文に併記しています。

  1. Cloudflare Docs「Workflows overview」
  2. Cloudflare Docs「Sleeping and retrying」
  3. Cloudflare Docs「Events and parameters」
  4. Cloudflare Docs「Limits」
  5. Cloudflare Docs「Observability」
  6. Cloudflare Docs「Metrics and analytics」
古野光太朗
古野光太朗 / 株式会社TechWorker 代表取締役 CEO兼CTO

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

AI処理の長時間実行を本番設計する

Workers、Queues、Workflows、R2、D1を使い、受付からAI処理、承認、監査、削除まで設計します。

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