紙の決算書をAIに食べさせる 第2話 ── 合計が合っていても、信用しない

前回、紙の決算書をAIに読ませて、Excelにした話をしました(第1話 ── 81円のズレも捕まえながら)。
数式入りで、再計算してもエラーは0件。
合計のチェックも通っていました。
それでも、81円、間違っていました。
今回は、その仕組みの「設計」の話です。
先に結論を言います。
AIに決算書を読ませる仕組みで、大事なのは読み取りの精度だけではありません。
間違いの見つけ方の方が、大切かもしれません。
AIは、読み間違えます。どんなに性能が上がっても、読み間違えます。
だから私は、読み取りの精度を上げる努力を、ほとんどしていません。
そのかわり、あの81円のあと、仕組みのほうを作り替えました。
間違いが、勝手に見つかるように。
今日はその中身を、1個ずつ開けていきます。全体の地図は、いちばん上に貼った1枚のとおりです。
AIは、どう間違えるか
まず、敵の顔からです。
対策から入ると、たいてい的を外します。どこで間違えるか分からないまま関門を作ると、いちばん通したくないものが通る場所に、関門が立っていないからです。
だから先に、実際に起きたことを並べます。
私の手元で最初に実際に起きた間違いは、この4つでした。
どれも、性能の低いAIだから起きた、という話ではありません。読み取り自体は、ほとんどの数字で正しかった。それでも、この4つは起きました。

| 間違いの型 | 実際に起きたこと | |
|---|---|---|
| 1つ目 | 桁の入れ替え | 254,709円を、254,790円と読む。末尾の「09」と「90」がひっくり返る |
| 2つ目 | 間違いが、隠れる | 逆算した科目に、ほかの科目の誤差81円が吸い込まれる。それでも合計は合う |
| 3つ目 | そもそも読めない資料 | 画質の悪い紙スキャンで、所得金額が1,200万円ズレた |
| 4つ目 | 脇の数字 | 内訳表の1桁誤読(527,951円と547,951円)で、合計に2万円の差 |
1つずつ見ていきます。
1つ目、桁の入れ替え。
人間でいう見間違いに近い、素朴な型です。
2つ目が、怖い。間違いが、隠れる。
前回の81円が、これでした。
通信費は「経費の合計から、ほかの23科目を引いた残り」で出していました。
23科目のどれか1つでも読み間違えると、そのズレは全部、逆算した科目に吸い込まれます。
吸い込まれた先の数字は、一見きれいです。合計は合っているからです。
合計が合っていることと、中身が正しいことは、別の話でした。
3つ目、そもそも読めない資料。
読めない資料に頑張らせても、出てくるのは「それらしい表」だけです。テストは中止しました。
4つ目、脇の数字。
「2」と「4」の、1桁の見間違いでした。
大事な数字だけ見張っていると、こういう脇の1桁がすり抜けてきます。
この4つの事故が、いまの仕組みの関門に、そのまま化けています。
| 起きたこと | いまの関門 |
|---|---|
| 1桁の読み間違い | 二台目のAIと突き合わせる |
| 81円が逆算に隠れた | 逆算した値は、必ず原本と照合する |
| それでも合計は合っていた | 「合計以外の網」を張る |
| 読めない資料で1,200万円 | 入口で資料を仕分ける。読めなければ止まる |
ここから、関門を1つずつ見ていきます。
二重の目 ── 人間が全部見るのを、やめた

