一見すると直感的な方法があります。モデルに誤情報を信じてほしくないなら、訓練データの中にはっきり「これは偽である」と書けばよい、という考え方です。しかし新しい研究は、モデルが否定シグナルを安定して学ぶのではなく、誤った主張そのものを吸収してしまう可能性を示しています。

これは開発者にとって重要です。多くの AI プロダクトでは、ポリシー、制限、反例、誤ったデモ、安全上の注意をデータに入れ、モデルが自分で「これはしてはいけない」と理解することを期待します。しかしモデルが、否定された事実よりも、言及された主張のほうを覚えやすいなら、自然文の警告だけでは安全とは言えません。

痛点:否定文はヒューズではない

人間が「ある主張は誤りである」と読むと、通常は主張と真偽状態を一緒に覚えます。一方、モデルの訓練過程では、文中の重要概念や物語の痕跡を学習し、後で別の質問に対してそれを事実として出力してしまうことがあります。

これは次のような一般的な方法に影響します。

  • 大量の「悪い例」でモデルを fine-tuning する。
  • system prompt に多くの禁止事項を詰め込む。
  • どのデータが古い、または信頼できないかを文書で説明する。
  • モデルが反例から安全境界を自力で推論することを期待する。

これらの方法にはまだ価値がありますが、唯一の防御線にはできません。

ミニアクション

RAG、fine-tuning、agent 評価を行っているなら、次の3つの確認を追加します。

  1. 否定ケースを分けてテストする:誤った主張の変形質問をモデルに投げ、偽情報を真実として扱っていないか確認します。
  2. 構造化ラベルを使う:自然文の警告だけにせず、可能なら claimstatus:falseevidence のような解析可能な項目を使います。
  3. 出力側で検証する:高リスクの事実については、訓練時の注意書きだけに頼らず、引用、検証、refusal ルールを用意します。

結論は単純です。モデルに「信じるな」と伝えることは、モデルが本当に信じないことを学んだという意味ではありません。意思決定に影響する誤情報には、データ層、プロンプト層、検証層で多重の保護を置くべきです。

参考資料