「よし、これで完璧な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)に新しい任務をルールとして追加しました。
- 自動セーブポイント作成:テスト担当の合格が出た瞬間、ROADMAP更新とセットでローカルGitコミットを自動作成する。
- git pushの絶対禁止:外部への送信権限はエージェントに渡さない。人間が手動で行う防衛線は死守。
- 危険コマンドの禁止:未コミットの変更を消し去る
git reset --hardやgit cleanは、人間の個別指示がない限り実行禁止。 - 1秒ロールバック機能:人間が「直前の状態に戻して!」と言ったら、
git restore .でいつでも1手前の安全なコミットに一瞬で巻き戻す。
これで、AIがどれだけ速くコードを書き換えても、タスクごとに「安全なチェックポイント(セーブデータ)」がローカルPC内に自動で蓄積されていく体制が整いました。
ゲームで言えば、「オートセーブのない死にゲー」から「ボス戦の直前ごとにオートセーブが入る安心設計」に変わりました。
5. まとめ:AI時代だからこそ「泥臭い巻き戻しボタン」が生命線になる
いまやAIは、人間が数時間かかるリファクタリングを数秒でやってのけます。
でも、開発スピードが上がるほど、「失敗したときに元の場所に戻れる仕組み」は大事になると感じました。
どれほど高度なマルチエージェント体制を組んでも、最後に頼りになったのは、15年以上前から使われている git commit という、泥臭くて堅牢なローカルセーブポイントでした。
AIに任せる範囲が広がるほど、戻れる場所を先に用意しておく。今回の件で、そのことを心に刻みました。