AIに作らせたものを、どう点検したか

AI3体に業務システムを1日で作らせ、できたものを点検した記録 / 2026-09-04

この文書を3行で AI3体に、値引きの判断をするしくみを1日で作らせました。
できたものを点検したら、間違いが12件見つかりました。自動チェックは全部合格していました。
うち9件は、一つひとつは正しいのに、組み合わせると答えが合わなくなるものでした。

1. なぜこの話を書くか

「AIにプログラムを書かせた」という話は、もう珍しくありません。珍しいのは、 できたものをどう疑い、どう確かめたかのほうです。

私は経理・財務を20年やってきました。決算書のチェックと、AIが作ったもののチェックは、驚くほど似ています。 数字は揃っている。計算も合っている。それでも実態と違う、ということが起きる。 経理ではそれを二重計上や区分の誤りと呼びます。 今回AIが出してきた間違いは、名前を付け替えると、ほとんどが経理で見慣れたものでした。

この文書は「AIは危ないから使うな」という話ではありません。逆です。 どこがどう危ないかを具体的に言えれば、使えるという話です。

2. 何を作らせたか

スーパーの惣菜に、閉店前に貼られる半額シール。あの判断を計算でやるとどうなるか、という試算ツールです。

扱っている問題 弁当が40個ある。閉店は21時。いま19時。売れ残ったら捨てる費用がかかる。
いくらまで下げてよいのか。いつ下げるのか。
お店では「閉店2時間前に一律30%引き」のような決まりでやっています。それより儲かる判断はあるのか。

この問題には、経理の人間なら反応する論点がいくつも入っています。

サービス業も同じ考え方で扱えます。施術60分の空き枠も、時間が過ぎれば消えてしまう在庫だからです。 違うのはお金が出ていくタイミングだけ —— 惣菜の仕入代金はもう払い済み、施術者の人件費は予約が入ってから発生する。 この違いが、値引きしてよい下限をまるごと変えます。

正直に書いておくこと 使っているのは架空の店のデータです。実際のお店で試したものではありません。 したがって「捨てるロスが◯%減った」という言い方は一切していません。 言えるのは「同じ条件で3つのやり方を比べると、どちらが上か」だけです。

3. 見つかった12件を、経理の言葉に置き換える

以下が実際に見つかった間違いです。どれも自動チェックには合格していました。 右の列は、同じことが決算や監査で起きたら何と呼ぶかです。

何が起きていたか経理でいうと
捨てるのにかかる費用を、2回引いていた。その結果、値引きしてよい下限価格が本来より16円低く表示されていた 二重計上
売り切れて引き分けになった場面を、「ここから負け始める」と表示していた。負けていないのに負けと報告していた 区分の誤り(同額なのに損失に分類)
平均の出し方が違っていた。1個も売れなかった日が「100%」として平均に混ざり、成績が良く見えていた 母数の取り違え
同じ画面の見出しとグラフが、違うデータの数字を出していた(13.17% と 10.66%) 集計基準の不統一
「この文章なら出してよい」と検査を通した文章のひな形が、実際には一度も使われていなかった。画面に出ていたのは検査していない文章 承認済みのひな形が使われず、未承認の文書が外に出ていた
「この条件では両者は一致します」という注意書きが、例外を確かめずに書かれていた。実際は一致しない商品のほうが多かった 例外を確認せずに一般化した注記
比べる相手の利益がゼロ近くを通る場面で、比率が 2218% に跳ね上がっていた。実際は「相手がたまたまトントンだった」だけ 分母が小さいときに率で語る誤り
同じデータでも、入力の並び順を変えると答えが3通りに変わった 再現性がない集計
画面側と計算側が、同じ数値を互いに違う意味で受け取っていた。倍率が2回かかる、基準の値が動く 前提の取り違え
同じものを指す名前が2箇所で食い違っていた。つなぐと動かない 勘定科目名の不一致
効果を「+14.2%」と報告していたが、測り直すと ±3.4ポイントの幅があった。1桁目まで言い切れる精度がなかった 根拠の精度を示さない断定
これに1件加えます。私自身の誤りです。 「AIが出した答えのほうが優れている」と示すために、比べる相手を、比較に使うのと同じデータで調整していました。 相手にだけ答えを見せてから勝負させたようなもので、成績が実力以上に出ます。 データを「調整用」と「採点用」に分けて測り直しました。 経理でいえば恣意的な期間選択です。都合のよい期間を選んで「前年比◯%改善」と言うのと同じ構造です。

4. どういう見方をしたときに見つかったか

誰が見つけたかより、どの見方をしたときに出たかのほうが、次に使えます。

有効だった見方これで出た件数
他の担当が作った部分を、手を入れずに読むだけで粗探しする6件
おかしな結果から逆にたどる(「捨てる費用を上げたのに成績が下がるのはおかしい」)1件
他人の担当箇所を読んでいて、自分の担当の誤りに気づく2件
自分が出した数値を、自分で疑って測り直す1件
できたものを実際に画面に出して読む後述

一番効いたのは1つ目です。担当を分けたうえで、お互いの担当を読むだけの役を回しました。 直す権限を与えないのが要点です。直せる状態にすると、その場で直してしまい、何が問題だったのかが記録に残りません。

5. 自動チェックに合格していても、読むと嘘だった

画面に出す説明文は、禁止したい言い回し16パターン × 1008通りの検査を通していました。 それでも実際に画面に出して読んだら、2件が嘘でした。

画面に出ていた文何が嘘か
残り480分・在庫33個。この1個を残す価値は202円まで下がっています。 残り8時間の時点で、まだ何も下がっていない。値引きする場面だけの言い回しを、全場面で出していた
エンジンの利益は+13.9%です。 「利益率が13.9%」と読める。実際は相手との差が13.9%
ここから決めたこと 機械には「守るべき条件」を守らせ、嘘かどうかは人が読んで判定する。 文章を一字一句まで検査で固定すると、言い回しを直すたびに検査が不合格になり、検査が改善の足かせになります。 かといって条件のチェックだけでは、上の2件は永久に合格のまま通ります。 この2つは役割が違うので、分けるしかありません。

6. 公開したあとに、13件目が出た

ここまでの12件は、公開する前に見つけたものです。13件目は、この文書を公開した直後に出ました。

文中の囲みブロックが、意図しないところで改行される不具合がありました。直したつもりで公開したところ、 読む人の画面では直っていませんでした。

私が確認したこと確認できていなかったこと
サーバーが返すファイルの中身が、修正後のものになっていること 読む人の画面で、実際にどう見えているか

原因はブラウザのキャッシュでした。サーバーは正しいものを返していましたが、 読む人のブラウザは、以前読み込んだ古い版を使い続けていました。

経理でいうと 差し替えたはずの資料が、受け取った側では古い版のまま回覧されていたのと同じです。 出す側だけを確認して「直った」と報告していました。

この文書は前の章で「できたものを実際に画面に出して読む」と書いています。 その文書を公開する当人が、まさにその工程を飛ばしました。 指摘されるまでの間、「配信されているものは正しい」と2回報告しています。

対処として、スタイルシートのファイル名に中身から計算した文字列を入れ、内容が変われば名前も変わるようにしました。 これでキャッシュが原因で更新が届かないことは起きません。ただし本当の対処は仕組みではなく、 「出した側を確認すること」と「受け取る側で確認すること」は別だと知ることです。

7. 依頼した本人が、できたものを理解できなかった

これが今回いちばん重い発見でした。

この開発は「見た人が1つの画面を開き、90秒で価値が伝わる」を目標に設定していました。 完成後、最初に画面を見た人間 —— 発注した私自身 —— が、何をしているのか分かりませんでした。

自動チェックは176件合格しています。表示崩れもありません。数値も正しい。それでも、 読む人が「これは何の話か」を掴めなければ、できたものとしては未達です。 「業界の人なら分かる」は、作った側の言い訳になります。

AIは、指示された品質は満たします。指示しなかった観点は満たしません。 「90秒で伝わること」を目標に書いたのに、誰にとっての90秒かを決めていなかったのが原因でした。 この文書は、その反省から後から書いたものです。

8. AI3体を同時に動かして起きたこと

AI3体に担当を分けて同時に動かし、1体をまとめ役に置きました。速さは出ました。 本来2週間の想定だった工程が1日で終わっています。ただし、 最初の指示が足りなかったことが、思わぬ形で効きました。

動き出した瞬間に、3体とも自分の担当を知らなかった 3つの画面に同じ文章を貼ったため、どれがどの担当か分からない状態で動き出しました。 その結果、①AI同士が勝手に名乗り合いを始める ②まとめ役がその跡を読み違えて担当を入れ替える ③人間が3つとも同じ選択肢を選ぶ、が重なって担当が三重にズレました。

実害はゼロでした。中身が1行も書かれる前に解決できたからです。 ただし、これが1時間後に起きていたら、2体が同じ場所を上書きし合っていました。

原因は「どのAIがどの担当かを、人間の手作業に頼らせた」ことです。 対策として、担当表を1つのファイルに置き、 会話でのやりとり・画面での選択・残っていた痕跡は、すべてその表より下に見ると決めました。 以後この問題は起きていません。

同時に動かして、得たもの・失ったもの

内容
得たもの 間違い12件のうち、少なくとも9件は「他の担当が見つけた」ものです。 1体だけで作っていたら、そのまま公開していた可能性が高い。 同時に動かしたことは、速さより互いのチェックのために効きました
失ったもの まとめ役の負担が重い。3体が同時に報告してくるので、判断が追いつかないと詰まります。 実際、まとめ役のAIは自分でも11件の誤りを出しました。 うち3件は同じ型(自分で確かめずに断定して、他へ伝えた)

9. この経験から言えること

  1. AIが作ったものは、自動チェックが通っていることを品質の証明にできません。 今回の12件はすべて合格していました。自動チェックは「書かれた観点」しか見ません
  2. 効いたのは、直さずに読むだけの役を置くことでした。 直せる状態にすると、その場で直してしまい、何が問題だったのかが残りません
  3. 「結果がおかしい」という違和感を、放置しないこと。 「捨てる費用を上げたのに成績が下がるのはおかしい」から、二重計上が見つかりました。 これは会計の知識がないと持てない違和感です
  4. 数字を出すときは、誤差と外れる頻度も一緒に出すこと。 この試算ツールは平均だけでなく、誤差の幅と「負ける日の割合」を画面に出します。 判断できないときは「判定できません」と表示します
  5. 速く作れることと、信用できるものが出てくることは別です。 1日で作れた分、点検にはそれ以上の手間がかかりました

10. 実物

以下が、この文書で点検の対象にしたものです。数値はすべて測り直して取得しています。