AIにシステムを作らせてみて分かった5つのこと
バイブコーディング体験記
いま、AIにプログラムを書いてもらいながら、あるWebサービスを作っています。以前のコラム「壊れてもいいものから、AIに作らせる」では考え方を書きましたが、今回は実際にやってみて感じたことを5つにまとめます。
1. 新人は、コーディングから入らなくてもいい
正直に言うと、AIが書くコードは、新人にお願いして書いてもらうよりよっぽど出来が良いと感じています。
ただ、これは「だから新人は要らない」という話ではありません(その話は「AIがあれば新人は要らない?」に書きました)。そうではなく、そもそも新人はコーディングから入らなくてもいいのではないかと思ったのです。
私も新人のころは、手探りで色々なプログラムを書きました。たぶん動くけれど、めちゃくちゃ分かりにくいコードだったと思います。お手本がなかったからです。
今は、AIが書いたコードというお手本があります。まずはそれを読み解いて理解し、それから自分で書く。こうすれば変な癖もつかず、スムーズに力がついていくはずです。AIに書かせたコードを読み解くことが、新人が最速でスキルアップする道だと考えています。
2. 発注する側の力が問われる
AIに、やりたいことをふんわり伝えるだけでは、AIだって何を作ればいいか分かりません。
頼む側に、全体の構成がきちんと頭に入っていれば、出てきたものに対しても的確に指摘できます。逆に、全体が分からないまま、目の前の小さなところだけを見て進めると、あとで破綻しやすくなります。
私自身、1つのお客様向けに作ったサービスを、複数のお客様で使える形(マルチテナント)に作り変えようとしたとき、非常に混乱しました。振り返ると、原因はAIではなく、全体の設計を固めきらないまま頼んでいた私の側にありました。
発注する側の力不足を、AIのせいにしてはいけない。これは人間の業者さんに頼むときとまったく同じです。
3. ルールを伝えれば、自分の流儀で作ってくれる
私が技術者だからかもしれませんが、プログラムの書き方のルールや、データベースの設計ルールをAIに伝えておくと、自分が理解しやすい形で作り進めてくれます。
逆に言えば、いま動いているシステムをAIに読み込ませれば、それと同じ流儀で続きの開発ができるということです。これは開発の現場で、ものすごく強いメリットだと感じました。社内に独自のルールや設計の積み重ねがある会社ほど、効果が大きいはずです。
4. AIに「他のやり方はない?」と聞く
やってみて一番効果的だったのが、AIに提案させることです。
技術者といっても、全部を知っているわけではありません。自分の引き出しだけで勝負せず、「自分のやり方はこうだけど、他に良いやり方はない?」とAIに聞く。それだけで、意外と良い方法を提案されることが多くありました。
正直に言えば、技術者としての自分の力不足を改めて感じる結果でもありました。でも、それを知ったうえでAIを使えば、一人の技術者でも、何人分もの知恵を借りながら作れます。
5. 一番大事なのは、テストだった
そして、一番重要だったのはテストです。問題は、テストでしか見つかりませんでした。
データベースへの非効率な問い合わせも、画面の操作上の不具合も、基本的には実際に動かして見つけるしかありませんでした。こちらの要望は、AIがちゃんと形にしてくれます。でも、それが効率的なのか非効率なのかを判断するのは、AIには限界があると感じます。
バイブコーディングの対談でも「重要な場所に使うなら、過剰なほどのテストを」と話しましたが、実際に作ってみて、その思いはさらに強くなりました。
全体に目を光らせる人が、AIを使えば
5つを通して感じたのは、AIは「書く力」をくれても、「全体を見る力」まではくれないということです。
何を作るかの全体像を描き、ルールを伝え、AIの提案を取捨選択し、テストで確かめる。全体の状況をチェックして目を光らせることができる人がAIを使えば、ものすごい効果を出せる。それが、今回いちばん強く感じたことです。
当社の「社内のIT担当者を育てる」では、この「全体に目を光らせる人」を、御社の中に育てるお手伝いをしています。