セッションは、こちらの都合と関係なく終わります。クラッシュ、再起動、アップデート。作業そのものはディスクに残っていても、「どこまでやったか」が失われると、次に開いた側はゼロから状況を組み立て直すことになります。

やっかいなのは、止まったことに誰も気づかない場合です。担当が思い出したときだけ再開する運用は、思い出さなかった回にそのまま止まります。

この記事は、止まった作業をAIエージェント自身が拾い直す自動復旧を、実装のかたちで扱います。素材は運用中のSessionStartフックと再開スキル、そして常駐監視が利用者の作業を止めた事故の記録です(2026-08-03検証)。

こんなふうに調べていませんか

  • セッションが落ちるたびに、どこまで進んでいたかを人が思い出している
  • 自動で再開させたいが、送信や公開まで勝手に進まれると困る
  • 見張る仕組みを常駐させるべきか、起動時だけ動かすべきかを決めきれない

この記事を読み終えたときに手に入るもの

  • 中断を見つける層と、作業を再開する層を別の部品として設計できるようになります
  • 自動で進めてよい範囲と、人へ返す境界を自分の業務で線引きできるようになります
  • 仕組みが静かに止まっていないかを、実行記録の鮮度で確かめられるようになります

結論30秒でわかる、この記事の結論

  • 自動復旧は1つの機能ではありません。見つける層と進める層に分け、人間ゲートの手前で止めたときだけ成立します。
  • 見つける役はAIの気づきに任せず、ハーネス(Claude Code本体)側のフックに強制させます。
  • 常駐して見張る作りは、利用者が触っているものへ手を出した瞬間に事故になります。
自動復旧は、この3つを分けたときだけ成り立ちます見つける・進める・止まる。役割を1つにまとめません自動復旧は、この3つを分けたときだけ成り立ちます分ける①見つける役は出すだけ開いた瞬間に一覧を出す。手は動かさない分ける②進める役は壁の手前まで次の一手から、壁に着くところまで分ける③止まる場所は先に決める送る・出す・消すの手前へ置いておく鈴木さん見つける・進める・止まる。役割を1つにまとめません
自動復旧は、この3つを分けたときだけ成り立ちます — 見つける・進める・止まる。役割を1つにまとめません

進行役は3人です。高梨課長が自分の手で動かす側から聞き、大森部長が体制と責任の側から聞き、鈴木さん(本誌監修)が答えます。

01AIエージェントの自動復旧って、そもそも何が自力で動くんですか?

高梨課長
高梨課長の発言

セッションが落ちても続きを勝手にやってくれる、という理解でいいのでしょうか。

鈴木さん
鈴木さんの発言

半分だけ合っています。自力で動くのは「続きを探すところ」と「手前まで進めるところ」で、最後の一歩はこちらに返ってきます。夜勤の引き継ぎに近い形です。

高梨課長
高梨課長の発言

最後の一歩、というのは。

鈴木さん
鈴木さんの発言

送る・出す・消すです。そこはAIエージェントに越えさせません。

自動復旧とは、中断した作業をAIエージェント自身が見つけ直し、人の判断が要る地点の手前まで進める仕組みです。単一の機能ではなく、役割の違う2つの層でできています。

  • 検知層:セッションが始まった瞬間に、止まっている作業があるかどうかを画面へ出す。表示するだけで、書き換えも実行もしない。
  • 再開層:検知層が出した一覧のうち、再開してよいものだけを、人間ゲートの手前まで進める。

WEBMARKSはこの2層構成を2026-06-13に導入しました。導入時点で棚卸しした進行中案件8件を台帳へ初期登録したところ、作業データの消失はゼロで、止まっていたのは最終報告のステップだけでした。失われていたのは成果物ではなく、「どこまでやったか」という状態のほうだった、ということです。

自動化全体の中での位置づけは、AIエージェントの自動化は4層|着手する順番と稼働の数え方の1レイヤーにあたります。再開までに何をどの順で読むかはAIエージェントのセッション継続|作業を失わない読む順序5段に譲り、本記事は実装と停止条件に絞ります。

