作りたいものをAIに全部伝えて、一気に作ってもらった。壮大なコードが返ってきた。動かすと、動かない。直してもらうと、別の場所が壊れる。もう、どこが正しくてどこが壊れているのか、誰にも分からない・・・。
第21講で指示を整え、第22講で守るものを伝えられるようになりました。仕上げは、進め方です。この講のゴールは、大きな作りたいものを、"確認できる単位"に刻んで進められるようになることです。
料理の味見にたとえます。
コース料理を全部作り終えてから、初めて味見をする料理人はいません。だしを取ったら味見。味付けをしたら味見。工程ごとに確かめるから、狂いがあってもその場で分かり、その工程だけ直せばいい。全部作ってから「なんか変だ」に気づいた場合は、どの工程の狂いなのか、鍋を全部さかのぼることになります。
AIとの開発も同じです。大きく作らせて最後に確認、ではなく、小さく作らせて毎回味見。具体的には、作業を「動作確認できる単位」に刻みます。ポイントは、切れ目を"確認できるかどうか"で決めることです。データの準備だけでは画面で確かめられないから、表示されるところまでを最初の一皿にする・・・そんな具合に、毎回、動くものが手元に残る刻み方をします。
なぜここまで味見にこだわるのか。AIの間違い方に、理由があります。AIの間違いは、大きく3つの型に分かれます。
3つに共通するのは、コードを眺めているだけでは見つけにくいことです。それらしい嘘は、それらしい。時代遅れは、一見正しい。過剰工事は、見ていない場所にいる。あぶり出す方法は、結局1つしかありません。動かすことです。小さく刻んで毎回動かすのは、几帳面だからではなく、この3つを早い段階で捕まえるための、いちばん確実な網なのです。
そして、味見が済むたびに、第13講のセーブを打つ。動いた状態を記録してから、次の一皿へ。これで、次の工程で何が起きても、戻る場所は常に「最後に動いていた状態」です。手戻りは、ゼロにはできません。でも、戻る距離を一皿ぶんにすることはできます。
いまやりたい作業を、1つ選んでください。自分の一枚に何か足したい人はそれを(例:趣味の一覧を追加して、写真も載せたい)。実物がある人は、実物の次の作業を。
それを、動作確認できる単位に3分割して、紙に書きます。分け方に迷ったら、質問例1に手伝わせてください。
書けたら、各行の右に「どう確認するか」を書き足します。「趣味の一覧が画面に出る」「写真が表示される」「スマホで見ても崩れない」・・・確認方法が書けない行があったら、それは刻み方がまだ大きい印です。もう一段、割ってください。3行とも確認方法つきで書けたら合格。そのメモが、次にAIへ渡す工程表になります。
そのまま貼って使えます。
3つ目のような自己点検は、完全ではありません。それでも網を1枚増やす価値はあります。最後の網が「動かすこと」なのは、変わりませんが。
確認せずに、積み上げること。
「たぶん動くだろう」で次の工程を頼み、その上にさらに次を頼む。3工程目で動かなくなったとき、原因は1工程目かもしれず、2工程目かもしれず、その組み合わせかもしれません。第12講で覚えた切り分けを、自分の手で難しくしているのです。ブレーカーで言えば、配線工事を3件まとめて終えてから、初めて電気をつけるようなもの。
急いでいるときほど、味見を飛ばしたくなります。でも、この講座で何度も見てきたとおり、確認を飛ばして浮いた時間は、原因探しの時間として利子つきで返ってきます。小さく作り、動かし、記録する。この三拍子が、結局いちばん速い。