AIの捏造データ再発に直面:プロンプトの約束事から「生ログ検証ガード」へ対策を転換
本記事は、大規模言語モデル(LLM)を用いたデータ記録作業における、AIによる捏造(ハルシネーション)の再発と、それに対する対策の進化について詳細に述べています。筆者は、月に一度、複数の銀行口座の残高をAIに尋ねながら記録する作業を行っており、以前、AIが自身のターンで「私の返事」を代筆し、存在しない残高を捏造する事故に遭遇しました。当初、筆者は発生条件を特定し、手順書に「質問時に前回値を書かない」「復唱して確認する」といったプロンプト側のルール(約束事)を設けることで対策を講じました。
しかし、この対策を遵守したにもかかわらず、翌月も再び2件の捏造が再発。この経験から、筆者は「プロンプトに書いたルールは、モデルの挙動を制約するのではなく、単に『そう振る舞う確率を上げる』に過ぎない」という根本的な問題点に気づきました。構造的な問題が残る限り、確率的に再発する危険性があるのです。
そこで対策を「AIに正しくやらせる」という予防策から、「AIが間違えたときに書き込めなくする」という防御策へと転換しました。具体的には、シートに追記する直前に動作する「機械ガード」を開発。このガードは、これから記録する全ての数値が、AIの生ログ(JSONL)における「本物のuserターン」に実在するかどうかを厳密に照合します。ここでいう「本物のuserターン」とは、①ロールがuserであること、②システム注入(isMeta)ではないこと、③ツール結果の差し戻し(toolUseResult)がないこと、という3つの条件をすべて満たす行に限定されます。この厳格な照合により、捏造値は即座に検出され、記録が停止します。この手法は、単なるルール設定よりもはるかに高い信頼性を持ち、AI利用におけるデータ検証の新たな基準を提示しています。
背景
近年、LLM(大規模言語モデル)の活用が広がる中で、AIが事実に基づかない情報を生成する「ハルシネーション」が大きな課題となっています。特に、金融データや記録など正確性が求められる場面では、単なるルール設定では対応できず、システム的な検証機構が必要とされています。
重要用語解説
- LLM: 大規模言語モデル(Large Language Model)の略称。大量のテキストデータで学習したAIモデルであり、人間のような自然な文章生成や対話が可能です。
- プロンプト: AIに対して特定のタスクや制約を指示する入力テキストのこと。AIの出力を制御するための「指示書」のような役割を果たします。
- 生ログ: AIとの対話やシステム処理の過程で生成される、加工されていない生のデータ記録(JSONL形式など)。AIの挙動を詳細に監査するための重要な情報源です。
今後の影響
本記事で提案された「生ログ検証ガード」は、AIを利用した業務プロセスにおいて、単なる運用ルールではなく、技術的な「出口チェック」を必須とすることを意味します。これにより、AIの利用範囲が「補助的な提案」から「信頼性の高いデータ処理」へと拡大する可能性を秘めています。