【要約】LLMに数えさせてはいけない [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
筆者が野球の采配分析システムを開発中、LLMが根拠のない統計数値を生成する問題に直面した。
- ・LLMに「集計」と「文章化」を同時に依頼したことで、もっともらしい嘘が出力された。
- ・出力が自然な日本語であるため、人間による目視検証が困難で、検証コストが生成を上回る。
- ・母数が不十分な段階で集計を行うと、統計的に誤った結論を導くリスクがある。
// Approach
筆者はLLMの役割を「文章化」に限定し、計算処理をPython側に切り出す設計変更を行った。
- ・集計・比較・判定などの「答えが一意に決まる処理」をすべてコードへ移行した。
- ・LLMには確定済みの事実のみを渡し、文章への織り込みに専念させた。
- ・本文中の数値と素材データを照合するチェックスクリプトを実装し、機械的に検証した。
- ・数値単体ではなく「数値+助数詞」のペアで照合し、文脈の異なる数値を区別した。
// Result
筆者は設計変更と検証精度の向上により、数値の捏造を未然に防ぐ体制を整えた。
- ・数値と助数詞のペアで照合する方式により、文脈の異なる数値の誤検知を防いだ。
- ・「確定した」という前提そのものを疑う設計思想を確立した。
- ・検証器の警告により、筆者自身の不正確な記述も修正可能となった。
Senior Engineer Insight
> LLMを「計算機」ではなく「言語処理器」として厳格に分離する設計が不可欠である。検証コストが律速となる自動化は、実運用において破綻する。検証ロジック自体が「確定していない前提」に基づかないよう、多層的な疑いを持つ設計が求められる。