生成系AIが正しいナレッジカットオフを答えない理由
- POST
はじめに 生成系AI(LLM:Large Language Model)を使っていて、「あなたのナレッジカットオフは?」と聞いたときに、明らかに間違った日付を返されたことはありませんか?
例えば、Redditのユーザー報告によると、Geminiに英語で「今日の日付は?」と聞くと「2024年6月11日」と答えることがあるそうです。これは一見すると単純なバグのように見えますが、実はLLMの構造的な特性によるものです。
この記事では、AIの「ナレッジカットオフ」と「トレーニングカットオフ」の違い、そしてなぜAIが現在の日付について虚偽の報告(hallucination)をしてしまうのかを解説します。
ナレッジカットオフとトレーニングカットオフの違い まず、2つの重要な概念を理解する必要があります。
トレーニングカットオフ(Training Data Cutoff) トレーニングカットオフとは、AIモデルの学習に使用されたデータの最終日付です。例えば:
あるモデルが「2025年7月までのデータ」で訓練された場合、トレーニングカットオフは2025年7月となります この範囲内のデータは、すべてモデルの学習に使用されたことを意味します ナレッジカットオフ(Reliable Knowledge Cutoff) 一方、ナレッジカットオフは、モデルの知識が最も広範で信頼できる日付を指します。
トレーニングデータに含まれていても、すべての情報が同じレベルで学習されるわけではありません モデルが最も確実に知識を持っているのは、ナレッジカットオフまでの情報です 具体例:Claude Sonnet 4.5 Anthropicの透明性レポートによると、Claude Sonnet 4.5は以下のように定義されています:
トレーニングカットオフ: 2025年7月 ナレッジカットオフ: 2025年1月 つまり、7月までのデータで訓練されていますが、最も信頼できる知識は1月までということです。これは、後半のデータが学習に含まれていても、その範囲の情報はまだ十分に網羅的ではない、または検証が不十分であることを示しています。
なぜAIは今日の日付を間違えるのか システム時刻へのアクセスがない LLMは、リアルタイムのシステム時刻にアクセスできません。これが問題の根本原因です。
通常のプログラムであれば、OSのシステム時刻APIを呼び出せば現在の日付を正確に取得できます。しかし、LLMは以下の理由でこれができません:
純粋な言語モデル: LLMは入力されたテキストに基づいて次のテキストを予測するだけ 外部APIへのアクセス制限: セキュリティやアーキテクチャ上の理由で、外部システムへの直接アクセスは制限されている 学習データからの推論: 「今日は何日ですか?」という質問に対して、学習データ内のパターンから「それらしい答え」を生成してしまう トレーニングデータの模倣 LLMは、学習データ内に含まれる「今日は〇〇年△△月××日です」という記述を模倣して答えを生成します。
例えば:
学習データに「今日は2024年6月11日です」という記述が多く含まれていた場合 モデルは「今日の日付を聞かれたら、2024年6月11日と答えるのが適切」と学習してしまう可能性がある これは、モデルが意図的に嘘をついているのではなく、学習データのパターンを忠実に再現しようとした結果です。
Hallucinationのメカニズム この現象は、AIの「hallucination(幻覚、虚偽の報告)」の一種です:
学習データ内の日付の分布: 学習データ内で最も頻繁に「今日」として言及された日付 パターンの強化: 訓練中に繰り返し学習された日付が強く記憶される 現実との乖離: 実際の現在日とは無関係に、学習データのパターンを再現してしまう 実例:各AIモデルの状況 Gemini(Google) Redditの報告によると: