Context Rot (上下文腐爛)

Context Rot: How Increasing Input Tokens Impacts LLM Performance · Chroma
Chroma 2025 年 7 月發表的技術報告

一句話結論:LLM 並不會均勻處理 context。輸入越長,模型表現越差,而且下降方式是「不均勻」的。

Pasted image 20260420122103.png


前置知識

Needle in a Haystack(NIAH)

經典的長 context 評估方法:把一句「答案句(needle)」藏在一大段無關文字(haystack)裡,問模型能不能找出來。
相關角色:

  • needle:正確答案句
  • haystack:包住 needle 的長文
  • distractor:跟 needle 長得很像但答案不對的干擾句
為什麼這件事重要?

大家普遍假設 LLM 的 long-context 能力「只要 context window 夠長就能處理好」。
Chroma 這篇的核心挑戰就是:context window 長 ≠ 模型真的能均勻利用。


1. 核心發現

① 輸入越長,效能越差

即使是最簡單的 NIAH 任務(直接找一句話),context 變長後準確率也會掉。
不是慢慢掉,而是不均勻地掉

② Needle 跟問題的「語意相似度」很關鍵

白話:模型比較擅長「字面比對」,字面對不上就會開始漏。

③ Distractor 的影響因模型而異

放一些跟 needle 類似但錯的句子:

同樣 context 長度下,不同模型的失靈模式差很多

④ Haystack 的結構本身也會影響


2. 為什麼會「腐爛」

context 短          →  模型能聚焦,精準抓到證據
context 中          →  開始出現「看得到但抓不穩」
context 長          →  相關資訊被稀釋,長距離依賴斷裂
context 超長 + 干擾  →  模型容易選錯證據,推理出錯

關鍵觀念:

「看得到」不代表「還能穩定抓重點」。

Context 一長,模型容易失焦,開始更難:


3. 對實務的啟示

Context Rot 直接推動了 context engineering 這個做法:

不是

而是

相關延伸閱讀:Effective context engineering for AI agents

和 RAG / memory 設計的關係

Context Rot 是很多 memory 架構(如 MemGPTDH-RAG)存在的根本理由之一:
如果長 context 能穩定運作,我們根本不需要額外的記憶管理;正因為會「腐爛」,所以才要 paging / retrieval / summarization。


4. 一句話理解

Context Rot=context 越長,模型越容易失焦,導致召回、理解與推理能力逐步退化。
這不是均勻下降,而是受 needle-question 相似度、distractor、haystack 結構等多重因素非均勻影響。


Sources


跨論文比較(Lost in the Middle / NoLiMa / RULER / 實務判斷指南)→ Context Rot — LLM 越長越懂嗎

Powered by Forestry.md