
关于
语言模型随上下文长度增加会表现出可预测的退化模式。理解这些模式对于诊断故障和设计弹性系统至关重要。
name: context-degradation description: "语言模型随着上下文长度增加会表现出可预测的退化模式。理解这些模式对于诊断故障和设计弹性系统至关重要。" risk: unknown source: community
上下文退化模式
语言模型随着上下文长度增加会表现出可预测的退化模式。理解这些模式对于诊断故障和设计弹性系统至关重要。上下文退化不是二元状态,而是性能退化的连续体,以几种不同的方式表现。
何时使用
在以下情况下激活此技能:
- 智能体在长对话中性能意外退化
- 调试智能体产生不正确或不相关输出的情况
- 设计必须可靠处理大上下文的系统
- 评估生产系统的上下文工程选择
- 调查智能体输出中的"中间丢失"现象
- 分析智能体行为中与上下文相关的故障
核心概念
上下文退化通过几种不同的模式表现。中间丢失现象导致上下文中间的信息获得较少的注意力。上下文中毒发生在错误通过重复引用而累积时。上下文干扰发生在不相关信息压倒相关内容时。上下文混淆出现在模型无法确定哪个上下文适用时。上下文冲突在累积的信息直接矛盾时产生。
这些模式是可预测的,可以通过压缩、屏蔽、分区和隔离等架构模式来缓解。
详细主题
中间丢失现象
最有据可查的退化模式是"中间丢失"效应,模型表现出 U 形注意力曲线。上下文开头和结尾的信息获得可靠的注意力,而埋在中间的信息则遭受显著降低的召回准确率。
实证证据 研究表明,放置在上下文中间的相关信息与放在开头或结尾的相同信息相比,召回准确率降低 10-40%。这不是模型的失败,而是注意力机制和训练数据分布的结果。
模型将大量注意力分配给第一个 token(通常是 BOS token)以稳定内部状态。这创建了一个"注意力汇",吸收注意力预算。随着上下文增长,有限的预算被拉得更薄,中间的 token 无法获得足够的注意力权重来实现可靠检索。
实际影响 设计上下文放置时要考虑注意力模式。将关键信息放在上下文的开头或结尾。考虑信息是否会被直接查询还是需要支持推理——如果是后者,放置位置不太重要,但整体信号质量更重要。
对于长文档或对话,使用摘要结构将关键信息浮现到注意力偏好的位置。使用明确的章节标题和过渡来帮助模型导航结构。
上下文中毒
上下文中毒发生在幻觉、错误或不正确的信息进入上下文并通过重复引用而累积时。一旦中毒,上下文会创建反馈循环,强化不正确的信念。
中毒如何发生 中毒通常通过三种途径进入。首先,工具输出可能包含模型接受为事实的错误或意外格式。其次,检索的文档可能包含模型纳入推理的不正确或过时信息。第三,模型生成的摘要或中间输出可能引入持续存在于上下文中的幻觉。
累积效应是严重的。如果智能体的目标部分被中毒,它会发展出需要大量努力才能撤销的策略。每个后续决策都引用中毒内容,强化不正确的假设。
检测和恢复 注意以下症状:之前成功的任务输出质量下降、工具不对齐(智能体调用错误的工具或参数)、以及尽管尝试纠正但幻觉仍然持续。当这些症状出现时,考虑上下文中毒。
恢复需要移除或替换中毒内容。这可能涉及将上下文截断到中毒点之前、在上下文中明确标注中毒并要求重新评估、或使用干净的上下文重新开始并仅保留已验证的信息。
上下文干扰
上下文干扰出现在上下文增长到模型过度关注提供的信息而忽视其训练知识时。模型关注上下文中的所有内容而不管相关性,这创造了使用提供信息的压力,即使内部知识更准确。
干扰效应 研究表明,即使是单