ガイド · サービス業の業務
ワークフローが2回動いたり、途中で失敗したりしたらどうなる?
重複、承認の繰り返し、接続失敗の実際の結果をたどり、本当のリカバリー設計にまだ何が必要かを確かめます。
執筆:Fireflax · 読了時間 約8分
確認:Codex — source and implementation review ·
再試行するには、すでに何が起きたかを知る必要があります。
お問い合わせが2回届くことがあります。人が2回承認することもあります。ワークフローの途中まで動いたところで接続が失敗することもあります。これらは別々の状況です。何かを繰り返す前に、依頼、意図した操作、その結果を示す記録を確かめてください。
ここで使う例
このガイドでは、2026年10月8日に確認した、架空の Northstar Plumbing のお問い合わせサンプルを使います。ルールとテンプレートはローカルで動きます。メールの送信、CRM への書き込み、実際の接続はありません。接続失敗のスイッチは管理された模擬であり、本番の障害テストではありません。
サンプルは記録を残し、もう一度確認を求めます。
受信(Received)→ 承認が必要です
承認に成功 → デモ完了、情報が足りなければ「詳細を待っています」。
模擬的な失敗 → 接続を一時停止中
例の接続を復旧 → 承認が必要です → 下書きを読む → あらためて承認。
ブラウザーのデモでリセットし、「新しいご依頼」を実行します。「この承認で接続の失敗を試す」にチェックを入れ、「デモの返信を承認」を押します。「接続を一時停止中」とその履歴を確かめます。「例の接続を復旧」を選び、文章をもう一度確認して承認します。復元ボタンは失敗のチェックボックスを外すので、次の承認でサンプルを完了できます。
デモで失敗と復元を再現する何が残り、何が繰り返されないのか?
| 流れ | 期待値 | 観察した結果 |
|---|---|---|
| 同じ依頼がもう一度 | 今の列の中で、正規化したメールアドレス、地域、メッセージで見分ける。 | 既存の ID を返す。タスクや履歴は増えない。言葉が変わると新しい依頼になることがある。 |
| もう一度の承認 | 承認を受け付けるのは、確認待ちの記録だけ。 | 完了、停止、情報待ちの記録は、そのまま再承認できない。 |
| 承認の失敗 | リカバリーを確認できるだけの状況を残す。 | 同じ記録、元の入力、下書き、承認済みの文章、履歴を、停止の状態のまま保持。 |
| 復元 | 自動で再実行せず、あらためての確認を求める。 | 同じ記録と下書きを保持。前回の承認は取り消し、状態は確認待ちに戻る。 |
同じ依頼がもう一度
期待値: 今の列の中で、正規化したメールアドレス、地域、メッセージで見分ける。
観察した結果: 既存の ID を返す。タスクや履歴は増えない。言葉が変わると新しい依頼になることがある。
もう一度の承認
期待値: 承認を受け付けるのは、確認待ちの記録だけ。
観察した結果: 完了、停止、情報待ちの記録は、そのまま再承認できない。
承認の失敗
期待値: リカバリーを確認できるだけの状況を残す。
観察した結果: 同じ記録、元の入力、下書き、承認済みの文章、履歴を、停止の状態のまま保持。
復元
期待値: 自動で再実行せず、あらためての確認を求める。
観察した結果: 同じ記録と下書きを保持。前回の承認は取り消し、状態は確認待ちに戻る。
足りない情報は、復元したあとも足りないままです。情報が足りないお問い合わせを復旧後に承認すると、「詳細を待っています」に戻ります。再試行しても、地域をつくり出したり、予約を確定したり、お客様の答えを受け取ったりはしません。
実際の途中での失敗は、もっと難しいものです。
つながったワークフローが案件の記録を更新したあと、成功をローカルに記録する前に確認の応答を失ったとします。送り先は変わっているのに、ローカルの状態ははっきりしないかもしれません。ワークフロー全体を繰り返すと、外部への影響も繰り返してしまうおそれがあります。
これは本番での仮定のケースで、Fireflax のサンプルでは模擬していません。実際に導入するには、依頼と意図した操作の消えない識別子、結果の記録の保存、送り先の確認、結果が不確かなときのルールが必要です。ブラウザーのメモリーと、メッセージの文章の一致だけでは足りません。
オフラインのスターターはローカルファイルを残し、明示的な一時停止のコマンドもありますが、あくまでひとつのプロセスでの練習です。同時の再試行が安全であること、確実に1回だけ届くこと、本番の稼働率、システムをまたいだ巻き戻しを示すものではありません。
このリカバリーのチェックリストを使いましょう。
- 止めて、残す。 決めておいた手順で、関係するワークフローを止めます。依頼、バージョン、エラー、結果の記録を残します。
- 送り先を確かめる。 メッセージ、記録、そのほかの意図した変更が実行されたかを確かめます。済み、未実行、不確かのどれかに分類します。
- やみくもに再送しない。 不確かな点は、担当者とシステムの記録をもとに解決します。依頼と操作の識別子、重複のルールを確かめます。
- 権限の管理者と一緒に復元する。 必要に応じて、実際の接続を直すか、あらためて認可します。アクセスを戻しても、すべての操作を再実行してよいことにはなりません。
- もう一度確認する。 最新の依頼と、変わったやり取り、下書き、連絡方法の希望を確かめ直します。必要なところでは、あらためて承認を得ます。
- 意図した結果をひとつ確かめる。 認められた次の操作だけを行い、その結果を確かめ、通常の作業に戻る前に何が起きたかを記録します。
これらの手順の担当者と代理を決めてください。すでに送ったメッセージは、社内の記録をリセットしても取り消せません。訂正や取り消しには、それぞれの権限と確認済みの限界が必要です。
記録を引き継ぎの資料のそばに置いておきましょう。
保存しているソースとスターターの実行は、それぞれ決めておいた5つのケースを扱い、承認の繰り返しや、承認の失敗と復旧も含みます。合成した入力、正確な状態、履歴を記録しています。別にある21個のリポジトリのテストでは、足りない情報からの復旧も確かめています。これらの限られたチェックは上の説明を裏づけるものであり、届くことを保証するものではありません。
出典と確認メモ
Codex とともに作成し、実行した架空のサンプルテスト、ソースコード、Codex による独立したスターターの試行と照らし合わせて確認しました。これらの結果は、実際の連携やお客様の成果を示すものではありません。
- 保存したソースのテスト
ローカルでの重複とリカバリーの実際の結果。
- スターターの README
中身を確かめられるコード、再実行のコマンド、境界。