読み間違いを見つける、いちばん素朴な方法は、人間が全部見比べることです。
前回の私は、それをやりました。3期分・72項目を、1つずつ原本と照合しました。
確実です。でも、高くつきます。
お金の話ではありません。注意力の話です。
人間の集中力は有限です。72項目の照合に毎回使っていたら、肝心の「この会社の数字をどう読むか」を考える前に、疲れてしまいます。
だから、あのあと、人間が全部見るのはやめました。
かわりに、もう一台のAIを雇いました。
同じ決算書を、別のAI(Gemini)にも読ませます。
Claudeの数字とGeminiの数字を、機械が突き合わせます。
私の仕組みでは、貸借対照表と損益計算書の大事な数字が1円単位で一致するかまで、機械が判定します。
ここまではやりすぎと思うかもしれませんが、銀行さんは1円の間違いも許しません。
二台のAIは、別々の会社が作った、別々の頭です。どちらも間違えます。でも、同じ場所を同じように間違えるとは限らない。
だから、二台が一致した数字は、人間は見ない。
人間が見るのは、二台の答えが割れた場所だけ。
勘違いしてほしくないのですが、これは「二台一致なら正しい」という話ではありません。
人間の注意力という、いちばん高い資源を、どこに注ぐか絞るための関門です。
それと、二台目を雇うときの守秘の工夫をひとつ。
(これは、読んでいるあなたがやるかやらないかはお任せします)
法人の決算書の一式には、取引先や役員の名前がぎっしり載ったページ(勘定科目内訳書)があります。
二台目のAIには、そこを渡しません。渡すのは貸借対照表と損益計算書のページだけ。ページの仕分けはClaudeにやらせます。
社名を伏せ字に変えてから渡す、というやり方でもかまいません。
二台目を雇うなら、二台目に見せる範囲も設計する。ここまでで1セットです。
ちなみに、これは大掛かりな話にしなくても始められます。
できあがった表と決算書のPDFをブラウザのGeminiに渡して、「この表とこのPDFで数字が合っているか確かめて」と頼むだけでも、二重の目になります。

検算の網 ── 81円は、なぜ検算を通り抜けたのか

ここが本体です。
前回、決算書には「合っていて当たり前」の関係が何本も張られている、という話をしました。
小計は内訳の足し算と合う。
経費の合計は24科目の足し算と合う。
月別の売上を12ヶ月足すと、年間の売上と合う。
貸借対照表の左と右は、同じ額になる。
読み間違えれば、この網のどれかが必ず壊れる。壊れた場所を探せばいい——これが前回の話でした。
では、81円はなぜ通り抜けたのか。
網の目の、内側に隠れたからです。
通信費は、逆算で出した値でした。逆算で出した値は、作り方からして、合計と必ず合います。
検算は「合計が合っているか」を確かめる道具です。だから、逆算値の中に隠れた間違いには、はじめから手が届かないのです。
あの日、網は破られたのではありません。網が届かない場所があったのです。
だから、網を増やしました。
(私が増やしたんじゃありません。AIが勝手にやってくれました)
- 逆算で出した値は「別の身分」にする。赤く塗って、必ず原本と照合する
- 内訳表もぜんぶ、「科目ごとの合計=印字された合計」を機械で検算する。合わなければ、そこで処理が止まる
もうひとつ、面白い網があります。
差が9の倍数なら、桁の入れ替えを疑う。
数字の並びが入れ替わると、差は必ず9で割り切れるからです。
81円は、9の倍数でした。あの間違いは、最初から尻尾を出していたことになります。
法人の決算書だと、網はさらに増えます。
減価償却の明細と、固定資産。販管費の内訳と、損益計算書。前期の期末と、今期の期首。
決算書というのは、あちこちが繋がっている書類です。
繋がりを全部検算にすると、読み間違いの逃げ場が、どんどん減っていきます。
そして、機械にここまで張らせた上で、人間の側の取り決めをひとつ。
私が自分の目で必ず見るのは、4つだけです。
純資産の合計。売上高。当期の損益。借入金の合計。
経営の判断にも、銀行との話にも直結する数字なので、この4つだけは、機械が何と言おうと最後に自分の目で原本と見比べます。
残りは、機械の網と二台目のAIに任せる。
全部を人間が見る仕組みは、続きません。どこを人間が見るかが決めてある仕組みは、続きます。
入口と出口 ── きれいな不良品を、作らせない

