Type: concept
Confidence: 0.95
Created: 2026-04-15
Updated: 2026-04-16
Tags: 技术AI研究AI工程

上下文腐烂

概述

上下文腐烂(Context Rot)是指随着 LLM 上下文窗口中 token 数量增加,模型从上下文中准确召回和推理信息的能力非均匀下降的现象。由 Chroma Research(ChromaDB 母公司)于 2025 年 7 月通过系统性跨模型实验命名、量化和分类,覆盖 18 个主流 LLM。

关键内容

为何 NIAH 基准不够充分

针刺干草堆(Needle In A Haystack, NIAH)是最广泛使用的长上下文基准测试,但存在根本局限: - 本质上是简单词汇检索——将已知句子嵌入无关文本,测试模型能否找回 - 模型在 NIAH 上接近满分,造成"长上下文问题已解决"的错觉 - 真实应用(Agent 任务、摘要、多轮对话)需要语义理解 + 推理,而非词汇匹配

四大实验与核心发现

Chroma Research 控制任务难度不变,仅变化输入长度,系统测量上下文腐烂:

实验一:针问相似度(Needle-Question Similarity)

发现:针(答案)与问题的语义相似度越低,随上下文增长性能退化越快。 - 高相似度(词汇接近):在短输入下表现好,长输入下退化较缓 - 低相似度(需要语义推断):反映真实场景——用户很少使用精确关键词

意义:真实应用中退化程度比 NIAH 测量的更严重,因为实际查询与答案的词汇相似度通常较低。

实验二:干扰项影响(Impact of Distractors)

关键区分: - 干扰项(Distractor):与针话题相关,但不能回答问题(如"我从大学同学那里得到的最糟糕写作建议是……") - 无关内容(Irrelevant Content):与针和问题均无关

发现: - 即使是单个干扰项,也会显著降低性能(相比基线仅有针) - 四个干扰项的影响远大于单个,但影响非均匀——某些干扰项远比其他更具误导性 - 随上下文增长,干扰项的非均匀影响更加放大 - 模型差异Claude 模型幻觉率最低,但面对歧义时更倾向于"弃权"(abstain);GPT 模型幻觉率最高,即使有干扰项也倾向于给出(错误的)确定性答案

实验三:针-干草堆相似度(Needle-Haystack Similarity)

反直觉发现: - 针与干草堆语义相似("融入"背景),模型在 PG 文章干草堆中表现更差 - 语义不相关的针反而更容易被找到(对比更明显) - 但此效应非均匀,在 arXiv 干草堆中未观察到相同规律

含义:上下文内容的语义分布影响模型提取信息的难度,不只是信息是否存在。

实验四:干草堆结构(Haystack Structure)

最反直觉的发现将干草堆句子随机打乱,模型性能反而提升。

推测:结构化文本的连贯逻辑流可能以某种方式影响注意力机制的应用方式,在长上下文中尤为明显——具体机制超出本报告范围,指向可解释性研究方向。

LongMemEval:聚焦 vs. 全量输入

对比两种输入: | | 聚焦输入 | 全量输入 | |--|---------|---------| | 内容 | 仅包含回答问题所需信息(~300 token) | 完整对话历史(~113k token),含大量无关内容 | | 模型任务 | 仅需推理 | 检索 + 推理 | | 性能 | 跨所有模型显著更好 | 跨所有模型显著下降 |

结论:将检索(从长上下文中找相关信息)和推理(基于信息回答问题)合并为一次调用,会显著降低两者的质量。最佳实践是尽量为模型预先过滤,只提供相关信息。

Claude 特有行为:面对全量输入中的歧义性更倾向于"无法从对话历史中确定答案"(弃权),导致 focused vs. full 的性能差距在 Claude 模型中最为明显。

重复单词任务(Repeated Words)

验证极简场景:要求模型精确复制一段由重复词组成的文本(含一个特殊词)。

发现:即使是如此简单的任务,随输入+输出长度增长,性能也一致退化: - 序列长度 < 250 词时,所有模型表现良好 - 超过 2500-5000 词后,模型开始: - 生成随机词汇(不在输入中的词) - 无法精确复现特殊词的位置 - 过度生成或不足生成词汇量

意义:上下文腐烂不是复杂推理问题的专属现象,连简单的序列复制在足够长的输入下也会失败。

核心结论

信息是否存在于上下文中不是最重要的;更重要的是信息如何被呈现。——Chroma Research

对系统设计的含义

来源

相关