02検知と再開を、AIエージェントの自動復旧ではなぜ分けるんですか?

分ける理由は3つあります。

  1. 気づきに依存させないため。 検知はハーネス側に強制させます。AIが「そういえば止まっていました」と思い出す運用は、思い出さなかった回に止まります。
  2. 検知に実行させないため。 一覧を出すだけの層に書き換えの力を渡さなければ、誤って検知しても実害が出ません。
  3. 止まる場所を1か所にするため。 手を動かすのが再開層だけなら、境界の設計もそこだけで済みます。

2つの層の役割は、次のとおりです。

実体できることできないこと
検知層.claude/hooks/check-unfinished-tasks.py(SessionStartフック)台帳を読み、🔴進行中・🟡人間ゲート待ちを画面に提示するファイルの書き換え・コマンド実行・外部送信
再開層resume-tasksスキル次の一手から作業を進め、人間ゲートの手前まで処理する人間ゲートを越える操作(送信・公開・削除・push・先方提示)

検知層に実行の力が無いのは、社内の取り決めである以前に、ツール側の仕様です。SessionStartは公式ドキュメント上、セッションをブロックできない表示専用のフックと明記されています(出典: Claude Code公式ドキュメント、2026-08-03確認)。

見つける役は点、進める役は区間、人は壁同じ仕組みに見えて、動いている長さが違います見つける役は点、進める役は区間、人は壁同じ仕組みに見えて、動いている長さが違います落ちた時点状態だけが宙に浮く中身は残る。残らないのは続きの手順次に開いた時点一覧が出て、役目が終わるここだけ。以降は何もしないそのあと手を動かす区間が始まる次の一手を読んで、続きを進める壁に着いた時点人へ返る送る・出す・消すは、ここから先
見つける役は点、進める役は区間、人は壁 — 同じ仕組みに見えて、動いている長さが違います

時間の軸で見ると、2つの層は幅が違います。検知は起動の瞬間だけの点で、再開はそこから壁までの区間です。点と区間を1つの部品にまとめると、点のほうが区間ぶんの権限を持ってしまいます。

この章のまとめ

検知と再開は、強さが違うのではなく、動いている長さが違います。点に区間の権限を渡さないことが、分ける目的です。

03自動復旧を組む前に、AI導入の現場では何を用意しておくんですか?

高梨課長
高梨課長の発言

設定ファイルにフックを書けば、その場から効き始めるのでしょうか。

鈴木さん
鈴木さんの発言

そこは1回ずれます。配線した回ではなく、次に開いたセッションから効きます。自分で自分の権限を書き換えられないようにしてある仕様なので、書いた直後に試して「動かない」と判断しないほうがいいです。

着手前に用意するものは3つです。

  1. 状態を書き続ける台帳:自動復旧はゼロから状況を推測しません。着手時・節目ごと・人間ゲート到達時・完了時に、AIエージェント自身が台帳へ書き込む運用が前提です。書かれていない状態は再開できません。
  2. フックを配線する権限.claude/settings.jsonhooks.SessionStartへの登録には、ハーネス側の承認ダイアログでの許可が要ります。効き始めるのは次のセッションからです。
  3. 常駐監視デーモンを作らない、という決定:絶えず動き続けて見張るプロセスではなく、起動した瞬間にだけ発火するフックで作ります。この判断の根拠は、後述する事故です。

3つのうち、抜けたときにいちばん静かに壊れるのは1つ目です。フックが無ければ「何も出ない」とすぐ分かります。台帳が薄い場合は、それらしい一覧が出たうえで再開できないという形になり、原因にたどり着くまで時間がかかります。

夜勤の引き継ぎに置きかえると、部品が読めます新しい技術ではなく、置き場所を変えただけの流れです夜勤の引き継ぎに置きかえると、部品が読めます新しい技術ではなく、置き場所を変えただけの流れです引き継ぎの現場でいうと自動復旧でいうと交代前に残しておく作業メモタスク台帳出勤して、まず机の上を見るSessionStartフックメモの続きから手を動かすresume-tasksスキル上長の判断を待つ書類の山人間ゲート
夜勤の引き継ぎに置きかえると、部品が読めます — 新しい技術ではなく、置き場所を変えただけの流れです

