Chroma:上下文退化-增加輸入 Tokens 長度對 LLM 性能的影響
Chroma發現,即使是最先進的LLM在處理長輸入時也會出現性能不一致的"上下文退化"問題。通過測試主流模型發現,隨著輸入長度增加,模型性能持續下降。長上下文能力不僅是技術指標,更是需要精心設計的系統工程。
1. 現有評估基準的局限性
1.1 大海撈針測試的不足
2. 擴展后的測試方案
3. 測試項目
3.1 針與問題的相似度對性能的影響(Needle-Question Similarity)
3.2 干擾項對性能的影響(Impact of Distractors)
3.3 針與草堆的相似度對性能的影響(Needle-Haystack Similarity)
3.4 草堆的結構對性能的影響(Haystack Structure)
3.5 長記憶評估(LongMemEval)
3.6 重復的詞語(Repeated Words)
4. 測試結果(性能退化的普遍性)
5. 結論(上下文工程的重要性)
在人工智能快速發展的今天,大型語言模型(LLM)的上下文窗口長度已經成為衡量模型能力的重要指標。
從早期的幾千個token到現在的數百萬token,模型處理長上下文的能力正在不斷提升。
并且在常用的Needle in a Haystack (NIAH) 測試中,各大模型的表現都非常完美。
2025年7月14日,Chroma公司最新發布了一份技術報告《Context Rot: How Increasing Input Tokens Impacts LLM Performance》,報告發現了一個需要思考的現象:
即使是最先進的LLM,在處理長輸入時也會出現性能不一致的問題。
這項研究評估了18個主流LLM模型,包括最新的GPT-4.1、Claude 4、Gemini 2.5、Qwen3等,在這些模型中都發現了一個共同的問題,就是上下文退化(Context Rot)。
正如報告中所指出的:"模型并不能均勻使用其上下文,而是隨著輸入長度增長,性能變得越來越不可靠。"
Chroma 或 ChromaDB 是一個專為大型語言模型應用設計的開源向量數據庫。
支持向量、全文、正則表達式及元數據搜索。可在本地開發,并擴展至云端 PB 級存儲。采用對象存儲支持。提供無服務器搜索與檢索功能,確保快速、經濟且可靠
2023 年 4 月,該公司成功獲得了 1800 萬美元的種子輪融資。
1. 現有評估基準的局限性
1.1 大海撈針測試的不足
目前最廣泛使用的長上下文評估基準是 "大海撈針"(Needle in a Haystack, NIAH) 測試。
這個測試將一條隨機事實("針")放在長上下文窗口("干草堆")的中間,然后詢問模型關于這個事實的問題。
然而,NIAH本質上是一個簡單的檢索任務,
這種測試方法存在明顯的局限性:
- 過于簡單:只涉及直接的詞匯匹配
- 缺乏語義理解:不需要復雜的推理能力
- 脫離實際:不能反映真實應用場景的復雜性
"大海撈針"(Needle in a Haystack, NIAH)的測試方法
2. 擴展后的測試方案
在實際應用中,如智能體任務或摘要,需要對更廣泛、通常更模糊的信息進行更多的處理和推理。
僅僅能夠在大海中找到一根針是不夠的。
真實世界的長上下文任務往往需要:
- 復雜的語義理解
- 多層次的推理
- 處理模糊和矛盾的信息
- 整合來自不同來源的信息
比如:
問題:哪個角色曾經到過Helsinki?
回答:Yuki住在Kiasma博物館隔壁。為了回答這個問題,模型首先需要知道Kiasma博物館位于Helsinki,并建立這種潛在的聯系。這不僅測試了模型非詞匯匹配的能力,還測試了它的世界知識。
這種非詞匯匹配的針-問題(需要模型推斷潛在關聯)對模型來說更具挑戰性。
模型在處理任務時還需應對干擾項,這些干擾項與針主題相關但不能完全回答問題,而無關內容則與針和問題都不相關。當前的模型在不同輸入長度下的抗干擾能力尚未得到充分測試。
NIAH任務中草堆內容本身對任務性能的影響也是一個未被充分研究的領域,因為通常草堆只是被視為擴展輸入長度的手段,而未考慮其內容對模型的影響。
于是Chroma針對以上幾個局限性,做了相應的測試優化,來評估不同情況下對模型的性能影響。
測試涵蓋了當前主流的LLM模型:
Anthropic系列:Claude Opus 4、Claude Sonnet 4、Claude Sonnet 3.7/3.5、Claude Haiku 3.5
OpenAI系列:o3、GPT-4.1系列(標準版、mini、nano)、GPT-4o、GPT-4 Turbo、GPT-3.5 Turbo
Google系列:Gemini 2.5 Pro/Flash、Gemini 2.0 Flash
Alibaba系列:Qwen3-235B-A22B、Qwen3-32B、Qwen3-8B
3. 測試項目
3.1 針與問題的相似度對性能的影響(Needle-Question Similarity)
在實際應用中,模型往往需要處理模糊任務,識別相關信息,而無需依賴精確的詞匯匹配。
例如,當Agent被賦予一個需要搜索大量語料庫的任務時,用戶很少會為相關部分指定精確的關鍵詞,相反,模型必須推斷相關性。
隨著針-問題相似度的降低,模型性能會隨著輸入長度的增加而更加顯著地變差。這更符合現實情況,即精確的問題-答案匹配非常罕見,而語義上的模糊性使得長輸入處理變得更加困難。
測試結果
對于相似度較低的針-問題,隨著輸入長度的增加,性能會更快地下降。
在測試了 11 個不同的針位置后,性能沒有出現明顯的變化。
藍色:高相似性; 紅色:低相似度
3.2 干擾項對性能的影響(Impact of Distractors)
干擾項會損害模型的性能,且影響程度不一。輸入長度增加后,模型的抗干擾性是否仍然有效?
測試進行三種測試條件
- 無干擾(基線):只有針
- 單一干擾項:針+ 一個隨機放置的干擾項
- 多個干擾項:針和所有四個干擾項隨機分布在干草堆中
干擾項的影響 - 三種情況
測試結果
與基準(僅針)相比,即使一個干擾項也會降低性能,而添加四個干擾項會進一步加劇這種性能退化。
干擾項的影響:根據干擾項數量劃分的性能表現
3.3 針與草堆的相似度對性能的影響(Needle-Haystack Similarity)
針-草堆 的相似性是否會影響任務難度?直觀上,如果針與草堆內容混為一體,模型提取針的難度可能會增加。
針-草堆相似度實驗
測試結果
這個測試,沒有得出 “針和草堆越相似,模型表現就越差” 這樣的結論。
但是看到模型在處理長上下文時并不穩定:維持任務結構和針與問題的相似度都保持不變,在調整針和草堆之間的語義相似度后,發現結果就會發生變化。
這個測試項目,還需要在以后的長上下文評測里進一步深入研究。
針-草堆相似度測試結果
3.4 草堆的結構對性能的影響(Haystack Structure)
為了評估文檔結構的影響,測試兩種情況:
- 原始內容:保持每個文檔的自然流暢性
- 句子被隨機打亂,在整個文本中重新排序,以保持相同的大致主題,但缺乏邏輯連貫性
草堆(Haystack)結構示例
測試結果
在所有 18 個模型和針-草堆配置中,模型在處理打亂順序的草堆時,表現通常優于邏輯結構化的草堆。
原始與順序打亂的草堆(Haystack)在18個模型上的平均性能
3.5 長記憶評估(LongMemEval)
為了將“記憶”功能集成到聊天助手中,一種簡單的方法是將完整的聊天歷史記錄包含在后續聊天的提示中。
這要求模型在一次調用中執行兩個任務:檢索對話歷史記錄的相關部分,然后將這些相關內容以有用的方式綜合起來。
在理想情況下,模型只需處理相關內容,從而能集中精力進行推理。若加入不相關的上下文,模型不僅需要識別哪些是相關內容,還需同時處理兩個任務,這無疑增加了其負擔。
通過兩種條件進行驗證
- 輸入內容集中,僅包含相關部分,這樣模型只需進行簡單的推理。
- 完整輸入,使用了包含無關上下文的全部輸入。在這種情況下,模型除了推理外,還需要在長上下文中進行檢索。
測試結果
在所有模型中,發現使用相關性的提示,表現明顯優于全面的提示。
長記憶評估結果:Claude系列長記憶評估結果 - Qwen 系列
3.6 重復的詞語(Repeated Words)
由于這些模型是自回歸的,模型的輸出也屬于其輸入;每個Token都是在輸入和已經生成的Tokens的條件下生成的,如果輸出長度也隨輸入長度變化,情況會怎樣?
使用一個簡單的程序,要求模型復制一個由重復單詞組成的序列,并在特定位置插入一個獨特的單詞。提示明確要求模型精確復現輸入文本,類似這個提示:
Simply replicate the following text, output the exact same text: apple apple apple apple apples(這個地方不一樣) apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple apple測試結果
即使是這些簡單的任務,隨著上下文長度的增加(包括輸入和輸出長度),模型性能也會變得不均勻

