上下文退化模式
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/context-degradation。
技能介绍
问题从哪来
长对话里的 Agent 往往会在某个长度之后突然变笨:中间段落里的约束被忽略、工具输出里的错误被反复引用、检索堆进来的文档把任务带偏,或者多源信息彼此打架。这类现象不是偶发 bug,而是注意力预算、训练分布与上下文布局共同造成的可预测退化。
技能帮你做什么
本技能把上下文失效拆成五类模式,便于对照日志与 prompt 结构做诊断:
- Lost-in-Middle:关键信息埋在中间时召回率明显下降;应把必须被直接引用的内容放在开头或结尾,或用分区标题与摘要结构突出位置。
- Context Poisoning:幻觉或错误工具结果进入上下文后被反复引用;需要截断、标注污染段或用已验证信息重启。
- Context Distraction / Confusion:无关或跨任务信息强迫模型「全读」;通过检索过滤、命名空间与任务分割减少混用。
- Context Clash:多源正确但矛盾的信息并存;用优先级规则、版本过滤或显式冲突标记处理。
实践上可对照「四桶法」:Write(外置 scratchpad)、Select(按需拉取)、Compress(摘要与 observation masking)、Isolate(子代理/会话隔离)。技能还整理了 RULER 等基准与常见模型的退化阈值,便于在开发阶段做长度—性能关联测试。
适用边界
它侧重模式识别与架构选择,不替代具体模型的 token 计数或你的业务评测脚本。needle 测满分不等于长文档推理可靠;更大窗口也可能带来成本与分心。建议先掌握 context-fundamentals,再与 context-optimization、evaluation 等技能衔接做生产观测。
使用场景
- 多轮工具调用后代理开始忽略中间段的业务规则,需要对照 lost-in-middle 与污染模式查日志和上下文布局
- 上线前评估 32K 以上窗口的 RAG 代理,用退化阈值决定何时触发压缩与子代理隔离
- 检索结果里混有过期文档导致回答自相矛盾,需要识别 context clash 并定来源优先级与版本过滤
- 生产里代理反复引用错误工具输出,需要判断是否为 poisoning 并截断或仅用已验证状态重启会话
适合人员
- 维护生产级对话代理的后端工程师,需要在上下文变长时解释性能骤降并改 prompt 与架构
- 负责选型与压测的大模型应用工程师,要比对 RULER 类结论并为不同模型设定压缩触发点
- 排查编码或 SWE 代理误读的开发者,怀疑关键文件片段落在上下文中间未被召回
- 设计多源检索工作流的平台架构师,要隔离任务窗口以避免 distraction 与多源指令冲突