これで何ができるか

分割払いの割合が割り切れず端数が出る契約で、本当の不足額が端数の大きさに近いほど小さくても、AIの入金照合は見逃しませんでした。端数ありの契約での実測記事は、本当の不足額を常に500円(端数〈1円〉より十分に大きい額)に固定して試し、崩れないことを確かめました。ただし末尾に「もっと小さい差額が端数に埋もれるかは未検証です」という宿題を残していました。この記事はその宿題に答えます。

架空の3回払い契約2本(端数は最終回・端数は初回)で、本当の不足額を次の2段階まで縮めました。

  • 端数と同じ大きさ:材料1は端数2円に対して不足2円、材料2は端数3円に対して不足3円
  • 端数の目安である1円ちょうど:両材料とも、不足額を理論上もっとも紛らわしい1円に設定
本当の不足額を、端数の大きさと同じ・さらに端数の目安である1円ちょうどまで縮めても、AIの入金照合が見逃さなかったことを示す表。(1)不足額が端数と同じ大きさ(2円・3円)の版は10回中10回、(2)不足額を端数の目安である1円ちょうどにした版は6回中6回、(3)短い・曖昧な指示文で(1)を再確認した版も6回中6回で、正しく検出された。下の枠には、本当の不足額を「一致」「端数の範囲内」として片付けた回は22回を通じて0回だったこと、不足額を1円ちょうどまで縮めても見逃しは起きなかったこと、1回だけ冒頭の要約文と表の計算結果の金額が食い違ったが最終的な結論は正しかったことが書かれている。
端数とほぼ同じ不足額も、22回とも見逃しませんでした。

材料2種×5回=10回とも、端数と同じ大きさの不足額(2円・3円)を「一致」で片付けず正しく検出しました。不足額を端数の目安である1円ちょうどまで縮めた6回も、短い・曖昧な指示文に変えた6回も、見逃しは起きませんでした。

前提

かかる時間 20分
費用 無料。ブラウザのチャットAIで足ります
必要なもの 契約書(支払条件)と、入金明細の2つの表
プログラミング 不要。この記事の指示文をコピーして貼るだけです

口座番号や実在の取引先名は貼らないでください。この記事は架空の金額を使っています。実在の人物・団体とは関係ありません。

端数がある契約そのものの基本的な挙動は端数ありの契約の実測記事に、振込手数料ぶんの差額と本当の未入金が同時に混ざる場面は別の実測記事にあります。この記事が見ているのは、本当の不足額そのものが、端数と見分けがつかないほど小さいときという、さらに狭い場面です。

AIへの頼み方

1. 端数を最終回に寄せた契約で、端数と同じ大きさ(2円)の不足を試す

着手金33,333円・中間金33,333円・残金33,335円(合計100,001円・端数2円)の契約です。残金だけ33,333円で着金し、2円不足しています。

契約書どおりに入金されているか確認してください。

上に続けて、契約書と入金明細を貼ります。

5回とも「残金が2円不足しています」と正しく検出しました。

結論:契約書どおりには入金されていません。残金が2円不足しています。(中略)振込手数料を差し引いて入金された可能性もありますが、今回は手数料分(通常数百円)とは額が合わないため、端数の計算漏れとみるのが自然です。

2. 端数を初回に寄せた契約で、端数と同じ大きさ(3円)の不足を試す

今度は着手金33,336円・中間金33,333円・残金33,333円(合計100,002円・端数3円)の契約です。着手金だけ33,333円で着金し、3円不足しています。

契約書どおりに入金されているか確認してください。

こちらも5回とも「着手金が3円不足しています」と正しく検出しました。材料2種×5回=10回とも、端数と同じ大きさの不足額を「端数の範囲内」として丸め込んだ回はありません。

なぜこの言い方が効くのか

「契約書どおりに入金されているか確認してください」という聞き方は、1円単位の厳密な一致を求めています。端数があっても、契約書の支払条件そのものが1円単位まで確定した数字なので、AIは行ごとの照合を続けられます。不足額が小さくなっても、この厳密さは変わらないようです。

うまくいかないときの言い直し方

不足額を、端数の目安である1円ちょうどまで縮めるとどうなるか

端数そのもの(2円・3円)よりもさらに小さい、理論上もっとも紛らわしい1円ちょうどの不足に変えました。指示文は指示文1・2と同一です。

契約書どおりに入金されているか確認してください。

材料1(端数2円の契約で、不足額だけ1円に変更)で3回試しました。

3回とも「残金が1円不足しています」と正しく検出しました。「端数の範囲内」として丸め込んだ回はありません。

同じ変更を材料2(端数3円の契約で、不足額だけ1円に変更)でも試します。

契約書どおりに入金されているか確認してください。

こちらも3回とも、1円ちょうどの不足を正しく検出しました。材料2種×3回=6回を通じて、不足額を端数の最小単位まで縮めても、見逃しは起きませんでした。

短い・曖昧な指示文に変えるとどうなるか

ここまでは「契約書どおりに入金されているか確認してください」という明示的な指示文でした。もっと短く曖昧な聞き方でも崩れないかを確かめます。材料は指示文1・2と同じ(端数と同じ大きさの不足)です。

この入金、何かおかしいところはありますか。

材料1で3回試しました。3回とも「残金が2円不足しています」と正しく検出しました。

同じ短い指示文を材料2でも試します。

この入金、何かおかしいところはありますか。

こちらも3回とも、3円の不足を正しく検出しました。材料2種×3回=6回を通じて、曖昧な聞き方でも見逃しは起きませんでした。

ただし1回だけ、AIの返りの冒頭の要約文が「1円合っていません」と書いた直後、表では正しく「不足額:3円」と計算し直していました。最終的な結論・対応案はすべて正しい3円で一貫していましたが、冒頭の一文だけを読むと誤った金額を信じてしまう可能性があります。表や結論の数字まで必ず確認してください。

応用・次の一手

毎月の入金照合で、差額がどれだけ小さくても「端数だから」と見過ごさない運用にしても、この実測の範囲では問題は無さそうです。不足額が端数の大きさと同じでも、端数の最小単位である1円ちょうどでも、AIは「一致」として丸め込みませんでした。定期実行の置き方は「毎日決まった時刻に自動でやっておいて」をAIに作らせる記事にあります。

それでも、返りの冒頭の要約文だけで判断しないでください。今回の実測でも1回、要約文と表の金額が食い違う回がありました。表や結論に書かれた数字まで確認する習慣が必要です。

⚠️ この結果は、この2つの架空の契約・合計22回での実測です。次の範囲は確かめていません。

  • 不足額が0円に限りなく近い、または端数処理の方式そのものが複数混在する場合
  • 分割回数が4回以上で、端数がどの回に寄っているか分かりにくい場合
  • 1円未満の端数(消費税の計算違いなど)が絡む場合

今回の生の返り22回ぶんと判定コードは docs/evidence/shortfall-near-the-rounding-remainder.md に全文置いてあります。