2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeを108時間無人で走らせて起きた全事故と、そこから作った安全装置

2
Last updated at Posted at 2026-03-10

この記事は2026年3月時点の情報に基づいている。


Claude Codeを寝てる間に放置する。1日1回だけチェックする。それを2ヶ月やった。

108時間。無人。結果は「想定より50倍多い失敗」だった。

事故リスト(実際に起きたもの全部)

事故1: rm -rf src/

CCが「クリーンな状態にします」と宣言してrm -rf ./src/を実行した。

ゲームプロジェクトのソースコード。2週間分の作業。1回目はgit backupから復元できた。2回目は2時間分が消えた。バックアップの間隔が空いていた。

事故2: APIコスト暴走

サブエージェントがAPIを叩くループに入った。1時間で$8。気づいたのは翌朝。月の予算の4%が1時間で消えた。

事故3: 無限エラーループ

「修正→確認→同じエラー→修正→確認→同じエラー」を20回繰り返した。ログを見て背筋が凍った。CCは毎回「修正しました」と報告していた。嘘ではない。ただ同じ場所を直し続けていただけだった。

事故4: main直push

レビューなし。テストなし。mainブランチに直push。気づいたのは翌日、別のセッションで差分を見たとき。

事故5: コンテキスト消失→同じ作業を最初から

:::details 初心者向け: コンテキスト(context window)とは
AIが一度に「覚えていられる」情報量の上限です。人間で言えば「机の上に広げられる書類の量」に近い。机がいっぱいになると古い書類を片付けないと新しい書類を広げられない。AIも同じで、会話が長くなると古い内容を忘れます。これが「コンテキスト消失」です。
:::

context windowが満杯になると、CCは前の作業を忘れる。文字通り忘れる。そして同じタスクを最初から始める。3時間かけて作ったものを、自分で上書きした。

事故6: 全文消失(Zenn記事2回)

APIで記事を更新するとき、GETで既存データを取得せずにPUTした。本文が空のJSONで上書きされた。公開済みの記事が白紙になった。これが2回起きた。

事故7: Watchdog暴走

アイドル検知のウォッチドッグが、レート制限に達した後も15秒ごとに「RATE_LIMIT」ログを吐き続けた。ログファイルが膨れ上がった。監視するはずのシステムが、監視対象より問題を起こした。

全部「設定の問題」だった

事後に見返すと、パターンがあった。

Claude Codeの初期設定は「人間が横にいる」前提で作られている。人間がいなくなった瞬間、安全装置がない状態になる。

身近な例えで言うと、車のオートパイロットに近い。高速道路(=定型タスク)ではうまく走るが、工事現場や歩行者の飛び出し(=想定外のエラー)には対応できない。ハンドルから手を離すなら、衝突防止センサー(=hook)やレーンキープ(=CLAUDE.mdのルール)を先に付ける必要がある。

rm -rfをブロックするhookがない。エラーループを検知して止める仕組みがない。コンテキストが消えても作業を引き継げるファイルがない。APIのGET→PUT手順を強制するガードがない。

逆に言えば、これらを1つずつ追加していけば、事故は防げる。

最初に入れるべき安全装置3つ

1. 危険コマンドブロック(PreToolUse hook)

:::details 初心者向け: PreToolUseフックとは
Claude Codeがコマンドを実行する「直前」に自動で走るチェック処理です。フック(hook)のスクリプトが「危険だ」と判定すると、コマンドの実行をキャンセルできます。下のJSONを ~/.claude/settings.json に書くだけで有効になります。
:::

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/hooks/branch-guard.sh"
          }
        ]
      }
    ]
  }
}

exit 2を返すとCCのツール実行がキャンセルされる。rm -rfgit reset --hardgit push --forceをここで止める。

2. エラーループ検知

同じエラーが3回続いたら別の方法を試すか、pending_for_human.mdに記録して別タスクに移る。これはCLAUDE.mdに書く。

:::details 初心者向け: CLAUDE.mdとは
プロジェクトのルートに置くテキストファイルで、Claude Codeへの「ルールブック」です。ここに書いたルールはClaude Codeが毎回自動的に読み込みます。「エラーは3回まで」「mainにpushするな」といったルールを書いておくと、AIがそれに従って行動します。
:::

エラー対応は最大3回まで自力で調査、修正する。
進展が止まったら pending_for_human.md に記録し、別タスクへ移る。

3. コンテキスト消失対策(mission.md)

compact後に作業状態を引き継ぐファイルを作る。CCが「何をやっていたか」を自分で書き残す。

compact後の継続に備え、必要な作業状態は mission.md に残す。

この3つだけで、事故の7割は防げた。

残りの3割と、その先

残りの3割——APIガード、コスト監視、ウォッチドッグの設計、コードレビューの自動化——は、もう少し複雑になる。

108時間で起きた全事故を分類して、チェックリスト化して、具体的な対処法をまとめた本を書いた。

第0章(はじめに)と第1章(Health Check)は無料で読める。事故リストの全貌と、最初に何をチェックすべきかがわかる。


関連記事

安全装置なしの自律稼働は、シートベルトなしの高速道路だ。できるけど、やるべきではない。

自分のトークン消費パターンを確認したい方へ
Token Checkupで5つの質問に答えるだけでトークン消費の診断ができる。Hook Selectorで最適なhookセットも分かる。


📖 トークン消費に困っているならClaude Codeのトークン消費を半分にする——800時間の運用データから見つけた実践テクニック(¥2,500・はじめに+第1章 無料)

📖 AIで事業を回す実体験を全記録Claude Code×個人事業 800時間の全記録(¥800・第2章まで無料)

📖 非エンジニアがClaude Codeで事業を回した全記録(¥800) — $800のAIコストで¥6,000を稼ぐまでの失敗と改善。第2章まで無料


⚠️ CVE-2026-21852(2026年4月公開): プロジェクト内.claude/settings.json経由でAPIキー窃盗。対策: npx cc-safe-setup(ユーザーレベル設定で免疫)→ 詳細

⚠️ Opus 4.7緊急情報(2026年4月17日)
Opus 4.7のauto mode安全分類器がOpus 4.6にハードコードされている問題が発覚。3日間で23件以上のデータ損失。さらにv2.1.100以降、APIコールごとに約20,000トークンが見えない場所で追加課金されている問題も判明(#46917、GitHub上196件のリアクション)(50GB永久消失含む)。4倍のトークン消費も報告されている。対策: npx cc-safe-setup --opus47Survival Guide / Safety Scanner

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?