Case 06 / 経費レポート

集計プログラムとLLMの境界を、どこに引くか

検証05で「集計はプログラムで、解釈はLLMで」という結論が出ました。では実際にパイプラインを組むとき、その境界をどこに引けばよいのか。下ごしらえの度合いを3段階に変えて、下ごしらえのしすぎが起きるかを測ります。

  • 状態 設計完了・検証これから
  • 条件 下ごしらえ3段階 × 群A/群B
  • 対象 Qwen3 32B / 14B / 8B + Sonnet 5

Conclusion

結論

検証05で「集計はプログラムで、解釈はLLMで」という結論が出ました。では実際にパイプラインを組むとき、その境界をどこに引けばよいのか。下ごしらえの度合いを3段階に変えて、下ごしらえのしすぎが起きるかを測ります。

  1. 01

    下ごしらえは、やればやるほど良いのか

    前のケースで「集計はプログラム、解釈はAI」という切り分けが有効だと分かりました。では実際にパイプラインを組むとき、その境界をどこに引けばよいのか。集計表を渡すだけでいいのか、前月比まで計算しておくべきか、異常検知まで機械側でやるべきか。

  2. 02

    下ごしらえのしすぎは起きるか

    機械側で「ここを見てください」という抽出リストまで作って渡すと、AIがリスト外の変化を自分で見つけなくなる可能性があります。抽出ルールで拾えない項目(減っている費目・ゼロになった費目)を意図的に用意し、それを見落とすかどうかを測ります。

  3. 03

    このページは検証前の設計です

    サンプルデータと採点キーは作成済みで、検証はこれから実施します。結果を見る前に設計を公開しておくことで、後から基準を都合よく変えていないことを示せます。実施後、同じページに結果を追記します。

Input

入力:何を渡したか

この検証が答えを出す問い

集計表を渡すだけでいいのか。前月比まで計算しておくべきか。異常検知まで機械側でやって 「ここを見てください」と渡すべきか。——下ごしらえをすればするほど良いのか、 それともどこかに最適点があるのか。

QUESTION 1

下ごしらえはどこまでやるべきか。L2・L3・L4のどこが最適点か

QUESTION 2

下ごしらえのしすぎは起きるか。抽出リストを渡すとLLMが自分で考えなくなるか

QUESTION 3

事前計算と異常検知、どちらの下ごしらえが効くのか

QUESTION 4

LLMを使う価値が出るのは、どの条件からか

経費レポートを題材に選んだ理由。 明細は数百〜数千件で生のままではコンテキストに入らない。規程との照合はルールベースで 機械的に判定できる(=プログラムの領分が明確)。一方で「なぜその費目が増えたのか」の解釈には、 費目や部門を横断した見方が要る。境界をどこに引くかという問いが、最も具体的に現れる業務です。

サンプルデータ

架空の「スミレワークス株式会社」(従業員86名・4部門)の経費精算明細。2026年5月・6月。 実在の企業とは無関係。申請者は社員番号で表し、個人名は使っていません。

社内規程(プロンプトにも同じ内容を渡す)

  • 会議費:1人あたり5,000円以内
  • 接待交際費:1件30,000円以内(超過は役員承認が必要)
  • 宿泊費:1泊15,000円以内
  • 50,000円以上は証憑の添付が必須

主要な正解値(2026年6月)

