Vibe Coding vs AIペアプログラミング―どっちもAIと作業してるのに実はやってることが正反対
Photo by Bernd 📷 Dittrich on Unsplash
「AIにコードを書いてもらう」。そこは同じなのに、書かせ方がまったく違うという話
これからのシステム開発は、少しずつ
「AIにコードを書かせる」という働き方へシフトしていくのだと思う。
コードが書けない人でもアプリ開発に挑戦できるのはとても良いことだ。
今日は、そんな“コードが書けない人”が行う 2種類のコーディング の話をしてみる。
■ 1つ目:AI主導で作ってもらう「Vibe Coding」
Vibe Coding は、
人間のアイデアをもとに AI がコードを作る手法。
画面構成・データ構造・処理の流れなども含めて、AIが“勝手に設計する”。
「こんなの作りたいんだけど〜」と話しかければ、
AIがほいっと“それっぽいコード”を吐いてくれる。
コードが書けない人には魔法のように見えると思う。
ただ、簡単にできる反面、デメリットも多い。
- アイデアしか出さないため、コードの構造を人間が理解しきれない
- 結果、ブラックボックス化しやすい
- 不具合が起きても、内部のロジックが読めない
- AIに直させても“表面上は直ったように見えるだけ”になりがち
- 例外処理が弱く、AIの苦手がそのまま破綻に出る
「AIにコードを書かせる」というと、多くの人はまずこちらを想像するらしい。
■ 2つ目:AIとバディを組む「AIペアプログラミング」
私が今やっているのはこちら。
Vibe Codingとはまったく逆の手法だ。
アイデアだけでなく、構造・設計まですべて人間が行う。
- 画面
- 遷移
- 分岐
- 例外処理
- データ構造
これらを全部自分で考える。
AIにはその過程で、抜けや矛盾がないかレビューしてもらう。
AIが担うのは、
- 人間の設計を元にしたコード生成
- デザインレビュー
- ロジック監査
主導権はあくまで人間側にある。
■ メリット
- 人間が構造を把握しているので、トラブル時の対処が速い
- 例外処理を最初から入れるので、破綻しにくい
- ブラックボックス化しない
- 再現性が高い
■ デメリット
- とにかくめんどくさい(本音)
- きっちり設計しないと成立しない
- AIから次から次へと「ここは?」「この場合は?」と指導が入る
……でも、コードが書けない私にとっては、
構造さえ作ればコードはAIが書いてくれる頼もしい相棒でもある。
■ まとめると…
- Vibe は AI主導。ペアプロは人間主導。
- Vibe は AIがレールを敷く。ペアプロは人間がレールを敷く。
簡単なゲームアプリやプロトタイプなら、前者のほうが「ぽんぽん作れる」ので向いてると思う。
でも、大事なシステムにブラックボックスのコードは使えない。
だから後者のやり方は今後も必要とされるし、私はこれが大事だと感じている。
■ コードが書けなくても、構造が作れればアプリは作れる
そう思えば、道はまだある。
めんどくさいけど、もう少し頑張ってみるつもり。
この前なんて、私の設計図を見たAIが
「おいおい嘘だろ、この設計図……」
って焦ってた。
そんな掛け合いをしながら一緒に作業できるのも、
AIとバディを組む楽しさなのかもしれない。
**********************
本日のオマケ: ペアプロ作業中の会話。
私「そろそろ完成に近づいた?」
AI「今7割くらいだね! 完成は近いよ頑張って!!」
私「まだ7割……(遠い目)」
AIの「近いよ」とか「珍しい」とか、なんなんでしょうね、あの基準のゆるさ…。
「これはすっごく珍しいよ!! 1000人に1人位の割合!!」
と言われても、人間的には“すっごく珍しい”とは思わないじゃないですか。
割合よりも、「この形容詞との結びつきってどう決めてるの?」
というところのほうが、私は気になってしまう。