
AIが「できました」と言ったら、どこまで信じる?成果物の検証設計
最近のAIの進歩は目覚ましいもので、数年前にChatGPTを使い始めた頃には想像もしていなかったぐらいには有用な相棒になった。
今思い出しても GPT 3.x世代はとんでもなかったですほんとに。でもあれを経験したからこそ現行の5.x世代に感動できるし...… ゴニョゴニョ...…。でも一番好きだったのは4oだし...…。
それはさておき、筆者はなんでもかんでも面倒くさがる人間なので、手軽に高品質なコーディングができるAI相棒をこき使って仕事をとにかく省力化してラクをしている。
おっけ~ぐーぐる!ぐらい気軽に呼んで使っていると、AIからも気軽に即座に返事が返ってくる。
「できました」
「修正しました」
「こちらで確認できます」
でもまあ、だいたいは出来てないんだ。
(GPTにこういう呼びかけ起動みたいなの無いんかな)
数回のやり直しは覚悟していても、毎回完成品が上がってくると期待しながらコピペしてはコードが通らない画面になり、がっかりすることも多々ある。
ラクをするつもりが何時間も溶かして、自力でやったほうが早かったなと思うことも多い。
コードなら、書いてあることと実際に動くことは別だ。文章なら、読みやすく整っていることと、事実に合っていることは別。ファイルを作ったなら、ファイルがあることと、必要な内容が入っていることも別だ。
じゃあ、どこまで確認すればいいのか。
「できました」の中身を見る
AIの「できました」は、ひとことで言っても中身がいくつかある。
作業したと言っている
成果物を出したと言っている
成果物を開けたと言っている
期待した結果になることを確かめたと言っている
このあたりが、ひとつの返事にまとめられてしまう。
コードを出してもらっただけなのに「できました」と言われたら、コードを書いたところまでなのか、実行して確かめたところまでなのかは聞いてみたほうがいい。
AIが嘘をついている、という話ではない。どこまでやったかを、こちらが曖昧なまま受け取ってしまうことがある。
「動く」の基準を決めておく
以前、マクロ作成初心者さんが書いたVBAのコードを見せてもらったことがある。
「先日まで動いていたのに、今はうまく動かない」という話だった。
うまくってなんやねん。
もちろん、言いたいことは分かる。どこかで期待した動きになっていないのだろう。でも、その言い方だけだと、何を直せばいいのかまでは分からない。
ボタンを押しても何も起きないのか。途中で止まるのか。表示される内容が違うのか。特定の条件のときだけ動かないのか。
同じ「動かない」でも、確認する場所は変わる。
これはAIに頼むときも同じだ。最初に「完成させて」とだけ伝えるより、「この操作をしたら、この結果になるところまで確認して」と言ったほうが、確かめる範囲がはっきりする。
たとえば、VBAの処理を頼むなら、
実行すると確認メッセージが表示され、「はい」を選ぶと処理が進み、「いいえ」を選ぶと処理が中止されることを確認してください。
という具合だ。
ちなみにだが、前述にて コードの修正を頼んできた相手が「VBAで、はい/いいえの確認画面ができるんだ……」と驚いていた。
はじめて自力でコードを書いた人にしか分からない、新鮮な驚きだよなあと思う。
そういう機能を知っているかどうかも含めて、完成のイメージを言葉にしておく必要がある。
頼む側が思っている「当然」が、相手にも当然とは限らない。
見た目より、結果を確認する
成果物を確認するとき、ぱっと見て整っているかは気になる。もちろん、それも大事だ。
ただ、見た目が整っているだけでは、期待どおりに動くかどうかは分からない。
コードなら、実際に動かして結果を見る。文章なら、元の情報と照らし合わせる。データなら、件数や計算結果を確認する。
成果物の種類に合わせて、確認方法を変える。
ここで大切なのは、全部を疑って細かく調べ続けることではない。使う前に困らないための確認を、先に決めておくことだ。
そして、確認する範囲は成果物の用途によっても変わる。試しに使うコードと、業務で継続して使うコードでは、必要な確認の深さも違う。
確認したことを、言葉で残す
AIに確認まで頼んだら、何を確認したのかも返してもらう。
「確認しました」だけだと、何をどう確かめたのかが分からない。
まずは、次のように聞いてみればいい。
この成果物について、実際に確認した内容を具体的に教えてください。
確認していない項目は「未確認」としてください。
どんな操作や条件で確認し、どんな結果になったかを説明してください。
実行できる環境がなく、コードを読むところまでしかできていない場合は、そのことも明記してください。
この返事を見れば、成果物そのものに加えて、確認の範囲も判断できる。
「実行していない」と書いてあるなら、こちらで実行する必要がある。「この条件では確認した」と書いてあるなら、自分が使う条件と合っているかを見る。
確認していないところが分かれば、そこだけ追加で確かめればいい。
ただし、確認項目を洗い出すこと自体も、慣れていなければ意外と難しい。何を確認すべきか、どんな失敗があり得るのか。そこもAIに整理してもらう方法がある。
以下では、筆者と同じめんどくさがり屋さん向けに、成果物の作成だけでなく、検証項目の整理までまとめて依頼するプロンプトを用意した。