「提案書と契約書が違う」を防ぐ、複数書類の「条件・数字」を突き合わせる手順
「あれ、さっきの提案書では単価10万円だったよね? なんで契約書だと9万5千円になってるんだ……?」
深夜、あるいは締切直前のデスクで、モニターを左右に往復しながら、小さくなった文字を睨みつける。そんな経験、一度や二度ではないはずだ。
見積書、提案書、最終的な契約書。プロジェクトが展開されるにつれ、これらは微かな変化を積み重ね、着実にその姿を変えていく。金額、納期、支払条件、あるいは特記事項の文言。これらが一箇所でもズレていると、後で経理の小林さんから「数字が合いません」と突き返されるか、最悪の場合、法務的なトラブルに発展する。
人間が目視でこれを確認するのは、極めて効率が悪い。それどころか、脳が「同じはずだ」という思い込み(補完機能)を働かせてしまい、明らかなミスを見逃すリスクも高い。
かといって、Excelの比較機能を使えばいいかというと、そうもいかない。契約書はWordやPDFであり、構造がバラバラだからだ。
この記事では、異なる形式の書類にまたがる「条件」や「数字」の整合性を、AIを使って一気に突き合わせる手順をまとめる。ただ「比較して」と頼むのではなく、実務で使える「差分の理由」まで吐き出させるための型を紹介したい。
なぜ「比較して」という指示では失敗するのか
以前、私も似たような作業をAIに丸投げしようとして、失敗したことがある。
手元にあった提案書のテキストと、契約書のテキストを並べて、「この二つの書類に違いがあるか確認して」とだけ投げた。するとAIは、「大きな違いはありません。内容は概ね一致しています」と回答してきた。
しかし、手動で確認すると、支払期日が「月末払い」から「翌月末払い」に変わっていた。AIは「文脈として意味が通じている」と判断してしまい、実務上の「不一致」をスルーしてしまったのだ。
AIに書類の照合をさせる際、絶対にやってはいけないのは、判断基準を丸投げすることだ。
AIには「何が、どうなっていたら不一致なのか」という、いわば「検品基準」を明確に与えなければならない。
事前準備:データの「隠蔽」と「構造化」
まず、最も重要なルールを共有しておく。
「社内の機密情報を、そのまま外部のAIに投入してはいけない」
これは、情シスの及川さんから何度も注意されていることだ。会社の情報セキュリティ規定を必ず確認した上で、以下の手順でデータを加工してほしい。
具体的には、固有名詞や具体的な金額を、構造を保ったまま「伏せ字」に置き換える。
- 会社名・個人名 → 「取引先A」「担当者B」
- 具体的な金額 → 「金額1」「金額2」または「1,000,000」→「1,000,000(仮)」のように、桁数や通貨単位の構造だけ残す
- 住所・プロジェクト名 → 「プロジェクトX」「所在地Y」
こうすることで、AIには「比較すべきデータのパターン」だけを学習させ、具体的な機密情報は手元に残したままにできる。
次に、比較したい書類のテキストを抽出する。
PDFならテキストコピー、Wordならそのままコピー。これらを「書類A(元データ)」「書類B(比較対象)」として区別できるように整理しておく。
実務で使える「照合用プロンプト」の型
AIに投げる指示文には、以下の4要素を必ず組み込む。
- 元データと目的(何と何を、何のために比べるか)
- 比較対象とする項目(金額、日付、条件など、見るべきポイントを限定する)
- 判断基準(何をもって「差分」とするか)
- 出力形式(結果をどう出すか。Excelに貼りやすい形を指定する)
以下に、そのまま使えるプロンプトの構成案を置く。
# 目的
以下の2つの書類(書類A:提案書、書類B:契約書)の内容を照合し、条件や数値に齟齬がないかを確認してください。
# 比較対象とする項目
1. 金額(単価、総額、消費税率)
2. 日付(納期、支払期日、有効期限)
3. 数量(個数、稼働時間)
4. 支払条件(支払いタイミング、支払い方法)
5. 特記事項(免責事項、キャンセル規定)
# 判断基準
以下のいずれかに該当する場合は「差分あり」と判定してください。
- 数値が異なる場合
- 日付が異なる場合
- 文言の意味が実務的に変化している場合(例:「月末払い」と「翌月末払い」の違いなど)
# 出力形式
結果は、以下の項目を持つTSV(タブ区切り)形式で出力してください。
Markdownの表ではなく、Excelに直接貼り付けられるよう、タブ区切りのテキストのみを出力してください。
項目名[TAB]書類Aの内容[TAB]書類Bの内容[TAB]判定[TAB]差分の種類[TAB]備考
※「差分の種類」は、以下のいずれかから選択してください。
- なし
- 追加(書類Bにのみ存在する)
- 削除(書類Aにあったものが書類Bで消えている)
- 変更(数値や文言が変わっている)
# 入力データ
---
書類A(提案書):
[ここに書類Aのテキストを貼り付ける]
---
書類B(契約書):
[ここに書類Bのテキストを貼り付ける]
結果の受け取り方と、その後の処理
AIが出力したTSV形式のテキストは、そのままコピーしてExcelやGoogleスプレッドシートのセル(A1など)を選択して貼り付ける。これで、綺麗に列が分かれた状態でデータが展開されるはずだ。
ここで重要なのは、AIが算出した「差分の種類」を活用することだ。
CSV比較の経験から言えることだが、単に「どこが違うか」を知るだけでは、報告書は書けない。
「金額が変更になったのか」「新しい条件が追加されたのか」「本来あるべき記載が削除されたのか」
この「理由の分類」が、そのまま「なぜこの契約書は修正が必要なのか」という説明の骨子になる。
もし、AIが「差分なし」と判定した箇所であっても、不安な場合は以下の追加指示を送ると精度が上がる。
「項目『支払条件』について、文言が完全に一致していなくても、実務上の意味が同じであれば『差分なし』としてください。ただし、少しでも解釈が分かれる場合は必ず『差分あり』として報告してください」
このように、「グレーゾーンの扱い」を指示に含めるのが、実務で使い物にするためのコツだ。
最後に:AIを「検品担当」として扱う
この手法を使えば、数千文字に及ぶ書類同士の突き合わせにかかっていた時間は、大幅に短縮できる可能性がある。
ただし、注意点がある。AIは時として、もっともらしい嘘(ハルシネーション)をつく。
「差分なし」と判定された箇所の中に、実は見逃している数字が隠れている可能性はゼロではない。
私はこの作業を、「AIによる一次検品」と位置づけている。
AIに「怪しい箇所」をすべてリストアップさせ、人間はそのリストアップされた箇所だけを、元の書類と照らし合わせて最終確認する。
「全部を疑う」のではなく、「AIが指摘した疑わしい点だけを検証する」というフローに変えることで、精神的な負担を減らしつつ、精度を担保している。
明日の朝、もし手元に「内容が違う気がするけど、どこが違うのか分からない」書類の束があるなら、まずはテキストを抜き出し、固有名詞を伏せて、このプロンプトを試してみてほしい。
さて、私も自分の修正指示書が、部長の「いい感じにやっといて」という曖昧な言葉と矛盾していないか、AIに確認させるところだ。