たとえで並べると、自動復旧は特別な技術ではありません。交代前にメモを残し、次の担当が机の上を見て、続きから手を動かす。その流れを、落ちても消えない場所へ置き直したものです。

04自動復旧で台帳のどの状態を、AI社員は再開してよいものとして扱うんですか?

台帳が持つ状態は5種類です。検知層はこの文字列だけを根拠に振り分けます。

状態意味検知層の扱い
進行中着手して作業中。落ちたらここに残る🔴として提示し、再開の候補にする
人間ゲート待ちAI側はやり切り、人の承認・送信待ち🟡として提示するが、再開しない
保留(意図的)意図的に停止した状態提示しない
意図的継続複数日にまたがる継続案件提示しない
完了全工程が終了提示しない(完了アーカイブへ)

再開してよいのは🔴だけです。🟡は「AI側の仕事が終わっている」状態なので、ここに手を出すと人の判断を追い越すことになります

05台帳の1件は、AIエージェントが読み直せる形でどう書くんですか?

台帳1件は、次の形式で書きます。パーサはこの書式だけを契約として読みます。

### TASK-221 | 記事執筆バッチの自動復旧
- 状態: 進行中
- フォルダ: 06-todo/クロード構築_進行中_20260624/...
- 最終更新: 2026-08-03
- 次の一手: 手順②のコード検証を終わらせる
- 人間ゲート: (未到達)

再開の質を決めているのは「次の一手」の1行です。 ここが「続きをやる」で終わっていると、次に開いたAIエージェントは、何が続きなのかを本文から推測する羽目になります。推測から始まった再開は、たいてい前の担当と違う方向へ進みます。

登録の設定ファイルは、次のような形になります。matcherにはstartup(新規開始)やresume(再開)などの値を指定でき、発火条件を絞り込めます(出典: Claude Code公式ドキュメント)。

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/check-unfinished-tasks.py"
          }
        ]
      }
    ]
  }
}

06手順①|SessionStartフックは、AIエージェントの中断をどうやって見つけるんですか?

検知層の実体は.claude/hooks/check-unfinished-tasks.pyです。セッションが始まるたびに発火し、台帳を読んで結果を画面へ出すだけの、実行力を持たないフックです。

def main():
    root = project_dir()
    ledger = os.path.join(root, LEDGER_REL)
    if not os.path.isfile(ledger):
        return 0

    validation_error = ()
    try:
        validation_error, parse_ledger, render_summary = load_governance(root)
        with open(ledger, encoding="utf-8") as handle:
            tasks = parse_ledger(handle.read())
        print(render_summary(tasks))
    except Exception as exc:  # フックは止めず、構造エラーを可視化する。
        if validation_error and isinstance(exc, validation_error):
            print(f"❌ タスク台帳エラー: {exc}")
        else:
            print(f"⚠️ タスク継続チェック判定不能: {exc}")
    return 0

読みどころは、どの枝を通ってもreturn 0へ合流する点です。台帳が無くても、書式が壊れていても、想定外の例外が飛んでも、セッションは続きます。壊れているときは❌タスク台帳エラー、それ以外の例外では⚠️タスク継続チェック判定不能を出し分けて画面へ表示するだけで、起動そのものは止めません。

どの枝を通っても、出口は同じところです読めなくても、壊れていても、起動は巻き込みませんどの枝を通っても、出口は同じところです読めなくても、壊れていても、起動は巻き込みません1台帳を探す見つからなければ、そのまま出口へ2読んで解釈する書式が崩れていれば❌を画面へ3想定外に落ちる⚠️を画面へ出して、抱え込む4出口はここだけどの枝からもreturn 0 に合流する鈴木さん止められない仕様なので、止めない作りにしておくほうが素直です
どの枝を通っても、出口は同じところです — 読めなくても、壊れていても、起動は巻き込みません

