
AIの大流行により最近は、非エンジニアの起業家やビジネスパーソンが自力でソフトウェアのプロトタイプを作成する事例が増えているようです。プロトタイプをそのまま製品化できれば夢の実現ですが現実はそれほど甘くないのかもしれません。
フィンランドのフルスタック開発者兼コンサルタントMatias Heikkilä氏は、ブログ記事「AI can code, but it can't build software」を公開し、AIがコードを書けるようになった今、なぜ人間の技術者が必要なのか、ソフトウェア開発の本質に迫っています。
記事によると、AIは、明確に定義された問題に対してコードを生成する能力に長けています。GPT-5のようなAIモデルは、単純な機能やアルゴリズムを見事に書き上げることができますが、実際のソフトウェア開発はそれだけでは終わりません。
複数の機能を統合し、拡張性を持たせ、保守可能な形で構築する必要があるのです。つまり、コードを書くことと、製品としてのソフトウェアを「設計・構築・維持」することは、まったく別のスキルセットなのです。
デモから製品へ:その壁

AIで作られたプロトタイプは、見た目は動いているように見えても裏側はスパゲッティコードで、拡張も保守も困難になりがちです。製品化にあたり、結局、技術者がゼロから作り直すことになり、AIの限界を示す事例となっています。もしAIが本当にソフトウェアを構築できるならば、誰も人間の技術者を探す必要はないはずです。
筆者は、ソフトウェアエンジニアの仕事は「複雑さを扱うこと」にあり、単純な機能を100個組み合わせて、整合性を保ち、将来的な変更にも耐えられるように設計することにあると主張しています。これはAIが得意とする「局所的な問題解決」とはまったく異なる領域なのです。
Hacker Newsでの議論
このテーマはHacker Newsでも議論されています。
あるユーザーは「AIがコードを書くのは確かにすごいが、実際のソフトウェア開発では、設計、テスト、デバッグ、チームとの調整、ユーザーとの対話など、コード以外の要素が圧倒的に多い」と指摘しています。
また別のユーザーは「AIが生成したコードは、あくまで“部品”であり、それを製品に仕上げるには人間の判断と経験が不可欠」と人間の重要性を強調しています。
これらのコメントは、実際にAIを利用しつつAIの限界を冷静に見極める技術者たちのリアルな感覚を映し出しているといえるかもしれません。
AIが書くコードの先にあるもの
AIの進化は確かに目覚ましいものがありますが、まだ人間の技術者の役割を完全に置き換えるには至っていないようです。製品を作ることは、単に動くコードを書くことではなく、複雑さと向き合い、未来に耐える構造を築くことであり、当面は人間の役割が重要といえるかもしれません。
