Skip to content

🌐 English

Context Rot(文脈腐敗)— トークンが増えると出力品質が低下する ​

NOTE

一言で言うと: LLM の入力トークン数が増えるにつれて、出力品質が劣化する現象。
200K トークンの容量があっても、50K トークンで既に劣化が始まる。
エラーにならないため気づきにくい、LLM 最大の構造的制約。

Context Rot とは何か ​

Context Rot とは、入力長が増えるごとにパフォーマンスが低下する現象である。

Chroma の 2025 年研究で、GPT-4.1 や Claude Opus 4 など 18 のモデル全てで確認された。重要なのは、これがコンテキストウィンドウのオーバーフロー(容量超過)ではないということ。200K 容量のモデルが 50K トークンで既に劣化する。エラーにならないため気づきにくいのが特徴である。

3つのメカニズム ​

Context Rot は単一の現象ではなく、3つの異なるメカニズムの複合である。

1. Lost in the Middle(中間部の情報喪失) ​

LLM は先頭と末尾のトークンに強い注意を向ける一方、中間部への注意は著しく低下する(U字カーブ)。50%を超えるとU字カーブが変化し、直近トークン優先になる。

→ 詳細は Lost in the Middle を参照

2. Attention Dilution(注意の希薄化) ​

Transformer の自己注意機構は O(N²) のペアワイズ計算を行う。トークン数が 10 倍になると処理ペアは 100 倍に増加し、個々のトークンへの注意が相対的に低下する。

3. Distractor Interference(妨害情報の干渉) ​

無関係だが類似した情報が入力コンテキストに含まれていると、モデルはそれを本題と区別できずに誤った出力を返す。Chroma の実験では、妨害情報が 1 件あるだけで正答率が下がり、件数が増えるほど低下した。さらに、文脈として一貫した入力テキスト(論理的なつながりを保った haystack)のほうが、文をシャッフルしたものより成績が悪かった。つながりのある文章は妨害情報と本題の境界が見えにくくなるためである。コーディングでは特に深刻で、類似した関数名やインポート文が干渉を引き起こす。

NOTE

これは 入力側 の現象である。「JSON などの出力フォーマットを強制すると精度が下がる」という話は出力側の別の論点であり、出力フォーマット制約と精度 で扱う。

セマンティック理解への影響 ​

Context Rot はコーディングタスクで最も深刻になる。コードの理解には広い文脈のセマンティック理解が必要であり、変数の追跡、依存関係の把握、設計パターンの認識が全てコンテキスト長に依存するためである。

定量的な根拠 ​

モデル短コンテキスト精度長コンテキスト精度低下幅
GPT-4.1高中有意な低下
Claude Opus 4高中有意な低下
全18モデル--全モデルで確認

IMPORTANT

品質低下の主因は「LLM が賢くない」ことではない。入力の設計にある。

Claude Code での対策 ​

以下は Claude Code における代表例である。

対策仕組み対応するメカニズム
/compact会話履歴を要約・圧縮し、トークン数を削減Attention Dilution, Distractor Interference
/clearセッションをリセットし、新鮮なコンテキストで再開全メカニズム
CLAUDE.md 200行制限常駐コンテキストの消費量を最小化Attention Dilution
.claude/rules/条件に一致する時だけルールを注入Distractor Interference
Skills必要な時だけ専門知識を展開Attention Dilution, Distractor Interference
Agents独立したコンテキストウィンドウで実行全メカニズム(根本的回避)
Hooksコンテキスト外で機械的に検証Context Rot の影響を受けない
MCP Tool Searchツール定義を遅延ロードAttention Dilution

関連する構造的問題 ​

この制約は Claude に限らない ​

Context Rot は特定の製品の欠陥ではない。Transformer 系のモデルが長い入力を処理する際に共通して現れる現象である。プロンプトが長くなるほど、会話履歴が蓄積するほど、クラウド LLM でも出力品質の低下が観察される。本質は入力の長さと注意の配分にある。

他の環境での現れ方の例:

  • チャットの履歴が増えると、途中の合意が後の応答に反映されなくなる
  • 長い仕様やログを一度に貼ると、本題と無関係な類似情報が干渉する
  • 表示上の容量が残っていても、品質はその前に落ち始める

同じ粒度の機能が他ツールに揃っているとは限らない。製品に依存しない原則は Part 11: 他LLMへの応用 で抽出する。

参考文献 ​

  • Hong, K., Troynikov, A., & Huber, J. (2025). "Context Rot: How Increasing Input Tokens Impacts LLM Performance." Chroma Research. research.trychroma.com — 18モデルでの Context Rot 定量測定

次へ: Lost in the Middle

Discussion: #6 Context Rot

Released under the CC BY 4.0 License.