返回 Ultralytics 词汇表
Context Rot
了解什么是上下文退化 (context rot),为什么过长的 AI 输入会降低可靠性,以及检索、压缩和 YOLO26 工作流如何改善上下文工程。
上下文衰减是指当 AI 模型接收到的上下文超过其有效处理能力时,可靠性逐渐下降的现象。即使广告中宣传的 上下文窗口 在技术上可以容纳数十万个 token,但随着输入内容增加,大语言模型 可能会忽略相关事实、不遵循过时的指令,或推理准确度下降。2025 年的一项 Chroma 上下文衰减研究 在 18 个模型和多项对照任务中观察到了这种不均匀的性能表现。(trychroma.com)
Link to this section上下文衰减是如何发生的#
长输入对模型的 注意力机制 提出了更高的要求。重要的证据必须与重复的指令、无关文档、工具输出以及较早的对话轮次进行竞争。上下文位置、语义相似度、冲突的事实以及任务复杂度都会影响模型的判断。
2024 年的 RULER 长上下文基准测试 发现,在简单检索任务中表现良好的模型,随着序列长度和任务复杂度的增加,性能往往会下降。2025 年的 NoLiMa 基准测试 表明,当寻找答案需要语义推理而非仅仅是匹配相同单词时,性能下降更为明显。因此,不存在一个通用的 token 数量(包括 Gemini 模型在内)作为上下文衰减的起点;阈值取决于模型、提示词结构和具体任务。(arxiv.org)
Link to this section现实世界中的示例#
- 客户支持助手: 给聊天机器人提供多年的工单记录,可能会导致它优先考虑过时的政策,或错过最近的账户更新。利用 LongMemEval 对话记忆 和多模态 LoCoMo 基准测试 的研究表明,提取、更新和推理长交互历史记录仍然是一项挑战。(arxiv.org)
- 视觉检测智能体: 如果将每一帧图像、检测结果和维护日志都放入一个提示词中,监控工厂的 视觉语言模型 的可靠性就会降低。更好的工作流程是使用 Ultralytics YOLO26 在进行语言模型推理之前提取简洁的视觉事实。
- 编码智能体: 加载整个代码库、每个工具定义以及完整的终端历史记录可能会掩盖当前的目标。Anthropic 的上下文工程指南 建议精心策划上下文,而其 智能体技能方法 则仅在需要时加载详细资源。(anthropic.com)
这个 YOLO 预测工作流程 展示了如何将原始检测结果转换为紧凑的结构化上下文:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
result = model("https://ultralytics.com/images/bus.jpg")[0]
labels = [model.names[int(cls)] for cls in result.boxes.cls]
context = {"frame": 1, "objects": sorted(set(labels))}
print(context)Link to this section如何减少上下文衰减#
- 仅检索相关证据: 使用 语义分块 和 重排序器,而不是发送所有可用的文档。
- 压缩旧信息: 用经过验证的摘要、决策和未解决的任务来替换冗长的历史记录。研究表明,即使在成功检索后,输入长度仍可能降低性能。(arxiv.org)
- 保留稳定的前缀: OpenAI 提示词缓存 和 Gemini 上下文缓存 可以降低重复处理的成本,尽管仅靠缓存并不能提高上下文质量。
- 使用滑动窗口: Google 建议针对 长实时会话进行上下文窗口压缩,在保留最近信息的同时剔除较早的 token。(ai.google.dev)
- 在现实长度下进行评估: 应用 模型监控,并使用 开源上下文衰减工具包 重现对照测试。
上下文衰减不同于幻觉(指无依据的输出)、灾难性遗忘(指训练期间模型知识发生变化)以及数据漂移(指生产环境输入的变化)。上下文衰减主要是推理时上下文选择和推理过程的失效,因此有效的 上下文工程 是其主要防线。






