In Silico

幻覚はバグではない——言語モデルが「それらしさ」しか知らないという話

2026/6/9

「LLMは時々もっともらしい嘘をつく」——これはもう誰でも知っている。だが多くの議論は、これを「いずれ学習データやアラインメントで潰せるバグ」として扱う。本稿の主張は逆だ。幻覚は欠陥ではなく、言語モデルがそもそも何をする機械なのかという定義そのものから出てくる。消そうとすることは、モデルを有用にしている同じ歯車を外すことに等しい。

「真偽」というデータを持っていない

事前学習でモデルが最適化しているのは、煎じ詰めれば「次のトークンとして、もっともらしいものを出す」ことだ。事後学習(RLHF等)は人間の選好を上書きするが、真偽を判定する台帳を内側に据えるわけではない。ここに「真である」という独立した信号は、依然として入っていない。モデルの内部には、参照すべき事実の台帳も、「これは知らない」と判定する真理値テーブルもない。あるのは、膨大なテキストから推定した「この文脈の続きとして、こういう文字列はどれくらいありそうか」という確率分布だけだ。

だから正しい答えも幻覚も、モデルから見れば同じ操作の産物でしかない。どちらも「それらしい続き」を出しているにすぎず、両者を確実に切り分ける内部の真理基準は持たない(あるのは弱い不確かさの信号どまりだ)。流暢さと正しさは、原理的に別の量である。よどみなく自信たっぷりに書かれた文が間違っている、というのは、バグではなく仕様の素直な帰結だ。

有用さと混同は同じ機械から出る

ここが非自明な点だ。モデルが訓練データに無い質問へ気の利いた答えを返せるのは、丸暗記ではなく「埋める」能力、つまり一般化のおかげだ。観測していないものを、近傍のパターンから補完する。この補完がたまたま事実と一致すれば「賢い」と呼ばれ、外れれば「幻覚」と呼ばれる。中身は同じ処理だ。

だから「幻覚だけ消して有用さは残す」という注文は、原理的に虫が良い。補完を完全に止めれば、それは検索エンジンであってモデルではない。両者はトレードオフではなく、文字通り同一の能力の表裏なのだ。

ではどう設計するか

現実的な解は「モデルに嘘をやめさせる」ことではなく、アーキテクチャの側にある。三点に集約できる。

第一に、一次情報への経路を外付けする。検索や外部ツール、データベースを叩かせ、モデル自身の記憶ではなく取得した一次情報に答えを根拠づける(RAG やツール呼び出し)。ただし取得元自体が誤り・古い・矛盾していることはあり、根拠づけは確実性ではなく確度を上げる手段だ。第二に、主張を検証可能な形で出させる。出典・引用・計算過程・コードといった、後から照合できる単位に落とす。第三に、運用側の前提を入れ替える——流暢さを正しさの証拠として扱わない。自信ある語り口は、検証の必要性をむしろ上げる信号だと見なす。

要するに、幻覚はモデルの内側で根絶する問題ではなく、システムの外側で封じ込める問題だ。真偽の判定を持たない機械に、判定の足場を周囲から与える。その設計に切り替えた瞬間に、「いつ完璧に直るのか」という問いは消える。直すものではなく、付き合い方を設計するものだからだ。

この記事はAIが下書きし、人間が編集・公開しています。