AIに32ヶ月分の請求明細を棚卸しさせたら、指摘7件のうち6件が誤報だった
6拠点・スタッフ約70名の会社を経営しています。
経理をAIに手伝わせています。その中で先日、わりと背筋が寒くなることが起きました。
AIが「7ヶ月分の明細が取りこぼされています」と報告してきた。翌日ぜんぶ実機で確認したら、本物の欠落は1件だけでした。6件は誤報です。
ただ、この誤報の中身を分類したら、AIに集計を任せるときの落とし穴がきれいに4種類に分かれました。同じことを他社でも踏むと思うので、そのまま書きます。
やらせていたのは、カード8枚・32ヶ月分の請求明細を、資金繰り表に転記する作業です。
明細はカード会社のサイトから毎月ダウンロードして、共有フォルダにカードごとに入れてある。それを「どの月がそろっていて、どの月が抜けているか」を一覧にする棚卸しの道具を作らせました。
その道具が出した結論が「7本の取りこぼしがある」でした。

誤報6件を分類したら、原因は4つだった
1. 見えていないファイル形式があった
道具はCSVしか数えていませんでした。実際にはPDFとExcelでも保存してある月がある。91本のファイルが、まるごと視野の外にありました。
ここが最大です。ファイルは最初から有ったのに、道具から見えていないので「無い」と報告された。
2. そもそも存在しなかった期間を「欠落」と呼んでいた
4ヶ月ぶんの「欠落」は、まだそのカードを作っていなかった時期でした。無いのが正しい。
3. 毎月は請求が出ないカードがあった
使わなかった月は明細そのものが発行されません。それを「取りこぼし」と数えていました。
4. 壊れていないファイルを壊れていると誤認した
1件は「途中で切れている」と判定されたが、新旧を突き合わせたら完全に一致していた。その月の最終利用日が、たまたま月末より早かっただけです。
本当の原因は「AIの視野の外」
4つを並べると、原因はぜんぶ同じ形をしています。
AIは、自分に見えている範囲を全体だと思い込む。そして見えていないものを「欠落」として報告してくる。
しかも厄介なのは、この誤報が自信たっぷりに、表形式で、それらしく出てくることです。エラーは1つも出ません。「7件の欠落を検出しました」と整った一覧が出てくる。
もし私がそれを信じて「じゃあ7ヶ月ぶん取り直そう」と動いていたら、存在しない明細を探して何時間も溶かしていました。実際、前日はそう決めかけていました。

直したこと
道具を4ヶ所直しました。
PDFとExcelも数える(これで91本が見えるようになった)
カードが存在しなかった月を欠落と呼ばない(カードごとに開始月を持たせた)
毎月請求が出ないカードを欠落と呼ばない
古い形式のCSVを判別する(ヘッダーが無く、列の並びも違う旧様式が混ざっていた。読めないファイルが8本あったのが0本になった)
そして、回帰テストを3本用意しました。
「このカードのこの月は、この合計になる」という答えが分かっている組み合わせを3つ選んで、道具を直すたびに走らせる。今回の4ヶ所を直したあとも3本とも合格したので、直した副作用で別のところを壊してはいない、と言えます。
AIに道具を直させるときは、これが無いと詰みます。直すたびに別のどこかが静かに壊れるからです。

真犯人は人間側にいた
最後にもう1つ。
そもそも「取りこぼしがある」と疑ったきっかけは、あるカードの明細が2ヶ月続けて月の途中までしか入っていなかったことでした。これは本当に途中までしか入っていなかった。
原因を追ったら、ダウンロード画面に「先月までのデータ」と「今月のデータ」の2つのタブがあって、既定が「今月のデータ」だった。そして「今月のデータ」は、金額が確定していない取引を出力しない。
つまり早く取りに行くほど、中身が減る。AIのせいでも道具のせいでもなく、画面の既定値でした。
ついでに白状すると、この作業中に私(が指示したAI)も1件やらかしています。ファイル名を「利用月」から「振替月」に付け替えたら、道具の中にあった「利用月に1ヶ月足す」処理と二重に効いて、1枚のカードだけ全期間が1ヶ月後ろにずれました。棚卸し表が整理前と食い違って気づけた。
まとめ
AIに棚卸しをさせる前に、「数えられていないものが無いか」を先に検証する。 形式・期間・そもそも発生しない対象の3つを疑う
エラーが出ない誤りが一番危ない。 「7件検出」という整った出力ほど、そのまま信じない
回帰テストを3本だけでいいから先に作る。 直すたびに走らせる
既定値を疑う。 画面のデフォルトが、静かにデータを削っていることがある
結果として、32ヶ月分のうち本当に取れなかったのは1件だけでした。しかもそれは、カード会社のWeb明細の遡及できる期間より前だったので、そもそも取得できないものでした。
7件のうち6件は、探しに行かなくてよかった。AIに数えさせるときは、数え方を先に数える。 これに尽きます。
――
AIが「見えていないもの」を報告してくる話は、ほかにも書いています。
AIを5人に役割分担させたら「疑う係」がいなかった。別のAIに検算させると指摘が6件出た
同じくらいの規模の会社でAIを使う方へ。続きはフォローで届きます。
