AI支援開発が爆速で進化する2025年、開発者・起業家・教育者と知られるSteve Krouse氏は、“コードの存在を忘れるほどAI任せで開発する"という「Vibe Coding(バイブコーディング)」には落とし穴があると、ブログ記事「Vibe code is legacy code」で警鐘を鳴らしています。
同氏は、AI利用全体を否定しているわけではありません。Vibe Codingは小規模な試作や使い捨てアプリの開発に最適で、成長率を計算するツールや、プロポーズ用アプリなどを素早く楽しく構築できたと述べています。
しかし、プロジェクトを保守・拡張する必要があるならば話は別。理解不能なコードは技術的負債(Tech Debt)であり、最終的にはレガシーコードに陥ると主張しています。
借金の概念を知らない子ども?
持続可能なプロジェクトでは、コードを量産することが目的ではなく、その意味を理解し、維持・拡張できる形で書くことが本質となります。AIに依存しすぎると、何がどう動いているのか分からなくなり、修正不能なコードが積み上がっていきます。
AIを使ってノーコードで開発できるという幻想を、「クレジットカードの意味を知らずに買い物を続ける子ども」に例え、最初は楽しいが、後で大きな代償を払うことになると強調しています。
Vibe Codingはスペクトラムで、コードをどれだけ理解しているかに応じて「Vibe度」が変化し、理解が深まれば深まるほど、Vibe度は低くなるとしています。
例えば、エンジニアが「永続的なデータベースを持つWebアプリを作りたい」と依頼する時点で、 「アプリ」という言葉しか使わず、Webアプリとネイティブアプリの違いやデータの永続性を理解していない非プログラマーよりも、すでにVibe度は低いことになるのです。
AIを活用するには「慎重な監視」が必要
「Vibe Coding」という言葉を生み出したAndrej Karpathy氏も「過剰に勇敢で品質を気にしないAIアシスタントに対して、防衛的かつ学習重視の姿勢で向き合うべき」とAIを過信しないことを推奨しています。Steve Krouse氏もAIを全否定するわけではなく、自身が開発したVal TownでAI(Townie)を活用しており、「理解した上で使うなら有益」と強調しています。
Redditでもこの記事に関する議論が行われており、従来のレガシーコードは、少なくとも1人は設計意図を理解していたのに対し、Vibeコードには履歴すらなく、ドキュメントも皆無な場合が多いと同意する声が寄せられています。
今後AIを利用した開発がどう進化していくかは未知数ですが、コードを理解する力は当面必要となりそうです。