AIは、「もう限界です」とは言ってくれません。コードが1000行を超えたあたりで、突然、処理が途中で止まる。これが、AI支援開発における最も危険な落とし穴です。
「コンテキスト」という見えない壁
会話が噛み合わなくなる、という前兆すらなく、ただ突然、生成が止まる。最悪なのは——「中途半端に生成されたコード」だけが残ることです。新しいチャットで続きを頼んでも、文脈はすでに失われています。結果、最初からやり直し。これが、私が体験した「1000行の壁」の正体です。
解決策:モジュール化という「分割統治」
結論はシンプルです。 1000行を超えたら、AIは処理できない」そう前提として設計する。Farm Kinugawaのシステムは最終的に3000行超になりましたが、機能ごとに分割し、モジュール化することで対応しました。
モジュール構成の設計例
| モジュールID | 役割 | サイズ目安 |
|---|---|---|
| M00_Config | 設定管理 | 約2KB |
| M01_Utils | 共通関数 | 約2KB |
| M10_CSVImport | CSV取り込み | 約18KB |
| M50_Billing | 請求処理 | 約18KB |
| M60_TanboOwner | 田んぼオーナー管理 | 約19KB |
| M99_Menu | メニュー画面 | 約1KB |
分割の代償:「全体像」をどう補うか
モジュールを分けると、AIは簡単に「全体像」を見失います。対策として以下の3つを導入しました。
対策①:コードマップ(全体図)を用意する
CodeReference.txtを作成し、全モジュール一覧・役割・依存関係・呼び出し構造をAIに必ず参照させます。
対策②:Googleドライブで「外部記憶」を持たせる
AIには長期記憶がありません。Googleドライブに開発フォルダを作り、最新モジュール一式・仕様書を常に最新状態で保存。AIの脳の外に記憶装置を用意するという発想です。
対策③:対話の「儀式」をルール化する
毎回の対話開始時にテンプレートを送ることで、AIとの協働は別物の安定感になります。
【対話開始テンプレート】 案件:Farm Kinugawa 本日のタスク:住所チェック機能のVBA修正 AIの役割:シニア開発マネージャー 参照必須:CodeReference.txt / モジュール管理表 前回からの申し送り:対話ログ参照
結論:環境整備なきAI開発は「無謀」
| やるべきこと | 理由 |
|---|---|
| 1000行以下に分割 | コンテキスト限界を回避 |
| コードマップ作成 | 全体像の喪失を防ぐ |
| 記憶の外部化 | 忘却への対処 |
| 対話ルール標準化 | 指示ブレを防止 |
AIは強力ですが、限界を理解し、導くフレームワークがあって初めて武器になる。
次回予告:第4回 Copilot vs Cursor——結局どれを使えばいいのか
