「よし、これで完璧なAI自律開発チームが完成したぞ……!」
PCの画面を見つめながら、私は密かに満足していました。

このRui Toolsの開発を効率よく進めるため、プロンプトとルールファイルを徹底的に作り込み、「統合マネージャー」と「4つの専門サブエージェント」による連携オーケストレーション体制を立ち上げたのです。
ところがその直後、初歩的な見落としに気づくことになります。

今回は、AIコーディングに浮かれていた私が、初歩的なミスに気づき、「ローカルセーブポイント」の運用を整えるまでの記録です。

1. 役割を分けた「AI専門家チーム」を組む

AIコーディングを日常的に使っている人なら分かると思いますが、AIに1つのプロンプトで「作って・見直して・テストして」と丸投げすると、高確率でコードのデグレ(先祖返り)を起こしたり、都合よく手抜きテストをして「動きました!」と嘘をつかれたりします。

そこで私は、現場を仕切るエンジニア気質の「統合マネージャー」を司令塔に据え、その配下に役割を極限まで絞り込んだ4つのサブエージェントを編成しました。

  • 実装担当(Developer):マネージャーの指示通りにコードを書く。余計な推測や自己判断は禁止。
  • レビュー担当(Reviewer):【コードの書き換え一切禁止】。変更差分を監視し、構文ミスやセキュリティ欠陥、既存ロジックの破壊がないか指摘だけを返す。
  • テスト担当(Tester):【コードの書き換え一切禁止】。相対パスの参照切れやレスポンシブ崩れを検証し、合否だけを判定する。
  • ドキュメント記録係(Documenter):テスト合格後、開発ロードマップ(ROADMAP.md)やログを更新する。

「実装者自身にセルフレビューをさせず、権限を剥奪した別エージェントに監査させる」。
この分担にしてから、ツール追加もリファクタリングも手戻りが減りました。「我ながらうまい体制を作った」と、すっかり満足していたわけです。

2. トークン節約の「賢い運用」に潜んでいた罠

さらに私は、GitHubとの連携についても「堅実な方針」を敷いていました。
AIエージェントにGitHubへの直接push権限を与えてしまうと、APIトークンがバカスカ消費される危険があるし、何よりAIが暴走して壊れたコードを本番環境(Cloudflare Pages)に自動デプロイしてしまうリスクがあります。

そのため、「AIチームにはローカルファイルだけを編集させ、成果物の最終確認とGitHubへのアップロード(push)は人間である自分が手動で行う」という防衛線を張っていたのです。

トークンも節約できるし、本番環境への誤爆も防げる。「安全第一のプロフェッショナルな運用だ」と、我ながら完璧な設計だと胸を張っていました。

3. 作業の流れを見直していて気づいたこと

いくつかの機能追加を終えたあと、ふと作業全体のタイムラインを頭の中でシミュレーションしていたときのことです。

💭 ふと浮かんだ疑問

「……待てよ?
もしAIチームが修正1(Ver.1)を完了して、人間が『よし、続けて修正2(Ver.2)もお願い!』と指示したとする。
そしてVer.2の実装途中で致命的な不具合が起きて、『やっぱりVer.1の直後の状態に戻したい!』となったら……どうやって戻すんだ??」

気になって、プロジェクトフォルダを確認してみました。

「`.git` フォルダが存在しない……?!」

なんと、この作業フォルダはそもそもローカルGitの初期化(`git init`)すらされていなかったのです。
つまり、何が起きていたかと言うと:

  • GitHub上にあるのは、作業を始める前の古いスナップショット(Ver.0)。
  • ローカルPC上にあるのは、AIが目まぐるしいスピードで直接書き換えている最新ファイル(Ver.2)。
  • 途中でAIが丹精込めて作り上げた「Ver.1」のデータは、どこにも保存されていない。

もし途中でAIがミスをしてコードがグチャグチャになったら、何時間も前に手動プッシュしたGitHubの古い状態まで巻き戻すか、Ctrl+Zで地道に戻すしかありませんでした。
「最新の自律型マルチエージェントを指揮している」つもりだった自分の実態は、「バージョン管理なしで突っ走っていた」状態だったのです。

4. ローカルGitでセーブポイントを作る

気づいてすぐ、開発ルールを見直しました。

まずローカル環境で git init を叩き、現在の全25ファイルを初期コミットとして保存。
そして、記録係のサブエージェント(Documenter)に新しい任務をルールとして追加しました。

🛡️ 新設したローカルGit運用ガードレール
  • 自動セーブポイント作成:テスト担当の合格が出た瞬間、ROADMAP更新とセットでローカルGitコミットを自動作成する。
  • git pushの絶対禁止:外部への送信権限はエージェントに渡さない。人間が手動で行う防衛線は死守。
  • 危険コマンドの禁止:未コミットの変更を消し去る git reset --hard や git clean は、人間の個別指示がない限り実行禁止。
  • 1秒ロールバック機能:人間が「直前の状態に戻して!」と言ったら、git restore . でいつでも1手前の安全なコミットに一瞬で巻き戻す。

これで、AIがどれだけ速くコードを書き換えても、タスクごとに「安全なチェックポイント(セーブデータ)」がローカルPC内に自動で蓄積されていく体制が整いました。
ゲームで言えば、「オートセーブのない死にゲー」から「ボス戦の直前ごとにオートセーブが入る安心設計」に変わりました。

5. まとめ:AI時代だからこそ「泥臭い巻き戻しボタン」が生命線になる

いまやAIは、人間が数時間かかるリファクタリングを数秒でやってのけます。
でも、開発スピードが上がるほど、「失敗したときに元の場所に戻れる仕組み」は大事になると感じました。

どれほど高度なマルチエージェント体制を組んでも、最後に頼りになったのは、15年以上前から使われている git commit という、泥臭くて堅牢なローカルセーブポイントでした。

AIに任せる範囲が広がるほど、戻れる場所を先に用意しておく。今回の件で、そのことを心に刻みました。

👨‍💻
Rui
Rui Tools 開発者 / 個人エンジニア
日々の「ちょっとした不便」を最速で解決するWebツールを開発中。軽量・ミニマル・実用的なUI設計を好みます。好きなものは珈琲とシンプルな道具。
← 前の記事 最新AI開発のリアルな落とし穴:GeminiのMarkdownレンダリングバグを泥臭く回避した話