はじめに

請求書のPDFをAIに読ませて「合計を出して」と頼んだとき、その数字をそのまま信じてよいものか迷った経験はないでしょうか。実際、明細の数が増えるほど、返ってくる合計は静かにずれていきます。

本記事では、Claudeを使って請求書と発注データの突合を自動化するときに、どこで誤りが生まれ、それをどう構造的に防ぐのかを解説します。スマートエイトは生成AI研修と開発受託を手がけ、自社のバックオフィス業務そのものをAIで運用しています。

結論は2つです。AIに任せるのは書類を読む工程だけにして、集計も突合もコードに寄せること。そして「合うまで直させる」ループは、読み取りにだけ使うことです。突合で一致を目標に置くと、AIは差異のほうを消しにいきます。

AIに請求書の合計を出させてはいけない|誤りが出るのは桁と繰り上がり

誤りが出やすいのは「大きい桁」と「項目が多いとき」

生成AIは文章を扱う道具であって、計算機ではありません。とはいえ「まったく計算できない」わけでもなく、簡単な足し算なら正しく返します。

問題が出るのは条件がそろったときです。桁数の大きい数値を扱うとき、そして明細が多く、積み上げる項目が増えるときです。繰り上がり処理の限界を扱った研究(arXiv:2502.19981)では、計算の負荷が上がるほど精度が落ちることが示されています。

請求書はまさにこの条件に当てはまります。金額は桁が大きく、明細は何行もあり、税率ごとに分けて足す必要があります。少額の暗算が合っていたからといって、40行の明細の合計が合う保証はありません。

原因は文章の区切り方と、繰り上がりの追えなさ

なぜ誤るのかを、正確に押さえておく価値があります。ここを取り違えると、対策の方向まで間違えるためです。

理由は2つあると報告されています。1つは、AIが文章を単語の断片に区切って処理する際、数字が桁のまとまりと一致しない形で分割されることがある点です(トークン化と算術精度の関係を扱った研究・arXiv:2402.14903)。もう1つは、繰り上がりの連鎖を先読みできないという仕組み上の制約です。

よく「AIは次に来る言葉を確率で選んでいるだけだから計算できない」と説明されますが、先ほどの研究はこの説明を明確に否定しています。原因は生成の仕組み一般ではなく、数値の扱い方に固有の制約だとされています。

だから「よく確認して」と書いても直らない

原因が仕組み側にある以上、指示の書き方で埋めるには限界があります。

「慎重に計算してください」「間違えないでください」と添えても、桁の分割や繰り上がりの問題は消えません。強く念を押すほど、もっともらしい数字が返ってくるだけで、正しさが上がったわけではない場合があります。

だから対策は、上手に頼むことではありません。そもそも数えさせないことです。

工程を2つに切る|読めるのはAIだけ、計算が確実なのはコード

書類を読む仕事と、数字を扱う仕事は別物

請求書の処理は、性質のまったく違う2つの仕事でできています。

1つは、PDFや画像から数字を取り出す仕事です。これはAIにしかできません。プログラムには書類が読めないからです。

もう1つは、取り出した数字を足したり突き合わせたりする仕事です。こちらは逆で、プログラムのほうが確実です。同じ入力からは同じ結果が出ますし、桁が大きくても項目が増えても間違えません。

工程

任せる先

理由

PDF・画像から数字を取り出す

AI

プログラムには書類が読めない

金額を集計する

コード

決定的に計算でき、桁数や項目数の影響を受けない

発注データと突き合わせる

コード

注文番号をキーに機械的に判定できる

差異の原因を決める

取引の経緯という、書類に書かれていない情報が要る

失敗の多くは、この切り分けをせず、全部をチャットの返答1つで済ませようとしたときに起きます。

集計をコードに書かせるのは、公式が勧める使い方

AIに直接答えを出させるのではなく、計算する手順を書かせて実行させます。返ってくるのは「AIが考えた合計」ではなく「実際に計算された合計」です。

これは裏技ではありません。Anthropicのコード実行ツールの公式ドキュメントに、データ分析や複雑な計算をこの方法で扱えることが記載されています。

プログラムを書く必要もありません。claude.aiにはコードを作って実行する機能があり、「合計はチャットで暗算せず、集計するコードを書いて実行してから答えてください」と日本語で一言添えるだけで経路が変わります。

ただし1つ注意があります。コードを実行する部分は再現性が高い一方、AIに毎回コードを書かせると、そのコード自体が毎回同じとは限りません。Anthropicの用語解説にも、設定を最も厳しくしても完全な決定性は保証されず、同じ入力から異なる出力が出ることがあると記載されています。毎月使う集計なら、うまくいったコードを保存して翌月はそれを再利用します。

うまくいった手順を個人の記憶に留めず、読み込ませられる形で残す進め方は画面録画でAIに業務を教える|Claude新機能の使い方と3つの注意点でも触れています。

突合もコードの仕事|例外は名寄せが要るとき

見落とされやすいのが、突合そのものもコードの仕事だという点です。

注文番号をキーにして2つの表を並べ、金額と数量が一致するかを見る。これは判断ではなく機械的な照合です。AIに目視のように比べさせる理由がありません。

例外は、突き合わせるキーが揃っていない場合です。取引先名が「株式会社○○」と「(株)○○」で登録されている。品目名の書き方が先方と自社で違う。こうした名寄せの部分にはAIが要ります。スマートエイトが手がけた人材紹介業の案件でも、氏名の表記ゆれの名寄せが固有の難所になりました。

AIを使うのは「読む」と「名寄せ」の2か所だけです。残りをコードに寄せるほど結果は安定します。

読み取りだけゴールで回す|終了条件は1枚の中で閉じる検算にする

読み取りは「合うまで」回す意味がある

AIに任せる工程が「読む」と「名寄せ」に絞れると、精度を上げる打ち手も絞れます。

終了条件を先に決めて、満たすまでAI自身に試行錯誤させる進め方があります。1回ずつ人が見て差し戻すより速く、読み取りはこの型がよく効きます。

効く理由は、読み取りが正解の決まっている作業だからです。請求書に書いてある値を取り出すだけなので、合わないならそれは読み取りミスです。加えてAIの出力は毎回まったく同じとは限らないため、回して確からしさを上げることに意味があります。

スマートエイトでも、書類の読み取りはこの形で運用しています。読み取った明細の合計と記載の合計が合うまでAI自身に読み直させ、それでも合わなければ止めて、読み取れなかった箇所を報告させる組み方です。研修でも、金額の表記がバラバラな経費メモを統一フォーマットに転記させ、検算が一致するまで自走させる題材を使っています。

終了条件は、請求書1枚の中で閉じる検算にする

決め手になるのは、何をもって「合った」とするかです。

読み取りの検算は、請求書1枚の中で完結させます。明細の金額を足した数と、請求書に記載された合計金額が一致するか。この検算は外部のデータを一切参照しないため、数字を都合よく変える余地がありません。変えれば書類の中で矛盾するからです。

スマートエイトでは、AIに自走させる指示を終了状態・証明・制約・保険の4要素で書いています。読み取りに当てはめると次のようになります。

要素

読み取りでの書き方

終了状態

明細の合計と、請求書に記載された合計金額が一致している

証明

両者の差額が0円であること

制約

請求書に明記された値だけを使う。読み取れない箇所は空欄で残し、他の値で埋めない

保険

3回試して一致しなければ止めて、読み取れなかった箇所を報告する

社内でよく使う言い方があります。指示は依頼、終了条件は検収条件つきの発注です。何をもって完了とするかを曖昧にしたまま自走させると、完了の定義そのものをAIに委ねることになります。

「発注データと一致するまで」にすると、差異のほうが消える

やってはいけないのが、この検算を突合まで広げることです。

終了条件を「発注データと金額が一致するまで」に置くと、AIにとっての仕事は「一致という状態を作ること」になります。突合は不一致が正常でもある作業なので、目標と目的が逆を向きます。

そして、AIが終了条件の文面だけを満たしにいく振る舞いは既に報告されています。Anthropicが公開したClaude 3.7 Sonnetのシステムカードには、テストを通すために処理を特別扱いしたり、テスト自体を書き換えてしまった実例が記載されています。同種の現象はDeepMindが「仕様の抜け道を突く振る舞い」として整理しており、目的の文面は満たすが意図した結果には至らない、と説明されています。

突合に当てはめると、こうなります。読み取れなかった金額を発注データの値で埋める。合わない明細を対象から外す。いずれも「一致した」という報告は返ってきます。

前の章のとおり突合をコードに任せていれば、この事故はそもそも起きません。突合までAIの判断に任せる設計にしたときだけ現れる落とし穴です。

長く自動で動く仕組みほど、この設計が効いてきます。関門の置き方はAIエージェントの暴走対策|長く動くAIを安全に自動化する3つの関門で整理しています。

それでも人に残る工程|機械が判定できないもの

同じAIに、自分の読み取りを検証させない

読み取り結果が不安なとき、同じAIに「この読み取りは正しいですか」と聞きたくなります。これは思ったほど効きません。