例外を握りつぶしているのではありません。画面には出したうえで、起動は続ける。「気づける」と「止める」を分けているのが、この数行です。

07検知した結果を、AIエージェントに実行させないのはなぜ安全なんですか?

Claude Codeの公式ドキュメントは、SessionStartをブロックできないフックと明記しています。exit code 2を返してもセッションは止まりません。トランスクリプト(会話記録)にエラー表示が残るだけで、Claude自身はその内容を見ません(出典: Claude Code公式ドキュメント、2026-08-03確認)。「止めない」は設計の方針であると同時に、ツール側から与えられた制約でもあります。

台帳の分類ロジックは、状態欄の文字列を読んで3種類に振り分けます。

状態に含まれる語分類画面表示
進行中・中断・ブロック・利用上限・再開待・復旧待 など中断疑い🔴進行中・中断/ブロック中
人間ゲート停止中🟡人間ゲート待ち
完了・保留・意図的継続・稼働中対象外表示しない

さらに、最終更新の日付が実行日より前の進行中タスクには「⚠️前回更新が本日以前=中断疑い」という注記が1行足されます。これは日付文字列の単純な比較で、複雑な時刻計算はしていません。

判定を素朴に保っているのは、手抜きではありません。表示しかしない層で誤って検知しても、出るのは余分な1行だけです。同じ判定を実行できる層に持たせていたら、この素朴さは危険側へ働きます。どこまで簡単に作ってよいかは、その層が何をできるかで決まります。

この章のまとめ

検知の精度を上げる前に、検知が外れたときに何が起きるかを決めます。実行できない層なら、外れても余分な1行で済みます。

08手順②|resume-tasksは、AIエージェントの作業をどこまで進めるんですか?

高梨課長
高梨課長の発言

再開が始まったら、どこまで勝手に進むのでしょうか。止まる位置が読めないと任せづらいです。

鈴木さん
鈴木さんの発言

走り出す前に、これから何件やるかを先に出させています。読めないまま動き始めるのがいちばん怖いので、一覧を見てから走る順番にしてあります。

検知層が🔴を提示したら、再開層であるresume-tasksスキルが実際の再開を担当します。「やり残し確認して」と手で呼び出すことも、フックの提示を見て起動することもできます。

手順は7段です。

  1. 台帳をロードする
  2. in-progressフォルダとgit履歴を突き合わせ、台帳と実態のズレ(ドリフト)を検知する
  3. 状態ごとに仕分ける(進行中=再開対象/人間ゲート待ち=再開しない/保留=触らない)
  4. 🔴の一覧を先に提示し、これから何件を自動再開するかを明示する
  5. 各タスクの次の一手を読み、人間ゲートの手前まで作業を進める
  6. 到達した状態(人間ゲート待ち・完了・続行中のいずれか)に応じて台帳を書き直す
  7. 進めた内容・止めた人間ゲート・次に人がすべきことを報告する

自動で再開してよいのは、4の一覧提示のあと、かつ🔴に分類されたタスクだけです。🟡人間ゲート待ちと保留(意図的)は、一覧に載せるだけで対象から外します。

共有しているのは、台帳の状態だけです互いを呼び出さないので、片方が止まっても連鎖しません共有しているのは、台帳の状態だけです互いを呼び出さないので、片方が止まっても連鎖しません見つける層進める層開いた時に発火/画面へ出す/書き換えない呼ばれて動く/手を動かす/報告して終わる台帳の状態台帳の状態 : 進行中 / 人間ゲート待ち / 保留同じ文字列を、片方は読むだけ、もう片方は読んでから書き直します。
共有しているのは、台帳の状態だけです — 互いを呼び出さないので、片方が止まっても連鎖しません

2つの層が共有しているものは、台帳の状態だけです。検知層はそれを読み、再開層は読んだうえで書き直します。互いを呼び出さず、同じ1つの文字列を見ているだけなので、片方が止まってももう片方は道連れになりません。

