🎤

バイブコーディングはボカロの夢を見るか?

に公開

「書けなくても大丈夫」の賞味期限

バイブコーディングが広がった結果、こういう言説が増えた。

「もうコードを書ける必要はない」
「AIに任せれば動くものが出てくる」
「プログラミングを学ぶ意味がなくなった」

半分は正しい。
Claude Codeに指示を出せば、30秒でFastAPIのエンドポイントが生えてくる。

でも、この構図、どこかで見たことがある。
私はそれをボカロの歴史に見つけた。
ボカロの歴史を正確に追うと、「書けなくても大丈夫」の賞味期限について、思っていたより解像度の高い予測ができる。

ボカロが辿った道

2007年、初音ミクが登場した。

それまで歌もの楽曲を作るには、歌える人間が必要だった。
歌い手を探し、スタジオを押さえ、ディレクションする。
楽曲制作の最終工程が、最大のボトルネックだった。

ボカロはそのボトルネックを吹き飛ばした。
歌える人間がいなくても、歌もの楽曲が完成する。

結果、何が起きたか。

ニコニコ動画にボカロ曲が溢れた。ピーク時、毎日数百曲が投稿されていた。
楽器が弾けない人も、音楽理論を知らない人も、ボカロPを名乗って曲を出した。

そこから一部がプロ化した。
米津玄師は「ハチ」名義で、Ayaseは独学の作曲者として、それぞれ現在のキャリアにつながる。

ただし、ここを単純化したくない。
wowakaさんは音楽理論を体系的に学んだというより、衝動でメロディを書いていたと本人が語っていた。
DECO*27さんも独自のルートで上り詰めた。
「音楽理論を深く学んでいた層が残った」と言い切るのは、正確ではない。

ボカロPのサバイバルを決めた要因は、メロディセンス、歌詞、動画演出、コミュニティとの相性、アルゴリズムへの乗り方を含む、相当に複合的なものだった。

線は引かれた。でも、線を引いた基準は単一ではなかった。
ここを正確に書かないと、バイブコーディングへの類推も曲がってしまう。

構造的相似:バイブコーディングとボカロ

ボカロ バイブコーディング
ボーカル録音の自動化 コード実装の自動化
歌えなくても歌ものが作れる コードが書けなくてもソフトが作れる
素人ボカロPの大量参入 非エンジニアのプロダクト開発参入
複合要因でサバイバル(うち理論の比重は未確定) 複合要因でサバイバル(うち読解力の比重は未確定)
「歌わせただけ」の淘汰 「書かせただけ」の淘汰(予測)

この表の最終行は、誠実に書くとこうなる。

最終工程が自動化されると、上流要素の価値が相対的に上がる。 ただし「どの上流要素が決定的か」は、後から振り返らないとわからない。

ボカロで残った要因は、音楽理論、メロディセンス、歌詞、世界観、運の複合だった。
バイブコーディングで残る要因も、同じように複合的になるはずだ。
「コードを読める人が残る」と単一要因で言い切るのは、たぶん雑だ。

では、読める力はどのくらい重要なのか。
ここで個人的な体験が効いてくる。

ハニング窓の話

予知保全プロダクトの開発中、FFT処理の前に「ハニング窓」をかけるコードがClaude Codeから出てきた。
私はハニング窓を知らなかった。
動いているからスルーした。

後日、別のデータで結果がおかしくなった。
原因は窓関数の選び方にあった。
自分のデータにはハミング窓のほうが適していた。

このエピソードを「コードを読めなかったから気づけなかった」という文脈で書こうとして、途中で手が止まった。
これは「コードを読む力」の話ではない。

scipy.signal.windows.hann(N) と書かれているのを読めても、
「このデータにはハミング窓のほうが適している」とは判断できない。
それを判断するには、窓関数のスペクトル特性を知っている必要がある。
つまり、信号処理のドメイン知識だ。

コードを100%読めていても、ドメイン知識がなければ同じ罠にハマっていた。

「コードを読む」と「ドメイン知識を持つ」は別物だ。
AI時代の希少性を語るとき、この違いは大きい。

鍛えるべきは「出力を疑える力」

ハニング窓事件から本当に学んだのはこれだ。

「自分の問題領域に対して、この出力は妥当か」と立ち止まる姿勢。

これは「コードを読む力」とも「ドメイン知識」とも違う、第三のスキルだ。
出力を鵜呑みにせず、自分の文脈に照らして疑う力。