網の外側に、関門が2つあります。
まず入口。読める資料かどうかを、最初に仕分けます。
電子申告のPDFは、文字がそのまま取れるので標準で通す。
紙のスキャンは、合計値を重点的に確認する。
写真は、1ページずつ照合する。
ボケた写真は——読ませません。人に確認してもらう段取りに切り替えます。
1,200万円ズレたテストの教訓が、これです。
あのときAIは、「読めません」とは言いませんでした。それらしい数字の入った表を出してきて、その中の所得が1,200万円ズレていたのです。
だから私の仕組みでは、様式や数字が確信を持って読み取れないとき、処理そのものが止まるようにしてあります。
設計のメモには、こう書いてあります。
「見栄えの良い不完全なデータを作らない」
つぎに出口。できあがったExcelを、もう一度検証します。
入力した値は元の確定値と一致しているか。
計算式は再計算して差がゼロか。
月別の合計は年間と一致するか。
作るのはAI、検証するのも機械。ただし作りっぱなしは許さない。ここは省略禁止にしています。
目隠し転記 ── 最初に間違えたのは、私だった

出口には、人間の関門もひとつあります。目隠し転記です。
AIが「ここが危ない」と選んだ場所について、私が紙の原本だけを見て、数字を書き出します。
選ばれるのは、さっきの4つの数字(純資産の合計・売上高・当期の損益・借入金の合計)。読み取りの自信が低かった箇所。前の年から大きく動いた数字。
このとき、AIの読み取り結果は見ません。
先に答えを見てしまうと、人間の目は「合っている理由」を探し始めるからです。
書き出した数字とAIの数字は、機械が突き合わせます。
で、白状すると、この目隠し転記で最初に間違えたのは、私のほうでした。
書き写すはずだった「純資産の部合計」は、5,847,193円。
私が書き写していたのは、1行下の「負債・純資産の部合計」、76,215,408円でした。
桁がまるで違う。読み直して、書き直しました。
AIの読み取りは、正しかった。
人間の目も、普通に間違えます。だから人間の目「だけ」に頼る検証はやめて、機械と人間で挟み撃ちにしています。
これでも防げないもの ── 数字に、身分を名乗らせる

ここまでやって、では「全部確かめました」と言えるのか。
言えません。言わないことに決めています。
前回の通信費、19,949円。あれは「逆算で出てきた数字」でした。
同じ顔で表に並んでいても、数字は出どころによって、意味がまるで違います。
人間の目で原本と照合した数字。
二台のAIが一致した数字。
機械の検算だけを通った数字。
逆算で出した数字。
見た目は、全部同じ顔をしています。
だから、数字のほうに身分を名乗らせます。
私の仕組みでは、数字ごとに「どこまで確かめたか」の段を付けています。
いちばん上の段は、機械の検算と、二台のAIの一致と、人間の目。ここにいるのは、あの4つの数字だけ。
真ん中の段は、機械の検算と、原本画像との突き合わせ。貸借対照表と損益計算書の全行です。
いちばん下の段は、機械の検算だけ。内訳の細かい数字たちです。
前回お見せしたExcelの色分け(薄緑・オレンジ・赤)は、この身分証明の、見た目版です。
怪しい数字を、ゼロにはできません。
でも、怪しい数字が、確かな数字の顔をして混ざり込むのは、防げます。
私が作ったのは、正しい数字だけが出てくる仕組みではありません。
数字が、自分の確かさを名乗ってから出てくる仕組みです。
おわりに
銀行さんは、1円でも許さない。
前回のあの一言から始まった設計の話は、いったんここまでです。

読みながら「これ、自分でも作れそうだな」と思った方がいるかもしれません。
思った方は、たぶん作れます。
その作り方の話は、また改めてお話しします。
難しいのは技術ではなく、疑う場所を決めること。
それだけは、先にお伝えしておきます。
※登場する事業者は、守秘のため業種を変えています。一部の金額も、桁の構造を保ったまま変えています。やりとりは実物です。
この記事はAIKAが書いています。このサイトについて・個別のご相談はこちら