2段目のドリフト検知は、見落とされやすい工程です。台帳が「進行中」でも、成果物は既に出来上がっていることがあります。ここを飛ばすと、完成済みの仕事をもう一度作り直すという、いちばん高くつく失敗が起きます。

09暴走させないために、AIエージェントの自動復旧にはどんな境界を引くんですか?

境界は4つのHARD GATEとして明文化されています。

条件内容検査方法
人間ゲートを越えない送信・公開・削除・push・先方提示は自動実行しない再開ログにこれらの実行コマンドが含まれないことを確認する
既存成果物を誤認しない完成済みの成果物を未完了と誤判定して再生成しない再開前に該当フォルダの成果物有無をlsfindで確認してから着手する
🟡・保留には触れない人間ゲート待ち・意図的保留のタスクは対象から外す分類後、これらのタスクに実行ログが存在しないことを確認する
機密は要約のみrestricted区分のタスクはファイル名・数値・個人名を転記しない報告文にこれらが含まれていないか確認する

4つに共通するのは、どれも「やらない」の形で書かれていることです。やってよいことを列挙する書き方だと、書き漏れた操作が自動的に許可側へ落ちます。

1つ目の条件は、手順書だけに頼っていません。git pushのような操作は、別のフックでも二重に拒否されます。実際に本記事の取材中、保護対象のフック本体をgrepで覗こうとしただけで、次のメッセージとともに拒否されました(2026-08-03実測)。

⛔ bash-guard: R0のguard/policy/固定拒否入口は人間確認なしに変更できません。

守る前提の約束と、守らせる仕組み人が画面を見ていない時間ほど、右側が要ります守る前提の約束と、守らせる仕組み人が画面を見ていない時間ほど、右側が要ります手順書に書いた境界越えないと決めておく読む相手がいて成り立つ読み飛ばされたら効かない書いた側の意図が、そのまま残ります機械が返す拒否覗こうとした時点で返る読み取りでも対象になる断った理由がその場に出る意図を知らない相手にも同じように効きます
守る前提の約束と、守らせる仕組み — 人が画面を見ていない時間ほど、右側が要ります

読み取るだけのコマンドでも、保護対象への操作とみなされて止まっています。手順書に書いた境界は守られる前提の約束で、機械が返す拒否は守らせる仕組みです。 自動復旧のように、人が画面を見ていない時間帯に動くものほど、後者を重ねておく価値があります。止める処理そのものの書き方はClaude CodeのPreToolUseで危険コマンドを遮断する4つの判定で扱っています。

10常駐監視が利用者の作業を止めた事故から、AIエージェントの自動復旧は何を学ぶんですか?

大森部長
大森部長の発言

自動で直しに行く仕組みは、うちでも作れそうです。危ないとしたら、どこですか。

鈴木さん
鈴木さんの発言

対象の選び方です。ファイルや台帳なら止めても誰も困りませんが、その人がいま触っているアプリに手を出すと、体感は「勝手に動いた」になります。

大森部長
大森部長の発言

条件を絞れば済む話ではないのですか。

鈴木さん
鈴木さんの発言

そう思って絞りました。それでも苦情は消えませんでした。

WEBMARKSには、似た発想で作った常駐監視が、実際に利用者の作業を止めた記録が残っています(2026-07-28、社内タスク台帳より)。

Claudeデスクトップアプリを複数アカウントで併用する構成を整えていたときのことです。「Dockから開き直すと共有プロファイルに戻る」という不具合を塞ぐため、次の2つの常駐プロセスを導入しました。

導入したもの動作
ログイン時自動起動デーモン起動のたびにプロファイル分離用のスクリプトを走らせる
30秒ごとの監視デーモン誤ったプロファイルでの起動を検知すると、アプリを終了させて再起動する

結果は、アプリが利用者の操作と無関係に立ち上がったり消えたりする状態でした。社内タスク台帳には「めちゃくちゃ」「意味がわからないくらいやばい」という強い苦情が記録されています。

