最近、Vibe Coding はコンピュータプログラミングの発展をロックしてしまう——みんなをプロンプト運び屋にして、低レイヤの能力を劣化させ、結局業界全体を足踏みさせる——とよく言われる。
私はそうは思わない。
三種類の問題
世の中の問題は三種類ある。
第一は、極端に単純なもの。1+1はいくつか。誰も取り組まないし、その価値もない。
第二は、極端に難しいもの。異星文明とどう交易するか、どうすれば不老不死になれるか。難しすぎて、いまのところ問題の形すら定義できておらず、まして解など論じられない。
第三は、その中間態。やや難しいが、まったく手がかりがないわけではない。解はあるが、十分によくはない。
向こう3日間の天気の予測——できるが、精度が足りない。地震予知——前兆指標は山ほどあるが、信頼できる臨震予報は未だない。希少疾患の早期スクリーニング——データは乏しく、表現型は多様で、どの症例もエッジケースだ。
ふつうの人の日常:小さな都市のバス路線をどう組めば通勤時間が短縮できるか;タオバオの店主が、倉庫の山にしないためにどれだけ在庫を持つべきか;個人開発者が、3年分のユーザーフィードバックをクラスタリングして要件の優先順位を出したい。
これらの問題の共通点はこうだ。直観があり、データがある。データも直観も同じ人から生まれたものであっても、その直観とデータを「動くシステム」に変えるコストが依然として高すぎる。
そして、まさに第三の類型こそが最も価値がある——商業的リターン、科学的ブレイクスルー、日常生活の改善のいずれにおいても。
Vibe Coding は何をしているのか
かつて、プログラマはある種、現代の司祭だった。呪文を解する者だけが機械を動かせた。
Vibe Coding は実際には**「実装の権利」を「定義の権利」から**切り離した。
以前:まずレンガ運びにならないと、建築を構想する資格はなかった。
いま:建物の構造と機能を記述できさえすれば、レンガは自動で所定の位置に収まる。
これは能力の退化ではなく、生産力階層の再構成であり、開発のルネサンスだ。コードを書く敷居がゼロになれば、本当の敷居は問題理解の深さに移る。
要するに Vibe Coding は、アイデアを実行可能なシステムへ変換する摩擦コストを圧縮している。
この摩擦コストは、これまで見えないスクリーニング装置だった。中間態の問題は、解きたい人がいないのではない。実装を安く回すエンジニアリング実践が手に入らず、着地できなかったのだ。地質学者には地震前兆への直観があっても、半年付き合ってくれるエンジニアを待てない;救急医には敗血症の初期指標の観察があっても、動くモデルを作れない。
専門家に限らない。レストランのオーナーは、従業員それぞれの通勤時間や授業時間を考慮した自動シフトを作りたい。これまでは Excel で力づくの割り当て——いまは要件を言語化すれば、シフト表が勝手に生えてくる。親が子どものために、忘却曲線に沿って自動復習する単語暗記のミニアプリを作りたい——これまでは Swift を3か月学ぶ必要があったが、もう要らない。
誰もが自分の生活の専門家だ。それぞれの領域に、「やり方は分かっているが自動化できない」問題が山ほどある。Vibe Coding は、こうした問題を初めてコードの射程に入れた。
プログラミングを写真にたとえるなら、Vibe Coding はスマホ撮影の普及だ。フィルム派はより希少でプロフェッショナルになり、一方で本来なら一生写真を撮る機会がなかった無数の人々が、自分の生活の決定的瞬間を撮れるようになった。
だから Vibe Coding の本質は「ソフトウェアが世界を呑み込む」の延長——中間態の問題により多く解を与え、人類が手出しできなかった境界に触れに行くことを後押しする。
変わるのは量、そして位相
これまでソフトウェアが届いた問題の形は「エンジニアがモデル化できる問題」だった。Vibe Coding 以後、その形は「誰もが記述できる問題」へと変わる。
この二つの集合の差は巨大だ。科学者が形式化し切れない気候や生態のモデル、医師の頭の中の臨床直観、そしてふつうの人の日常にある「小さすぎてエンジニアに頼むほどでもなく、複雑すぎて Excel では捌けない」問題を覆う。地質学者、救急医、タピオカ店のオーナー——彼ら全員が解空間に入ってきた。面積が広がったのではない。位相構造が変わったのだ。
もう一段深く考えると、科学の進歩速度の本質は「仮説生成速度 × 仮説検証速度」だ。これまでアイデアの検証に6か月の開発が要ったところが、いまは6時間かもしれない。同じ時間窓で、人類はより多くの「誤り」を走らせられる——そして誤りの密度こそ、真相に迫る唯一の道筋だ。
Vibe Coding は科学的方法そのものに加速をかけているのであって、置き換えてはいない。
現実のリスク
ソフトウェアエンジニアとして、いちばん心配なのは飯のタネではない。秩序のシステム的な滑落と向き合う仕事はいくらでもある。
Vibe Coding がコードを生産する速度は、人間のレビュー速度を遥かに上回る。チームで3人が同時に AI で書いていると、誰も生成コードを本当に読み切れない——マージするときは皆「動く」と思ったが、3か月後にバグが出て、そのロジックがどう生まれたか誰も知らない。
新しい問題はシステムの不可観測性から生まれ、それは新しいツールを要請している。人間のエンジニアの責務は、秩序の創出からエントロピー増大との闘いへと移る。必要なのはデバッグツールではなく、まったく新しい監査ツール一式だ。
より広いリスクはソフトウェアの外にある。解空間が拡張される一方で、粗悪な解の密度も同時に上がる。
地質学者が Vibe Coding で走らせた地震予測モデルは、統計的に誤っている可能性が高い。それでも動くし、出力があり、グラフも出る。これが「問題は解けた」という幻影を生み、本当の解が視界に入るのを却って阻むかもしれない。
より正確に言えば:Vibe Coding は候補解の生産を加速するが、解の品質を選別するメカニズムを同期して向上させてはいない。このギャップこそ、次の真の戦場になるだろう。
それはプログラミングをロックしない
「Vibe Coding がコンピュータをロックする」という主張は、古典的な誤りを犯している。道具の普及を、上限の固定と同一視しているのだ。
歴史上、抽象度が一段上がるたび——アセンブリから C へ、C から高級言語へ、高級言語からフレームワークへ——「低レイヤのエンジニアは消える」と言われてきた。結果は逆で、上位の需要爆発によって低レイヤはむしろ希少になった。Vibe Coding も同じだ。「一応動くが出来は酷い」システムを大量に生み出し、そしてそれらが、本当に低レイヤを理解する人への需要を一段と強くする。
真に変わるのは「プログラミング能力」の価値分布だ:
- コードを生産する能力は、減価する。
- コードを検証し、システムの挙動を理解し、システムが本当に問題を解いたかを判断する能力は、値上がりする。
真のエンジニアは「コードを書く人」から、「そのひとかたまりのコードが本当に問題を解いたのかを見極められる人」へと変わる。
これはロックではない。
これは加速だ——既存の解空間をより速く呑み込み、さらに多くの未知領域を射程に入れる。解空間は本来、工学的実装能力が独占すべきものではない。