Vibe codingの生産力は高い 。そして、たまらなく爽快だ。だが最も心を折るのは、AIがコードを書けないことでも、下手なコードを書くことでもない。
金曜の夜、あなたは厄介なバグを自分の手でようやく直した。気分のいい月曜の朝、AIに「ついでにボタンを一つ追加して」と頼む。するとAIは「親切にも」、あなたが書いたコードを、古びた下書きであるかのように一節まるごと消し去ってしまう。
仲間に背中から刺されたようなこの感覚は、AIだけの持病ではない。
30年前のエンジニアも、すでに同じ目に遭っていた。
1980年代から1990年代、KnowledgeWare を筆頭とする「CASE(Computer-Aided Software Engineering)」の巨人たちは、まったく同じ美しい夢を世界に売り込んだ。アナリストは画面に図を描くだけでよく、システムが自動的にコードを生成する。当時は誰もが、今度こそプログラマーは本当に職を失うと思っていた。
その十億ドル規模のバブル は、最後には一つの解けない難題によって崩壊した。**ラウンドトリップ・エンジニアリング **である。
機械が生成するコードは美しい。だが人間のエンジニアが現実世界へ踏み込み、境界条件やビジネス要件に合わせてソースコードを数行書き換えた途端、問題が姿を現す。自然言語(あるいはアーキテクチャ図)と、その下にある実装コードの間には、扱いの難しい「意味の欠落」がある。AIには、あなたがなぜその2行を直したのか分からない。確率の目で見れば、あなたの苦心の結晶も、消してよいノイズにすぎないかもしれない。
人の介入が自動化の完璧なループを壊すとき、私たちは悪魔の取引を迫られる。3倍の労力を注ぎ、AIと制御権を奪い合うのか。それとも抵抗をやめ、このブラックボックスにすべてを委ねるのか。
こうして、妥協を選ぶ人は増えていく。そして、自分にこう言い聞かせる術まで身につける。
「中身が分からなくても構わない。今は動いているんだから。」
だが、P0障害を経験したエンジニアなら、誰もが心の底で知っている。