LLM(大規模言語モデル)は、構造上どうしても「嘘(ハルシネーション)」をつく。
チャットボットの嘘なら笑い話で済む。だが、工場の設備監視で「ベアリングが破損している。即時停止せよ」というAIの自信満々な嘘を信じてしまったら…。ビジネスの現場にAIを導入するなら「ハルシネーションが起きないようにお願いする」のではなく、「構造的に嘘がつけない設計」が不可欠だ。
❌ なぜAIは嘘をつくのか?
最大の原因は、プロンプトで「データの分析・原因の推定・対策の提案」までを一気にやらせていることにある。AIの中で「どこまでが事実で、どこからが推測か」が混ざった状態で出力されるため、もっともらしい嘘が生成されてしまう。
⭕ 解決策:出力を「3つの層」に分離する
優秀なエンジニアが報告するように、AIの出力も情報の確実性に応じて[状況] [推定] [推奨]の3層に明確に分離する。
3層分離アーキテクチャのデータフロー
1. 入力 (DATA SOURCES)
センサー・ML分析
異常スコア、現在の数値
外部知識データベース
初期知識(マニュアル)
経験ストア(過去実績)
2. 処理 (LLM)
自然言語化 のみ
➔
内容の引用 のみ
(発明・推論禁止)
(発明・推論禁止)
➔
3. 出力 (OUTPUT)
[状況]
数値を翻訳した事実
[推定]
外部知識からの推測
[推奨]
実績・マニュアルに基づく提案
そして最も重要なのは、AIが勝手に情報を「発明」することを構造的に禁止することだ。
[状況] = データの事実だけを翻訳させる
- 役割: センサーやMLの数値を、人間が読みやすい日本語に変換するだけ。
- ルール: 予測や「おそらく」という修飾語は絶対に追加させない。
- 出力例: 「Z軸の振動が24時間かけて上昇している(4.2mm/s)」
[推定] = 「ソースありき」で推測させる
- 役割: 「初期知識(マニュアル)」か「経験ストア(過去の実績)」から原因を引用する。
- ルール: どちらのデータにも該当しない場合は、勝手に原因を作らず「初めてのパターンである」と正直に言わせる。
- 出力例: 「過去2回、同パターンでグリス不足が原因だった(※過去の経験に基づく推定)」
[推奨] = 実績に基づくアクションだけを提案させる
- 役割: 過去にうまくいった対応か、マニュアルに沿った行動だけを提示する。
- ルール: AI自身に「次に何をすべきか」を推論させない。
- 出力例: 「前回はグリスアップで改善した。次回の計画停止での実施を推奨する」
まとめ – 制約が、AIの品質を高める
この設計のキモは「LLMが一番得意なこと(=構造化データの自然言語化)」だけに集中させることだ。数値の分析や判断は、外部のデータベースやMLに任せ、LLMにはその「翻訳」だけを担当させる。これだけで、ハルシネーションの実害は目に見えて低下する。


コメント