4. 測試結果(性能退化的普遍性)
在所有實驗中,隨著輸入長度增加,模型性能都出現了持續下降。
- 針與問題的相似度越低,性能下降速度越快。
- 不同干擾項帶來的影響不一樣,有的特別讓模型分心,有的影響沒那么大。當輸入越長、干擾項越多時,模型的性能下降得更明顯,而且不同模型在應對這些干擾時的表現方式也不一樣
- 針與草堆的相似度對模型性能沒有統一的影響,需要進一步的研究。
- 草堆的結構可能會影響模型對長文本輸入的思考方式。
現實世界的應用通常涉及更大的復雜性,這意味著輸入長度的影響在實踐中可能更加明顯。
5. 結論(上下文工程的重要性)
LLMs 在不同上下文長度下表現是不穩定的,即便在簡單任務中也如此。
信息在模型上下文中呈現的位置和方式對任務性能有顯著影響,因此,上下文工程是未來優化模型性能的一個重要方向。
即精心構建和管理模型的上下文窗口。
Whether relevant information is present in a model's context is not all that matters; what matters more is how that information is presented.(相關信息是否存在于模型的上下文中并不是最重要的;更重要的是如何呈現這些信息。)
我們忽視了一個基本事實:
長上下文能力不僅僅是技術指標,更是一個需要精心設計和管理的系統工程。
原文
??https://research.trychroma.com/context-rot??
本文轉載自??AI取經路??,作者:AI取經路

















