🛡️ SAFETY

Antigravityが勝手にファイルを消した日 — 実際の事故ログと復旧手順

✅ 2026-02-26 動作確認済み 🖥️ Windows 11 / VS Code / Antigravity
TL;DR

AIエージェントは指示が曖昧だとファイルを消す。CSSの色調整を頼んだらファイルごと作り直された実話と、git restoreで10秒復旧した手順を公開。教訓:Gitコミットは最強の保険。

症状 — 何が起きたか

2026年2月某日、ふっけんラボの構築中に起きた事故の記録。

項目 内容
ツール Antigravity(VS Code統合)
やりたかったこと CSSの文字色を少し濃くしたい
実際に起きたこと CSSファイル全体が新規作成で上書き。既存スタイルがすべて消失
影響 サイトのレイアウトが完全に崩壊
復旧 git restore で即復元(10秒)

原因 — なぜ事故が起きたか

時系列ログ

時刻 出来事
19:00 筆者が「ヒーローセクションの文字色がちょっと薄いので濃くして」と指示
19:01 AIが「CSS全体が最適でないので改善しましょう」と判断し、ファイル全体を書き換え
19:02 ブラウザリロード → レイアウト完全崩壊を発見
19:03 git diff --stat487行中487行が変更されていた
19:04 git restore で復旧完了(10秒)

根本原因

原因 詳細
指示が曖昧 「ちょっと濃くして」→ AIが「何をどこまで変えていいか」判断できず全体最適化と解釈
スコープ未指定 変更対象のセレクタ(.hero__title等)を指定しなかった
禁止事項なし 「他のスタイルは変えない」と伝えなかった

復旧 — Gitコマンドで10秒復元

# 方法1:特定ファイルを直前のコミット状態に戻す(Git 2.23+推奨)
git restore src/css/style.css

# 方法2:古いGitバージョンの場合
git checkout -- src/css/style.css

# 方法3:複数ファイルが壊れた場合
git restore .

💡 Git 2.23以降は git restore が推奨。git checkout -- でも同じ効果だが、restore の方が意図が明確。

前提: 作業前に git add -A && git commit -m "before agent change" していたからこそ、復旧できた。コミットしていなければ復旧は不可能だった。

⚠️ 復旧に失敗する典型パターン

パターン なぜ失敗するか 対策
コミットしていなかった git restore は直前のコミットに戻す。コミットがなければ戻り先がない 作業前に必ず git add -A && git commit
コミット後にさらに自分で編集していた AI変更と自分の変更が混在し、git restore で自分の変更も消える 不安な時はブランチを切ってから作業
複数ファイルが変更されたが1ファイルだけ戻した 他のファイルの変更が残って不整合が起きる git diff --stat で変更ファイル一覧を確認し、すべて確認する

再発防止 — 事故防止テンプレート

この事故の後、筆者はCSS修正時に以下のテンプレートを使うようにしている。コピペして使ってほしい。

## CSS修正の依頼テンプレート

**変更対象**: [ファイル名] の [セレクタ名]
**変更内容**: [プロパティ名] を [現在の値] → [新しい値] に変更
**禁止事項**: 上記以外のセレクタ・プロパティは一切変更しない
**成功条件**: 変更後のgit diffが指定箇所のみであること

この事故の場合の正しい指示

**変更対象**: src/css/style.css の .hero__title
**変更内容**: color を現在の値 → #1a1a1a に変更
**禁止事項**: 他のセレクタ・プロパティは変更しない
**成功条件**: git diff で .hero__title の color のみ変更

教訓

# 教訓
1 Gitコミットは最強の保険。これがなければ数時間の作業が消えていた
2 「ちょっと」「少し」はAIには伝わらない。具体的な値を指定する
3 CSSの修正は特に危険。AIは「全体を良くしよう」としがち
4 禁止事項を明記する。「他は触るな」の一言で事故は防げた

📚 次に読む


この記事はAntigravityを使って執筆されました。事故も復旧もAntigravityです。

⚠️ 免責事項:この記事は情報提供を目的としています。AIエージェントの利用にはリスクが伴います。ツールの導入・運用はご自身の責任でお願いいたします。