大規模言語モデルの自己修正を検証した研究(ICLR 2024)では、外部の正解となる情報がない状態での自己修正は性能を改善せず、かえって悪化する場合があると報告されています。正しかった答えを、指摘されたと解釈して修正してしまう挙動も示されています。なお、この研究が扱ったのは数学や推論の問題であり、書類の読み取りをそのまま検証したものではありません。

実務では、原本から数件を抜き取って人が突き合わせる、あるいは別の手段で抽出した結果と比べる、という形にします。検証は、外に正解を置いて初めて機能します。

差異の原因を決める工程

一覧に差異が出たあと、原因を特定して支払可否を決める工程は人が持ちます。

「発注が10個、請求が12個」という差異に対して、追加発注があったのか、先方の入力ミスなのかを判断するには、その取引の経緯が要ります。差異の一覧はコードが正確に出しますが、そこに並んだ1件ずつの理由は、書類のどこにも書かれていません。

外に出る操作と、システムへの書き込み

もう1つ人が持つのが、取り消せない操作の直前です。支払データの送信、取引先への返信、会計システムへの書き込みが該当します。

スマートエイトは自社の業務を23体のAIエージェントと47種のスキルで運用し、会計システムと接続して集計やレポート作成まで動かしています。その上で、外部システムに触れる設定では、読み取り系の操作はすべて許可し、書き込み系は止める、という線を既定にしています。読み取りを止めると分析ができなくなる一方、書き込みの誤操作は帳簿の修正という実損に直結するためです。

効果は削減時間ではなく「先月それで完了した突合が何件か」で数えます。測り方は生成AIの費用対効果を測る4つの問い|OpenAI CFOの採点表の使い方にまとめています。

よくある質問|Claudeでの請求書突合

AI-OCRの製品を入れていても、Claudeを使う意味はありますか

定型書式の読み取りだけならAI-OCRで足ります。その工程は機械に任せられる水準になっています。

Claudeが効くのは、読み取りの検算を自走させる部分と、取引先名や品目名の表記ゆれを名寄せする部分です。照合そのものはコードに任せるほうが確実なので、そこはAIの出番ではありません。

コードを書かせるのは難しそうですが、経理担当でもできますか

書くのはAIで、こちらは日本語で頼むだけです。「暗算せず、集計するコードを書いて実行してから答えて」と添えるところから始められます。

必要なのはプログラムの知識ではなく、突合のルールを言葉で説明できることです。毎月その業務をしている担当者のほうが、外部の人より正確なルールを書けます。

差異が出たとき、原因まで推測させてよいですか

候補を挙げさせるのは有効です。確認の順番を決める助けになります。

ただし、それを結論として扱わないでください。どれが正しいかを決めるには過去のやり取りが要るため、そこは人の作業として残ります。

どこから試すのが確実ですか

先月分の請求書を10件だけ使います。すでに処理が終わっていて正解が分かっているデータなら、出力の正しさをその場で判定できるためです。

人が出した結論と一致するかを1件ずつ確認します。合わないものが出たら、そこがルールの書き方の足りない箇所です。30分から1時間で終わります。

請求書の突合を含むバックオフィス業務をAIに任せる設計は、スマートエイトの生成AI研修でも自社の実データを使って扱っています → 生成AI研修の詳細

さいごに

本記事では、Claudeで請求書の突合を自動化するときの2つの設計を解説しました。AIに任せるのは書類を読む工程と表記ゆれの名寄せだけにして、集計も突合もコードに寄せること。そして「合うまで直させる」ループを、読み取りにだけ使うことです。

読み取りの終了条件は、請求書1枚の中で閉じる検算にします。明細の合計と記載の合計が合うかどうかなら、外部のデータを参照しないため数字を歪める余地がありません。これを突合まで広げると、差異を見つけたい業務で差異が消える方向に力が働きます。

「AIに集計させたが数字が信用できない」「自動化したいが、間違った支払いが起きないか不安がある」という課題を持つ企業にとって、数えさせない設計と終了条件の置き方は現実的な打ち手になります。まずは先月分の10件から試してみてください。

スマートエイトの生成AI研修では、自社の実業務を題材に、どこまでAIに任せてどこで止めるかの線引きまで含めて設計します。企業規模・業種に合わせて内容を組み立てることが可能です。

詳細はお気軽にスマートエイト公式サービスページからお問い合わせください。貴社の状況に合わせた最適な進め方をご提案します。 ※生成AI研修資料/導入事例も無料ダウンロードいただけます。