先に結論から

このコースで言いたいことは1つだけで、AIに作る力を借りるなら、人間は見極める力を持て、です。見極める力の中でもいちばん大事なのは、何が正解かを自分で決める力で、ここから3つのSTEPで、そう言える理由を順に見ていきます。

「実装が完了しました」で、終わっていませんか

頼んでしばらくしたら画面が出てきて、ボタンを押すとちゃんと切り替わって、入力した物も一覧に出て、最後にAIが「実装が完了しました」と報告してくれる。初めてこれを見ると、もう完成した気になるんですよね。

動く物が作れたことと、正しい物が作れたことは違います。

これは、AIがコードを書く力がどれだけ上がっても変わらないと僕は思っています。バイブコーディングを始めたばかりの人がいちばん勘違いしやすいのも、ここです。

「顧客管理アプリを作って」と頼むと

たとえば、AIに「顧客管理アプリを作って」とだけ伝えたとします。たぶん、顧客の一覧が出て、名前を登録できるアプリが出てきます。でも、考えてみてください。次のことを、何も伝えていません。

  • 誰が使うアプリなのか
  • 顧客の情報を、どこに保存するのか
  • 誰でも情報を見られていいのか
  • 間違えて消したら、元に戻せるのか
  • どうなったら完成なのか

伝えていない所は、AIが自分で仮定するか、よくある作り方を選ぶしかありません。しかも、できあがったアプリは一見ふつうに動きます。ここが怖いところで。

動いた、の先に残っている物

顧客管理アプリなら、画面を少し触っただけでは見えないまま、こういう問題が残っているかもしれません。

水面の上に見えているのは「動いた」画面だけ。その下に、保存先・見ていい人・扱う量を決めていなかったことが沈んでいる。
水面の上に見えているのは「動いた」画面だけ。その下に、保存先・見ていい人・扱う量を決めていなかったことが沈んでいる。
起きうること決めていなかったこと
ページを更新したら、登録したデータが消えたどこに保存するか
別の人でログインしたら、他人の情報が見えた誰が何を見ていいか
100件までは動いたのに、1万件入れたら極端に遅くなったどれだけの量を扱うか

AIがコードを書き終えたことと、必要な条件を満たしたことは、別の話です。だから完成の条件は人が決めて、実際に確かめる必要があります。

AIは、あなたの正解を知らない

AIはコードを書けても、あなたの正解を知りません。

「プロンプトの絶対法則」で、正解を出させるのではなく、正解を判断できる状態を作る、という話がありました。作る時も土台は同じで、判断に要る物を渡していなければ、AIは推測で埋めます。違うのは、文章なら読めばズレに気づけるのに、アプリは動いてしまうぶん、ズレが見えにくいことです。

AIが仮定する所を、先に出してもらう

これ、実際に見ると結構びっくりします。作らせる前に、AIがどこを自分で決めるつもりなのかを聞くだけです。ChatGPT でも Claude でも大丈夫です。

そのままコピーして使えます

まず、私が作ってみたい物を1つ質問してください。私が「思いつかない」と答えたら、顧客管理アプリにしてください。決まったら、その物を「作って」とだけ頼まれた時に、あなたが何を自分で仮定して決めるかを、作り始めずに全部挙げてください。それぞれ、どう決めるつもりかも書いてください。

補足 貼って送ると、作ってみたい物を聞かれます。思いつかなければ「思いつかない」と返せば、顧客管理アプリで試してくれます。

返ってくる一覧が、全部「あなたが決めていない所」です。この数を見ると、一言で頼んで動く物が出てくることが、逆にちょっと怖くなると思います、いい意味で。

つまずきやすいところ

AIが「実装が完了しました」と言ったので、できあがったと思った。

あれは、頼まれた範囲のコードを書き終えた、という報告です。あなたが必要としていた条件を満たしたかどうかまでは、AIには判断できません。決めていない条件は、確かめようがないので。

終わったら、ここが言えるか確かめる