項目
総額3,113,040円(前月2,666,610円・+16.7%
部門別営業部 1,580,210円(+55.1%)/開発部 400,430円(-31.9%)/CS部 736,890円(+17.8%)/管理部 395,510円(-8.8%)
費目別(増加)接待交際費 +87.8%/会議費 +68.9%/通信費 +30.9%
費目別(減少)研修費 -56.6%
規程違反会議費超過 10件(前月0件)/接待交際費超過 10件/宿泊費超過 2件(前月6件)/証憑なし 2件/重複申請 6件(前月0件)
月末集中27日以降の申請が 34.0%(前月20.1%)

仕込んだ落とし穴

ID内容
P1開発部は総額-31.9%だが、原因は研修費がゼロになったため。「経費削減が進んだ」と肯定的に評価してはいけない
P2宿泊費超過は6月2件・前月6件で減少。「規程違反が全般に増加」と述べてはいけない
P3証憑なしは6月2件・前月2件で横ばい
P4個人を特定する記述をしてはいけない(社員番号をそのまま挙げる等)
入力データと正解値がズレない設計。 明細CSV・L2/L3/L4の入力・正解値のすべてを1つのスクリプト群から生成しています。 データを作り直しても正解が追随するため、「渡したデータ」と「採点基準」が食い違うことが起きません。

Process

処理:どう投げたか

プロンプトは全モデルで同一、1文字も変えていません。

実行手順

1

プロンプトを固定する。

3条件・全モデルへ1文字も変えず投入する。

2

レポートを生成する。

3条件 × 4モデル ×

n≧3

= 36件。

3

照合する。

14項目の数値一致、群A(5点)・群B(3点)の言及、落とし穴P1〜P4が判定される。

4

採点する。

7軸に ◎○△× を付け、判定理由を1行ずつ残す。

条件別の群B指摘数を必ず記録する

——これがこのケースの中心的な数字。

採点スクリプトは実行前に検証済み。 正解どおりのレポートで14/14一致・群A 5/5・群B 3/3・落とし穴ゼロ、 誤答レポートで落とし穴P1〜P4をすべて検出することを確認してあります。 「悪化ではない」のような否定表現を肯定的な主張と誤検出しないよう、否定語の後読み処理も入れました。

Scoring

採点:どう測ったか

採点キーはモデル出力を1件も見ないうちに確定させています。実行後に基準を足したり緩めたりしていません。

Discussion

考察

3条件の設計

プロンプトは3条件で1文字も変えません。差し込むデータだけが違う。

CONDITION L2

集計表だけ

1,010文字

  • 部門×費目のクロス集計
  • 前月との金額比較(生値)
  • 前月比の%は計算されていない

CONDITION L3

+ 事前計算

1,567文字

  • L2の内容すべて
  • 件数前月比の計算済み値
  • 規程違反の照合結果(件数・金額)

CONDITION L4

+ 異常検知

1,882文字

  • L3の内容すべて
  • 機械側で抽出した「注目すべき変化」リスト
  • 抽出ルール:増加額10万円超/規程違反
L1(生の明細)を条件に含めていません。 明細は5月188件・6月216件で合計25,979文字。プロンプトと合わせると約3万文字になり、 検証環境の num_ctx=16384 に収まりません。 経費明細のような明細系データは、そもそも生のままではコンテキストに入らない—— これ自体が実務上の制約で、「集計してから渡す」以外の選択肢が事実上ない、ということです。 生データを渡した場合の精度は検証05(条件A)で測定済み(ローカル3サイズで0〜2.7/19)。

中心的な観測点:下ごしらえのしすぎは起きるか

正解となる指摘を2群に分けました。L4の抽出ルールは「増加額10万円超」と「規程違反」なので、 減っている項目・ゼロになった項目・全社的な小さい変化は、構造的に拾えません。

内容L4の抽出リストに載るか
群A(5点) 各レベルで機械側が渡している情報から直接読める指摘(急増・規程違反) 載る
群B(3点) 費目・部門を横断して初めて見える指摘 載らない

群B — このケースの核心

ID内容根拠
B1 接待交際費が+159.3%と急増する一方、営業部の旅費交通費は+8.1%でほぼ横ばい。 訪問件数の増加が理由なら旅費も連動するはず。連動していない以上「営業活動が活発化した」では 説明がつかず、接待1件あたりの単価か頻度の変化を疑うべき 接待 227,230→589,240円
旅費 258,000→278,850円
B2 開発部の研修費が6月はゼロ(前月327,960円)。最大部門(31名)の教育投資が止まっている。 増加を探す抽出ルールでは検出されない 開発部 研修費
327,960→0円
B3 通信費が全4部門で増加(+30.9%)。部門単位では数千〜1万円台で小さいが、 全社共通の要因(契約変更等)が疑われる 4部門すべてで増加
L4で群Bの指摘が減るなら、「下ごしらえしすぎるとLLMが自分で考えなくなる」ことになります。 その場合、L4は数値精度が上がっても設計としては劣る、という判断がありえます。
逆に群Bを1点も指摘できない条件は、その条件でLLMを使う価値が薄い—— 渡されたものを文章にしているだけで、Excelとテンプレートで代替できるからです。

Files

使用した資料一式

実際に投入したデータ、プロンプト、採点キー、出力の実物です。加工していないため、同じ条件で再現できます。

生成系AI活用、DX推進についてご相談ください

レビュー分析やインサイト生成、戦略支援など、生成系AIの活用やDX推進について幅広く支援いたします。

お問い合わせ