そしてこの力を育てるには、皮肉なことに次の2つが必要になる。

  • コードをある程度読めること(出力の構造を理解するため)
  • 自分の問題領域の知識(妥当性を判断するため)

どちらかだけでは足りない。両方ないと、疑う対象を見誤る。
「読める力が最強」ではなく、「読める力と領域知識を組み合わせて、出力を疑える力」が強い。

最大の反論:「AIが自分でコードを読めるようになるのでは」

ここで、読者が当然抱く反論に答えておきたい。

今ここまでの議論は、暗黙のうちに「AIのコード読解・レビュー能力がこれ以上伸びない」という前提に立っている。
でも2026年時点ですでに、Claude Codeは自分の書いたコードをレビューし、テストを書き、修正を提案する。
2028〜2030年、AIが「このデータにはハミング窓が適している」まで指摘してくれるようになったら、上の議論はかなり弱まる。

それでもなお人間が読む必要がある理由を、能力の観点で2つ挙げる。

コンテキスト統合は人間に分がある

AIは与えられたコードベースの中では強い。
でも「うちの工場の過去の不良履歴」「先週の客先会議で出た要望」「3年前に退職した先輩が書いた設計メモ」のような、分散して偏在するコンテキストを統合して判断する力は、まだ人間に分がある。
バイブコーディングで書いたコードが「本当にこのプロジェクトに適しているか」の判断には、こうした暗黙知との接続が必要になる。

要件の妥当性判断は人間の仕事として残る

AIは「要件Aを満たすコード」を書く。
でも「要件Aが現場で本当に妥当か」までは判断しきれない。
要件そのものが間違っているケースは、現場では頻繁にある。
「要件を疑う」という層は、当面は人間に残る。

この2つを逆に言えば、AIが暗黙知を統合でき、要件の妥当性まで判断できるようになったとき、人間が読む必要はなくなる。
その未来は、来るかもしれない。
ただ、その未来が来る頃には、たぶん「読む」どころではない別の変化が起きている。

何を鍛えるか

不確実な未来に備えるなら、「複数の要因で効きそうなもの」に投資するのが合理的だ。
私の場合、「バイブコーディングで書かれたコードを8割説明できる」を目標にしている。
このスキルは、読む力・デバッグ・要件整合性の判断、どれにも関わる。

具体的にやっていることは4つ。

1. Claude Codeの出力を毎回読む

書かせて終わりにしない。
生成されたコードを1関数ずつ読んで、「ここで何をやっているか」を自分の言葉で説明する。

2. エラーが出たら、まず自分で仮説を立てる

「動かない、直して」と丸投げせず、「たぶんスコープの問題」のように仮説を立ててから聞く。
外れてもトレーニングになる。

3. 自分のドメインで「妥当か」を言語化する

ハニング窓事件の反省だ。
製造業なら、どの条件でどの分析手法が適切か。
自分の領域で妥当性の基準を自分の言葉で持っておく。
これはAIには代替されにくい。

4. 時代錯誤の写経を続ける

週に1時間、FastAPIのチュートリアルやPandasのドキュメントを手で写している。
AI時代にアナログに見える習慣だ。でも、これが一番コスパがいい基礎工事だと今のところ思っている。

理由はこうだ。
書いたことがあるコードは、読むときの解像度が違う。
指が覚えた構造があると、読んでいる時に「ここで変数が定義されているな」「ここでスコープが切れているな」が自然に見える。
Claude Codeの出力を読む速度と精度が、写経した範囲だけ一段上がる。

AIに書かせる前提だからこそ、読む側の身体性を仕込んでおく。
5年後にこの判断がどう評価されるかは、正直わからない。
ただ、他の多くのスキルと重なる投資なので、外れても損は小さいと踏んでいる。

まとめ

ボカロは「歌えなくても歌ものが作れる」世界を実現した。
バイブコーディングは「書けなくてもソフトが作れる」世界を実現した。

どちらも、最終工程の自動化が素人の参入を可能にし、その後に淘汰が起きた(起きる)。
ただし、淘汰を決めた要因は単一ではない。複合的だ。

「コードを読める人が残る」と単一要因で言い切るのは雑だ。
でも「読める力」がその複合要因の一つになる可能性は高い。
加えて、AIが進化しても人間が読む意味は、コンテキスト統合と要件の妥当性判断として残る。

「書けなくても大丈夫」は今は正しい。
5年後も正しいかは、誰にもわからない。
わからないからこそ、複数の要因に効く地味な投資に時間を使う。
それが、AI時代に非エンジニアとして生き延びるための、私なりの戦略だ。

Discussion