バイブコーディングとは実際に何か
バイブコーディングとは、自然言語で意図を表現し、AIに実装を生成させることであり、その間あなたは舵を取り、レビューし、緊密なループの中で洗練させていく。
それは次のものではない。
- 理解できない生成コードを盲目的に受け入れること。
- エンジニアリングの判断を「ノリ」で置き換えること。
- 一文をそのまま出荷可能な製品に変える魔法のボタン。
それは次のものである。
- モデルを、速くて知識豊富だが少々自信過剰なジュニアエンジニアとして扱うこと。
- 構文ではなく、アーキテクチャ、正しさ、センスに注意を注ぐこと。
- かつて何時間もかかったことを数分で反復すること。
最もうまく機能するメンタルモデルはこうだ。あなたはテックリードであり、AIはあなたのチームだ。優れたテックリードはすべての行を書くわけではない。彼らは方向性を決め、制約を設定し、承認のために提出する変更のまとまり(プルリクエスト)をレビューし、出荷される前に悪いアイデアを捕まえる。あなたはそれをやっている——ただ会話のスピードで。
この二本の道は同じ生成コードから出発し、まったく違う場所にたどり着く:
generated code
│
┌─────────┴─────────┐
▼ ▼
┌───────────┐ ┌───────────┐
│ 読んで │ │ 丸写し │
│ 理解 │ │ コピー │
│ する │ │ (貼付) │
└─────┬─────┘ └─────┬─────┘
▼ ▼
説明できる 一見OK
防御できる 壊れる
修正できる まで
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ 出荷 │ │ 賭けに │
│ した │ │ 出た │
└─────────┘ └─────────┘
この定義の中で重い役割を担う言葉が一つある。理解だ。このアプローチ全体はたった一つのルールに支えられている——自分が出荷するものを理解せよ。自分でタイプする必要はないが、それを説明でき、レビューで擁護でき、午前2時にアラートが鳴ったときに修正できなければならない。それができないなら、あなたはバイブコーディングをしたのではない。賭けに出て運がよかっただけだ。その二つの間の隔たりこそ、本書全体の主題だ。