私はシステム開発の技術者ではありません。それでも、この1年ほどAIに実際の仕事をやらせています。記事を書かせ、サイトを作らせ、点検もさせています。
その点検が、何度も0件を返してきました。問題なしという意味だと思っていました。実際には、問題のある場所を見ていなかっただけでした。
同じことが4回起きています。原因は毎回違いますが、画面に出てくるものは同じでした。0という数字です。
体重計に乗せ忘れた荷物
今回の話は、最後まで体重計のたとえで通します。
荷物を持って旅行に行くとき、預ける荷物の重さを量ります。制限を超えていないか確かめるためです。量って20キロだったとします。制限が23キロなら、問題ありません。
ところが、手に持っていた紙袋を量り忘れていました。それも預けることになっていたのに、体重計に乗せていなかった。合計は25キロで、制限を超えています。
体重計は正しく動いていました。20キロという数字も正確でした。乗せた分については、何ひとつ間違っていません。乗せなかった分が、数字に入っていなかっただけです。
私が4回やったのは、これです。
1回目 サイト名の色を量っていなかった
このサイトには色の決まりがあります。使ってよい色を7つに絞っていて、それ以外は出してはいけないことにしました。守れているかどうかは、毎回、色を測る道具で確かめていました。
道具は毎回0件を返していました。決まりの外の色は出ていない、という意味です。
記事を11本公開した時点で、サイトの名前そのものが決まりの外の色で表示されていることに気づきました。ずっと出ていました。一度も検出されていません。
道具を作ったとき、測る対象を記事の本文だけにしていたからです。サイト名は上の帯にあり、記事ではないので範囲に入っていませんでした。
道具は壊れていませんでした。記事の本文については、正しく測って0件だったのです。私は毎回それを「サイト全体に問題なし」と読んでいました。紙袋を乗せずに量った20キロを、全部の重さだと思っていたのと同じです。
2回目 同じ形の見落としが4か所あった
サイト名の色の件を直したあと、同じ形の誤りが他にもないかを調べました。
4か所ありました。色、点検の道具そのもの、控えのファイル、それにもう1件です。どれも「0件だった」のではなく「そもそも見ていなかった」ものです。
このとき気づいたことがあります。私は報告に「何を見たか」は書かせていました。どこを調べて、いくつだったか。でも「何を見ていないか」は一度も書かせていませんでした。
体重計の数字だけを見て、何を乗せたかを確かめていなかった、ということです。20キロという数字は目に入りますが、そこに紙袋が入っているかどうかは、数字を見ても分かりません。
いまは0件を報告するときに、調べた範囲と、意図的に外した範囲と、外した理由を書かせています。0という数字と一緒に、何を乗せなかったかを書かせる形です。
3回目 道具が2つあったから気づけた
控えのファイルを探す作業で、道具を2つ使っていたことがあります。ファイルの名前で探すものと、拡張子で探すものです。
結果が食い違いました。片方は0件、もう片方は見つかったと言っています。
調べたところ、名前で探すほうが誤っていました。何も見つけられない状態なのに、0件という結果だけを正常に返していました。壊れていることが、出てくる数字からは分からない状態です。
このときは、たまたま道具が2つありました。1つしかなければ、0件をそのまま信じていたはずです。壊れた体重計でも、数字は出ます。0キロと表示されたとき、それが「軽い」なのか「乗せられていない」なのかは、表示だけでは区別がつきません。
いま、重要な点検は違う2つのやり方で行って、結果を突き合わせています。片方だけが0件になったら、道具のほうを疑います。
4回目 無いと結論して、新しく作った
これがいちばん新しい失敗です。
サーバーにある書類と、手元にある書類が同じかどうかを照合させました。ところが、サーバー側に相手が見つかりません。
そこでAIは「相手が無い」と結論しました。そして、その場所に新しくフォルダを作って、手元の65件を複製しました。
実際には、書類は別の場所にありました。探す場所を間違えていただけです。しかも、正しい置き場所は、私が用意した書類の中にちゃんと書いてありました。読まずに「無い」と結論しています。
この件は、AIの側の仕組みが途中で止めたおかげで発覚しました。止まらなければ、書類が二重になったまま気づかなかったと思います。
体重計に荷物が乗っていないとき、「この荷物は存在しない」と結論して、新しく荷物を作ってしまった、というような話です。荷物は隣の部屋にありました。
0件と、見ていない、は違う
4回とも、画面に出てきたものは同じでした。0という数字です。
意味はそれぞれ違いました。範囲の外にあった、道具が壊れていた、探す場所が違った。どれも「問題がない」ではありませんでした。
いま私が依頼書に必ず入れているのは、次の3つです。
まず、わざと引っかかるものを1つ置いて、道具がそれを見つけることを確かめさせます。見つけられなければ、その道具は使いません。
次に、本番の点検をさせます。
最後に、0件だった場合は、探しに行けていたことを別の数字で示させます。たとえば、必ず見つかるはずの言葉を数えさせる。それが出てくれば、少なくとも中身は読めていたと分かります。
3つ目が特に効きます。「0件だった」と「そもそも見ていなかった」は、画面の上ではまったく同じに見えるからです。区別できるのは、別の数字を並べたときだけです。
AIを疑っているわけではない
念のために書いておくと、4回とも、AIは正直に報告しています。嘘をついたわけではありません。
範囲の外は測れませんし、壊れた道具は壊れたまま数字を返します。指示した範囲について、指示したとおりに実行して、結果を報告している。そこに誤りはありませんでした。
誤っていたのは、範囲を決めた側です。私です。
だから対策も、AIをもっと賢くする方向ではなく、範囲を確かめる方向に置いています。何を乗せて量ったのかを、毎回書かせる。0という数字だけでは、何も分からないからです。
いまも同じ形の失敗が起きないとは思っていません。まだ気づいていない紙袋が、どこかにあるはずです。見つかったら、また書きます。

