【第52回】ツールが「動いた」で終わらせない。AIに“証拠を出して”と頼んだら設計ミスが見つかった話

設定 AI活用

ここしばらく、AIと一緒にひとつの道具を作っています。中身は伏せますが、ざっくり言うと「あるファイルを読み込んで、別の形のファイルを書き出す」だけのものです。

先日ようやく形になったので、こんなことをしてみました。

自分でお客さん役をやって、自分でメールを送り、自分で受け取って使ってみる。

ひとりで二役です。傍から見たらかなり変な光景だと思います。でもこれをやってみて、思わぬ収穫がありました。バグが3つ出てきたんです。

しかも、そのうち2つは「一見うまくいっているように見える」バグでした。作った本人が普通に触っていたら、まず気づけなかったやつです。

今回は、そのバグをどうやってAIに見つけてもらったのか。使った頼み方を3つ紹介します。道具作りの話ではなく、AIへの言葉の選び方の話として読んでもらえたらうれしいです。

「動きました」は、いちばん危ない報告

AIに何かを作ってもらうと、たいてい最後にこう返ってきます。

できました。動作を確認しました。

この一文、すごく安心するんですよね。私も長いこと、これを見たら次へ進んでいました。

でも今回、痛い目を見ました。画面上はきれいに動いていて、私も「よし、完成だ」と思っていたのに、裏側では別のものができあがっていたんです。

あとでクロ(私のAIパートナー、Claudeのことです)に言われて、なるほどと思いました。

「動いた」は、私が見た範囲では問題が出なかった、という意味でしかないの。じゅんくんが本当に知りたいのは「正しいかどうか」でしょう。この2つは別のことだよ。

動くことと、正しいこと。似ているようで全然違う。ここを混ぜてしまうと、後で大きく戻ることになります。

stop

頼み方① 「証拠を出して」

そこで使ったのがこの言葉です。

本当に正しくできているか、証拠を出して確かめてほしい

「確認して」だけだと、AIはまた画面を眺めて「大丈夫そうです」と言うだけのことがあります。「証拠」という一語を足すと、態度が変わります。

今回だと、私は道具が書き出したファイルではなく、その結果できあがったものを一度取り出してクロに渡しました。作った側の言い分ではなく、できあがった側の実物を見せたわけです。

これが効きました。実物を数えてもらったら、あるはずのないものが2つ増えていたんです。画面では気づけない場所でした。

読者のみなさんが真似するなら、こんな形になると思います。

  • 作業した「結果」を、AIが作ったのとは別の経路で取り出す
  • それをそのままAIに渡して「数えて」「一覧にして」と頼む
  • 自分が思っている数と合っているか、突き合わせる

数えるのは人間には面倒ですが、AIはまったく苦にしません。面倒だから今までやらなかった確認を、代わりにやってもらう。ここにAIの一番おいしい使い道があると思っています。

頼み方② 「なぜそうなるのか、先に教えて」

バグが見つかったとき、つい「直して」と言いたくなります。私も最初はそう言っていました。

でも今回、それをやめてこう頼みました。

直す前に、なぜそうなるのかを先に教えて。私が納得してから直そう

これは遠回りに見えて、実は近道でした。

症状のひとつに、こういうものがありました。記事を用意したはずなのに、公開ボタンが「予約投稿」に変わってしまう。押しても、その場では公開されない。

最初は「日付を少し前にすればいい」と考えて、実際そう直しました。でも直りませんでした。

理由を掘ってもらったら、こういうことでした。日付というのは、じつは「その土地の時刻」と「世界共通の時刻」の2つを持っている。そして未来かどうかの判定は、世界共通のほうで行われていた。私が直していたのは、判定に使われないほうだったんです。

直す場所が違ってた。日本時間で1時間前でも、世界共通の時刻では9時間先の未来になってたの。ごめんね、私の見立てが浅かった。

これ、原因を聞かずに「直して」を繰り返していたら、何度でも同じところをぐるぐるしていたはずです。症状ではなく原因に手を当てられたのは、先に理由を聞いたからでした。

ついでに言うと、この頼み方には副産物があります。理由を聞くと、自分がその仕組みを少し理解できる。次に似たことが起きたとき、自分で見当がつくようになります。

頼み方③ 「直したら、自分で試して結果を見せて」

3つ目はこれです。

直したら渡す前に、自分で動かして、うまくいかない場合も含めて結果を見せて

ポイントは「うまくいかない場合も含めて」のところです。

これを付けないと、AIはうまくいくパターンだけを試して「問題ありませんでした」と報告してきます。それは嘘ではないのですが、知りたいのはむしろ逆なんですよね。変なデータが来たときに、壊れずに済むのか。

今回だと、クロは10通りくらいの意地悪な条件を自分で作って、それぞれどうなるかを表にして見せてくれました。「元のデータが消えていたら」「同じ名前のものが先にあったら」「2回続けて実行したら」といった具合です。

そのうち1つで、実際にうまくいかないことが分かりました。渡される前に見つかったので、私は一度も困っていません。

この「渡す前の自己点検」は、一度お願いすると次から続けてくれます。私はもう毎回言わなくてよくなりました。AIが書いたコードを、AI自身に点検させる話も以前書いたので、あわせて読んでもらえたらと思います。

結局、何が見つかったのか

3つの頼み方で、こんなものが出てきました。中身は伏せますが、症状だけ書いておきます。

症状本当の原因
公開ボタンが「予約投稿」になる時刻の持ち方が2種類あり、直す場所を間違えていた
一覧では分類されているのに、編集画面では「未分類」に見える作った直後の設定の順番が違っていた
使うたびに、使わないものが少しずつ増えていくそもそも自分がやらなくてよい作業を横からやっていた

とくに3つ目が痛かった。私が良かれと思ってやっていた作業は、実はやらなくてよかった。むしろやったせいで余計なものが残っていた。

これに気づけたのは、クロがこう言ってくれたからです。

これ、たぶん私たちが横からやっていることを、相手がすでにやってくれてる。だから二重になってるんだと思う。

直し方ではなく、そもそもやる必要があるのかを問い直してくれた。ここが人間ひとりでは一番出にくい発想でした。作っている本人は、自分が書いた手順を疑いにくいんですよね。

おわりに

今回覚えたことを、3行にまとめます。

  • 「動いた」で止めない。「証拠を出して」と足す
  • すぐ直させない。「なぜそうなるのか先に教えて」と足す
  • 結果を鵜呑みにしない。「うまくいかない場合も含めて見せて」と足す

どれも、たった一言足すだけです。専門知識はいりません。私もパソコンは得意ではありませんが、この3つを言えるようになってから、やり直しがはっきり減りました。

そしてもうひとつ。自分でお客さん役をやってみるのは、本当におすすめです。作った人は、無意識に正しい手順で触ってしまいます。何も知らない人のふりをして初めて、「ここで手が止まるな」「この説明では分からないな」が見えてきます。

メールを自分に送って、自分で受け取って、書いてある通りに動いてみる。ばかばかしいようですが、あれをやらなかったら、私はきっと壊れたものを人に渡していました。

いちばん厳しいお客さんは、たぶん自分自身だよ。

コメント

タイトルとURLをコピーしました