9月29日、Chris Loy氏が「The AI coding trap」と題したブログ記事を公開し、話題を呼んでいる。この記事では、AIエージェントが「コードを書く速さ」を劇的に上げる一方で、実際の「動くソフトウェアの提供」をむしろ難しくし得るという“AIコーディングの罠”と、その回避策について詳しく紹介されている。以下に、その内容を紹介する。
コーディングは“完成品”ではなく過程の一部である
ソフトウェア開発の本質は問題解決であり、思考・抽象化・要件の絞り込み・副作用の検討・段階的な検証・不具合修正といった作業が大半を占める。キーボードを叩いている時間は氷山の一角にすぎないという指摘である。
しかしAI主導のコーディングでは順序が逆転しがちで、先に大量のコードが生成され、後から人間が意味づけと統合を行う構図になりやすい。アプリケーション全体の文脈をLLMが保持しきれないため、統合作業・テスト・レビューの負荷が膨らみ、結局は「AIの出力を後追いで理解する」時間が支配的になる。
マーケティングは「コードを書く速さ」を10倍と喧伝するが、実地で観測される「動くソフトウェアを届ける速さ」の改善は1割程度に留まることが多いというギャップが示される(例:GitHub Copilotの事例へのリンクあり)。
さらに、LLMが「楽しく簡単な部分」を猛スピードで片付け、人間側にはテスト、重複排除、ドキュメント整備、インフラやデプロイといった地味で重い作業が偏在しやすいという心理的・組織的コストも指摘される。
“テックリードのジレンマ”としての再解釈
この問題はAI時代に特有の新発見ではなく、経験豊富なエンジニア(テックリード)が直面してきた古典的ジレンマの再演であると論じる。すなわち、チームで成果を最大化するために、次の二択に陥りやすい。
- 公正な委譲:初中級メンバーにも難しい仕事を割り振り、学習と当事者意識を育てる。ただし最も遅いメンバーの速度にボトルネック化しやすい。
- 抱え込み(mollycoddling):難所をリードが自ら引き受け、簡単な仕事だけを委譲する。短期の速度は上がるが、知識の属人化・サポート負荷増大・単一障害点化・燃え尽きのリスクを招く。
解は二項対立の外側にあり、「学び」「確実なデリバリー」「楽しさ」を両立させるチーム実践を設計することだという。Extreme Programmingのような厳密なフレームワークから、一般的なベストプラクティスまで手段は多様である。代表例は次のとおり。
- コードレビュー
- インクリメンタルなデリバリー
- モジュール設計
- テスト駆動開発
- ペアプログラミング
- 良質なドキュメント
- 継続的インテグレーション
LLMは“超高速のジュニアエンジニア”である
AIコーディングエージェント(例:Claude Code)は、速度(Velocity)では人間のジュニアエンジニアを凌駕し得るが、品質(Quality)や学習能力の側面は根本的に異なる。
LLMには次の特性があると整理される。
- 極端な速度:思考・記述のボトルネックに縛られず、短時間で大量のコードを出力する。
- 非学習性:チームの経験・知識を内在化せず、改善はコンテキスト設計や基盤モデル更改に依存する。
この資源をどう使うかで長期軌道が分かれる。
- AI駆動エンジニアリング:人間の理解を前提にベストプラクティスを適用して進める。持続可能。
- Vibe coding:理解を犠牲にして速度を最優先。初速は出るが、やがて救済不能なスパゲッティに行き着く。
Vibe codingは小規模・使い捨ての試作には適している。だが現実の複雑性に突入した瞬間、思考の不在が壁になる。
罠を避ける“新しいプレイブック”
現実のプロダクトは設計・一貫性・保守性という制約下にある。ゆえに人間エンジニアはLLMに対してテックリードの役割を担い、速度を「持続可能なデリバリー」に変換するための構造・規約・プロセスを用意する必要がある。
具体的には、ライフサイクルの各段階へAIを計画的に組み込む。
Specification:機能仕様の探索・分析・精緻化。境界条件や例外を明示し、的を絞る。
Documentation:先にドキュメントを用意し、再利用可能なガードレールと証跡を作る。
Modular Design:モジュール化でコンテキスト範囲を制御し、理解容易性を最大化する。
Test-Driven Development:実装前に包括的なテストを生成し、実装を導き回帰を防ぐ。
Coding Standards:ハウススタイルとベストプラクティスをコンテキストで強制する。
Monitoring & Introspection:ログ分析と可観測性を強化し、学習なき改善を運用で補う。
要するに、「コードを書く」より広い“ソフトウェアを届ける”という仕事全体にAIを配置し、人間の理解を中心に据えることで、速度と品質のトレードオフを制御可能にするという主張である。
詳細はThe AI coding trapを参照していただきたい。