AI開発の落とし穴:2万行のコードが生んだ「修正の無限ループ」とデータベースの悲劇
目次
- はじめに:開発後半、AIは「壊し屋」になる
- 教訓1:バグ修正の無限ループ(モグラ叩き)
- 解決策:「デバッグリスト」を作らせて指揮する
- 教訓2:データベースの悲劇(リファクタリング地獄)
- 教訓3:「構想漏れ」はAIには見えない
- まとめ:AIに使われるな、AIを使え
はじめに:開発後半、AIは「壊し屋」になる
「よし、基本機能はできた。あとはバグを取るだけだ」
そう思った瞬間から、本当の地獄が始まりました。22,500行まで膨れ上がったコードに対し、ジェンスパーク(Genspark)を使って安易なバグ修正を行うと、1つ直せば2つ壊れる「修正の無限ループ」に突入します。
この記事では、開発後半で私が直面したデバッグの失敗と、そこから編み出した「AIを制御下に置くためのデバッグ・フロー」を共有します。
教訓1:バグ修正の無限ループ(モグラ叩き)
開発初期のデバッグは簡単です。エラーログをAIに投げれば、即座に修正してくれます。しかし、コードが複雑化した後半で同じことをやると大惨事になります。
失敗パターン:「これ直して」の連続
AIは「目の前のエラー」を消すことには長けていますが、「修正による副作用(他の機能への影響)」を完璧に予測できるわけではありません。
Aを直すとBが動かなくなり、Bを直すとCがバグり、Cを直すとAがまた壊れる...。いつの間にか修正コード同士がバッティングし、コードはスパゲッティ化します。
解決策:「デバッグリスト」を作らせて指揮する
この泥沼から脱出するために、私はAIへの指示方法を根本から変えました。「直させる」のではなく、まず「整理させる」のです。
黄金のデバッグ・フロー
- リスト作成: 現在発生している不具合をAIに列挙させ、「デバッグリスト」を作成させる。
- ドキュメント化: リストに従って、それぞれの原因と修正方針をまとめた「修正計画ドキュメント」を書かせる。
- 品質チェック: そのドキュメントを別の視点(品質管理プロンプト)でチェックさせ、修正内容にバッティングや抜け漏れがないか確認させる。
- 実装: 全体の整合性が取れて初めて、コード修正を実行させる。
✅ 効果:手戻りの激減
「不具合が多そうだな」と思ったら、手を止めてまずリストを作らせる。これだけで、AIは全体像を再認識し、矛盾のない修正プランを提示してくれます。急がば回れ、はAI開発でも真理でした。
教訓2:データベースの悲劇(リファクタリング地獄)
もう一つの大きな失敗は、データベース設計です。
開発後半になって「あ、この機能を実現するにはDB構造を変えないといけない」という事態が発生しました。AIにリファクタリング(構造変更)を依頼しましたが、これが悪夢の始まりでした。
DBの型定義、APIのレスポンス型、フロントエンドの受け取り処理...。たった一つのカラム変更が、アプリ全体に波及し、大量の型エラー(Type Error)を吐き出しました。
⚠️ 重要:初めから「拡張性」を持たせる
AI任せにすると「今の要件を満たす最小限のDB」を作りがちです。「将来的に通知機能が入るかも」「DM機能が増えるかも」といった拡張性は、人間が最初から指示して盛り込んでおく必要があります。
教訓3:「構想漏れ」はAIには見えない
開発も大詰めになって、「あれ?この機能がないとアプリとして成立しなくない?」という機能漏れに気づくことがありました。
AIは仕様書に忠実です。仕様書に書いてなければ、それがどんなに一般的なSNSに必要な機能であっても、作りません。
「よく読まないとだめだね」
これは自戒の念を込めた言葉です。AIが書いた要件定義書を、人間が「顧客目線」で本気で読み込み、抜け漏れを指摘する。このプロセスをサボると、開発後半で手痛いしっぺ返しを食らいます。
まとめ:AIに使われるな、AIを使え
AI開発において、バグ修正は「モグラ叩き」になりがちです。しかし、指揮者である人間が「一旦ストップ。リストを作って」と号令をかけることで、AIは優秀なエンジニアに戻ります。
今回の一連の開発(記事57〜59)を通じて、AI開発の真髄は「コードを書かせること」ではなく、「AIの思考プロセスをドキュメント化させ、管理すること」にあると確信しました。
これからジェンスパークでアプリ開発に挑む皆さんが、私と同じ轍を踏まないことを祈っています。
あわせて読みたい
- シリーズ第1回:【開発実績】通常3ヶ月かかるSNSアプリを、ジェンスパーク(Genspark)と1週間で開発した全記録
- シリーズ第2回:ジェンスパーク(Genspark)はフロントエンドが苦手?Next.js開発で直面した3つの壁と解決策
🎉 シリーズ完結
全3回にわたる「SNSアプリ開発奮闘記」をお読みいただきありがとうございました。このブログでは引き続き、ジェンスパークを活用したAI開発の最新ノウハウを発信していきます。