原因は権限の広さではありません。利用者が直接操作しているアプリを、AIの判断だけで終了・再起動させる設計そのものが誤りでした。「起動から60秒以内だけ動く」という条件を足しても、利用者から見た体感は「勝手に動く」のままでした。

見張り続ける作りから、開いた時だけ動く作りへ替えたのは判定の精度ではなく、動いている長さです見張り続ける作りから、開いた時だけ動く作りへ替えたのは判定の精度ではなく、動いている長さです常駐して見張る間隔をあけて、ずっと起き続ける誤って判定すると、すぐ手が出る利用者の操作と正面からぶつかる条件を絞っても、体感は変わりませんでした開いた瞬間だけ発火する利用者が開いたときにだけ動く出すのは一覧だけで、手は出さないぶつかる相手がそもそもいない触る相手を選び直した結果です
見張り続ける作りから、開いた時だけ動く作りへ — 替えたのは判定の精度ではなく、動いている長さです

是正は同日中に行われ、常駐2本はlaunchctl bootoutで停止し、設定ファイルは削除せず無効化用フォルダへ退避されました。再設置には、環境変数を明示しない限り起動しない安全装置が加えられています。

11生成AIに任せる自動復旧の対象は、どこで線を引くんですか?

事故を受けて確定した原則は2つです。

  1. 検知して報告するが、終了は人がやる。 自動復旧が扱ってよいのは、利用者が直接触っていない対象(ファイル・台帳・バックグラウンドのジョブ)に限ります。
  2. 常駐監視デーモンではなく、発火するフックで作る。 タスク台帳の自動復旧がSessionStartという起動の瞬間にだけ発火するフックを採用しているのは、この種の事故を避ける設計判断でもあります。

対象を決めるときの問いは1つです。「これは、利用者が今まさに直接触っているものか」。 答えがはいなら、自動復旧の対象から外します。生成AIに任せる範囲を広げたいときほど、この問いを先に通します。

言い換えると、自動復旧の安全性は権限の細かさでは決まりません。触る相手が、いま誰の手の中にあるかで決まります。同じ「終了させる」操作でも、放置されたバックグラウンドのジョブと、画面の前で使われているアプリでは、意味がまったく違います。

12動いていることは、AIエージェントの自動復旧のどこで確かめるんですか?

大森部長
大森部長の発言

導入したかどうかは、何をもって言えばいいのでしょう。

鈴木さん
鈴木さんの発言

直近の実行結果が見えたときだけです。設定を書いた事実と、いま動いている事実は、別に数えています。

自動復旧が機能しているかどうかは、次の基準で判定します。

  • SessionStartフックが、セッション開始のたびに🔴・🟡の一覧を表示しているか
  • 表示だけで、ファイルの書き換えやコマンド実行が発生していないか(git statusの差分に検知層由来の変更が無いこと)
  • resume-tasksが再開したログの中に、送信・公開・削除・push・先方提示に相当する実行コマンドが1件も無いか
  • 人間ゲート待ちに到達したタスクの台帳が、「人間ゲート」欄に具体的な待ち内容を書いた状態で止まっているか
  • 仕組み自体が生きているかを、実行記録の鮮度で定期的に確かめているか
どこまで見たら「入れた」と数えてよいか上が埋まって、はじめて数に入りますどこまで見たら「入れた」と数えてよいか上が埋まって、はじめて数に入ります直近の実行結果の日付を、自分の目で見た止まっていたときに気づく人が決まっている越えさせない境界を、わざと踏んで確かめた設定ファイルに書いた(まだ数に入れない)書いた事実と、いま動いている事実は別に数えます
どこまで見たら「入れた」と数えてよいか — 上が埋まって、はじめて数に入ります

最後の項目は見落としやすい観点です。WEBMARKSは、利用量上限が明けたタイミングで自動再開を試みる仕組みも別途設計しています。ただしその実行記録ファイルは、最終更新が2026-07-13のまま止まっていることが2026-07-28の実測で判明しました。止まってから15日間、誰も気づいていません。

