基礎 レッスン 3 / 5

なぜ長くなると精度が下がるのか

「必要な情報を全部入れたはずなのに、AIが重要な部分を無視してしまった…」 こんな経験はありませんか?

生成AIに大量のコンテキストを与えると、一見よく理解しているように見えても、重要な情報が抜け落ちることがあります。 これは決してバグではなく、モデルの「注意の分布の仕組み」が原因です。

注意力の偏り──「Lost in the Middle」

生成AIの注意力は、コンテキスト全体で均等に分配されるわけではありません。 研究や観察では、次のような分布傾向が見られます:

コンテキスト全体での注意力の分布

最初(高い注意力) 中間(低い注意力) 最後(高い注意力)

これは「Lost in the Middle(中間で迷子)」と呼ばれる現象です。

なぜ注意が偏るのか? —— 人間との類似

これは人間の注意力にも似ています。 例えば、誰かが長いリストを読み上げたとして、最初の数個と最後の数個は覚えていても、中間の項目は忘れやすいですよね。 これは記憶の失敗ではなく、注意力の自然な偏りです。

同じように AI も、テキストの冒頭結末には強く注意を向けますが、 中間部分には注意が行きにくくなる傾向があります。

「アクセスできる」と「活用できる」は別物

実例:配置で精度が変わる

理論だけでなく、実際のプロンプトで違いを見てみましょう。

悪い例:重要な制約が中間に埋もれている

以下のコードをレビューしてください。
[500行のコード...]
※TypeScriptの型エラーは無視して、ロジックのみ確認
[さらに200行のコード...]
よろしくお願いします。

→ 「型エラーは無視」という指示が中間に埋もれ、見落とされやすい

良い例:重要な制約を冒頭と末尾に配置

【重要】TypeScriptの型エラーは無視し、ロジックのみ確認してください。

以下のコードをレビューしてください。
[700行のコード...]

再確認:型エラーではなく、ロジックの問題点を指摘してください。

→ 重要な制約が冒頭と末尾にあり、確実に注意が向く

AI は、コンテキストの全情報にアクセスできます。 しかし、それを等しく注意深く扱い、応答に反映できるかは別です。 つまり、情報がそこにあるからといって、必ずしも回答に影響を与えるわけではありません。

実践的な影響と対策

この注意の偏りは、プロンプト設計やコンテキスト設計に大きな影響を与えます。 以下のポイントを押さえると、より精度の高い回答が得られやすくなります。

重要情報は「始め」か「終わり」に置く

AI は冒頭と結末に高い注意力を向けるため、重要な条件や要件はプロンプトの最初か最後に配置しましょう。

中間に埋め込まない

長いコードブロックや説明文の中間部分に重要な情報を埋め込むと、見落とされやすいです。

コンテキストは「短く集中させる」ほど精度が上がる

興味深いことに、短く絞ったコンテキストの方が精度が高いケースは珍しくありません。 例えば、5,000 トークン程度に要点を整理したプロンプトが、50,000 トークンを与えた場合より高精度になることがあります。

長い場合は重要条件を繰り返す

どうしてもコンテキストが長くなる場合、最初に重要点を置き、途中で簡潔に要約を挟み、最後に再度重要点を繰り返すといった工夫が精度向上に役立ちます。

「コンテキストが長いから良い回答が返ってくる」というのは必ずしも真実ではありません。 短いことは効率的なだけでなく、より正確です。

重要なポイント

  • 注意力は最初と最後に偏る
  • 中間の情報は無視されやすい
  • 情報は冒頭・結尾・繰り返しで補強する
  • 必要に応じてコンテキストを短く・明確に整理する