AI活用の記事は、うまくいった話ばかりです。私が知りたかったのは、どこで失敗するかのほうでした。
清掃業の会社を経営しながら、社内の経理集計をAIで自動化して運用しています。この1年で実際にやらかしたことを、隠さず書きます。
結論を先に書くと、失敗はすべて「AIの答えを、確かめずに採用した」ことから起きていました。
失敗①:2つのAIが同じ答えを出したので、正しいと思った
これがいちばん危なかった失敗です。
月末の着地予想の計算方法を見直そうとして、性質の違う2つのAIに別々に、独立して相談しました。片方の答えをもう片方に見せない形です。
2つとも、ほぼ同じ改善案を出してきました。
私はこれを「独立した検証で一致したのだから正しいだろう」と受け取りました。ここが間違いでした。
実データに当てたら破綻した
採用する前に、念のため過去の実績データに当ててみました。するとある拠点だけ、計算結果がまったく実態と合いません。
原因は、その拠点だけデータの入り方が他と違っていたことでした。2つのAIは、どちらもその事情を知りません。 だから同じように外したのです。
複数のAIが一致することは、正しさの証明になりません。
同じ前提の欠落を共有していれば、同じように間違えます。一致は「同じ情報しか持っていない」ことの証明でしかない場合があります。
いま守っているルール
お金に関わる計算は、必ずこの手順を通します。
- すでに終わった月のデータで検算する
- 「予測=実績」になるか確かめる
- 合わなければ、どれだけもっともらしくても採用しない
検算できない提案は、採用しないことにしました。
失敗②:3ヶ月間、まったく動いていなかった
毎月自動で集計が走る設定をした——つもりでした。
3ヶ月後にたまたまログを見て、一度も実行されていなかったことに気づきました。
手で動かせば正常に動きます。だから壊れているとは思いませんでした。自動実行のときだけ、必要なものが見つからずに終了していたのです。
なぜ気づけなかったか
失敗したときに何も起きない作りだったからです。成功すると結果ファイルが更新され、失敗すると無音。
この設計だと、「正常に動いた」と「そもそも動いていない」が、どちらも無音になります。
いま守っているルール
- 成功したときも記録を残す(1回1行でよい)
- 設定したら、時間を待たずにその場で1回動かして確かめる
- 月1回、記録の最終行だけ見る
このときの原因と直し方は launchdが動かない・終了コード127の原因と対処 に詳しく書きました。
失敗③:同じ費用を2回引いた試算を作った
拠点ごとの採算を試算したときのことです。AIに手伝ってもらって表を組み、もっともらしい数字が出ました。
後から見直したら、ある費用を2か所で引いていました。 利益の計算で一度引き、支払い可能額の計算でもう一度引いていたのです。
結果、実際より大幅に悪い数字が出ていました。 それを前提に判断するところでした。
なぜ起きたか
AIは、こちらが渡した式の意味までは確かめません。「その数字がすでに引かれているかどうか」は、渡した本人しか知らない情報です。
私はそれを説明せずに「この費用も引いて」と頼みました。AIは言われたとおりにしただけです。
いま守っているルール
- お金の計算では、「この数字に何が含まれているか」を先に書き出す
- 合計が合うかを、別の道筋でもう一度計算して突き合わせる
- 数字が思ったより良い/悪いときほど疑う
⚠️ AIは計算を間違えません。間違うのは前提です。
そして前提を持っているのは、AIではなくこちらです。
失敗④:売上0円という結果が、普通に出てきた
データを自動で取り込む仕組みを作ったときの話です。
ある日、集計結果が「売上0円」になっていました。プログラムは正常終了しています。エラーも出ていません。
原因は、取り込みが失敗して中身が空のファイルが保存されていたことでした。プログラムは、その空ファイルを正しく読んで、正しく合計0円を出したわけです。
いま守っているルール
- 取り込んだファイルが空でないことを必ず確認してから次に進む
- 結果が0や極端な値のときは、そこで止める
「エラーが出ていない」は「正しい」という意味ではありません。 ここは何度でも書いておきたいところです。
この種の事故の防ぎ方は Googleスプレッドシートの売上から月末着地予想を自動計算しSlackに投稿する方法 でも触れています。
失敗⑤:2週間、何も進まなかった
最初の頃です。AIに頼むとコードが出てくるのに、実行すると動かない。エラーを貼ると別の方法が出てくる。それも動かない。
これを2週間繰り返しました。
原因は、私のパソコンに開発用の部品が入っておらず、標準のPythonが動かない状態だったことでした。AIはそれを知らないので、動くはずの答えを出し続けていたのです。
いま守っているルール
環境の前提をファイルに書いて、毎回読ませています。 「このパソコンでは何が動かないか」を先に伝えるだけで、往復がほぼ消えました。
方法は CLAUDE.mdとは何か|AIへの指示をファイルで管理する に書いています。
失敗から見えた共通点
5つ並べてみると、性質は1つでした。
| 失敗 | 本当の原因 |
|---|---|
| 2つのAIの一致を信じた | 実データで検算しなかった |
| 3ヶ月動いていなかった | 動いたことを確認しなかった |
| 費用を二重に引いた | 前提を書き出さなかった |
| 売上0円が出た | 入力を検査しなかった |
| 2週間進まなかった | 環境を伝えなかった |
どれもAIの性能の問題ではありません。すべて「確かめなかった」ことによる失敗です。
AIは、こちらが渡した前提の範囲で、もっともらしい答えを返します。もっともらしさと正しさは別物です。
その差を埋められるのは、実データを持っているこちら側だけです。
それでも自動化はやめない
ここまで失敗を並べましたが、やめようとは思いません。
手作業の頃も、転記ミスも計算間違いもありました。違いは、自動化した仕組みの間違いは再現するので、原因を特定して二度と起こさないようにできることです。
手作業のミスは、同じ人が同じ場所で何度でも繰り返します。直し方があるぶん、自動化のほうが扱いやすいというのが実感です。
まとめ
- 複数のAIの一致は、正しさの証明にならない。同じ前提の欠落を共有していれば同じように間違える
- お金の計算は終わった月で検算する。合わなければ採用しない
- 「作った」と「動いている」は別。成功も記録し、その場で1回動かして確かめる
- 間違うのは計算ではなく前提。何が含まれている数字なのかを先に書き出す
- 「エラーが出ていない」は「正しい」ではない。入力が空でないかを検査する
- 環境の前提を伝えないと、永遠にかみ合わない
AIに任せて失敗したというより、確かめる手順を省いて失敗したというのが正確なところです。省いてよい工程と、省いてはいけない工程がある——そこを学ぶための1年でした。


コメント