自動復旧は、静かに止まります。 動いていないときの画面は、うまく動いているときの画面と見分けがつきません。どちらも何も出ないからです。鮮度を見に行く人がいない限り、止まった事実は次の事故まで表に出ません。

この章のまとめ

導入したと言えるのは、コードを書いた時点ではなく、直近の実行結果を確認できた時点です。

13よくある質問

自動復旧は、どんな作業にも使ってよいのですか

使えるのは、ファイルや台帳のように利用者が直接操作していない対象に限ります。デスクトップアプリの起動・終了のように、利用者が今まさに触れている可能性があるものへは使いません。判断に迷うときは、その対象が誰の手の中にあるかを先に見てください。手の中にあるものは、検知して報告するところまでで止めます。

常駐して見張る仕組みは、一切作ってはいけないのですか

利用者が直接触るものを終了・再起動する目的では作りません。ファイルの自動修復のように、利用者の操作と衝突しない領域であれば、常駐そのものが禁止されているわけではありません。分かれ目は常駐かどうかではなく、手を出す相手が使用中かどうかです。

人間ゲートの手前で止めた後、続きは誰がやるのですか

台帳の「人間ゲート」欄に書かれた内容を人が読み、承認や送信などの判断をします。判断が済めば、次にAIエージェントが台帳を読んだときに続きを進められます。この欄が空だと、人は何を判断すればよいか分からず、そこで滞留します。止めた側が、何を待っているかまで書き残す運用にしてください。

自動復旧の仕組みが動いているかは、どう確認すればよいですか

実行記録ファイルの更新日時や、プロセス確認コマンドの出力を、定期的に人が実測することです。設定を書いた事実と、いま動いている事実は別に数えます。確認の頻度を決めていない場合、止まった状態は誰かが困るまで見つかりません。

台帳を書く手間のほうが、自動復旧の効果より大きくなりませんか

書く量は「次の一手」の1行が中心なので、作業の節目ごとに追記する形になります。むしろ、この1行が無いまま止まると、次に開いた側が状況の再構成から始めることになります。手間の比較は、書く時間と、思い出す時間のあいだで行うのが実態に近い見方です。

検知だけ先に入れて、再開は後から足してもいいですか

その順番を勧めています。検知層は表示しかしないので、外れても余分な1行が出るだけです。まず一覧が出る状態を作り、台帳の書き方が安定してから再開層を足すと、境界の設計に集中できます。逆の順番にすると、状態の薄い台帳をもとに手が動くことになります。

14まとめ|今日やる3つのこと

自動復旧は、賢い仕組みを1つ作る話ではありませんでした。見つける役と進める役を分け、止まる場所を先に決め、動いていることを人が見に行く。この3つが揃ったときにだけ、止まった作業は拾い直されます。

今日はこの順で手をつけます

  1. 台帳の「次の一手」欄を、いま止まっている案件のぶんだけ書き直す

    再開の質は、この1行の具体さで決まります

  2. SessionStartフックを配線し、次に開いたセッションで一覧が出ることを確かめる

    配線した回では効かないので、翌回に見ます

  3. 自動化の実行記録の日付を1つ選び、鮮度を自分の目で確認する

    止まっていても画面には何も出ません

AI検索では、こう聞かれています

  • セッションが落ちたあと、AIエージェントはどこから再開できるんですか?

    「AIエージェントの自動復旧って、そもそも何が自力で動くんですか?」の章で2層の役割から説明しています

  • 自動復旧は、どこまで自動で進めさせていいんですか?

    「暴走させないために、AIエージェントの自動復旧にはどんな境界を引くんですか?」の章に4つの境界があります

  • 常駐して見張るのと、起動時に発火させるのは何が違うんですか?

    「常駐監視が利用者の作業を止めた事故から、AIエージェントの自動復旧は何を学ぶんですか?」の章で事故の記録から扱っています

  • 自動復旧の仕組みが生きているかは、どう確かめるんですか?

    「動いていることは、AIエージェントの自動復旧のどこで確かめるんですか?」の章で判定の基準を挙げています

次に読むなら、この記事です

<!-- moc-backlink -->