人の返事待ちや停電で止まっても、最初からやり直さずに済む? 保存して同じ仕事を続ける【State】【Checkpoint】【再開】

「AIエージェントのループ&グラフエンジニアリング」第13回(第4章 グラフの設計)。架空の文化祭の行事案内を作る仕事が、下書きまで済んだところで停電で止まりました。最初からやり直すと、済んでいた入力整理と下書き作成をもう一度動かすことになります。State(作業の現在地と情報を持つ欄)を段の境目ごとに保存(Checkpoint)しておけば、同じ仕事IDで最後のチェックポイントから続けられます。ゲームのセーブポイントのたとえと、State の状態表(入力・進み具合・検査結果)、保存した時点と終わった時点のスナップショットで、何が残っていれば続けられるかを見ます。あわせて、再開すると途中だった箱は頭からもう一度動くという文書の決まりから、送信が2回起きる落とし穴と、配信箱を仕事IDで重複検査して2回目を空振りにする冪等の直し方(1つの実行機が順に再開する場合)、その仕事だけのチェックポイントと次の仕事でも使う長期の記憶(Store)の分け方を、「止める設計の表」にまとめます。実演は、6つの箱(入力整理・下書き作成・確認待ち・テスト・最終確認・送信)を一本道でつなぎ、箱が済むたびに State をJSONのファイルへ保存する自作の小さな実行機(一本道なので1段に箱1つ)で、11の場面を動かした記録です。停電のあと続きからなら4つ、最初からなら6つの箱が動き、重複検査なしの送信は再開で配信箱に2行、仕事IDで重複検査した送信は1行のままでした。