污染征兆识别:上下文「发霉」的四种味道

本条目是「Context Engineering」的第 10 部分,对应学习清单条目 3.3.1。

前置依赖:Lost in the Middle、Attention Budget、Context Rot

为以下铺垫:找到临界点、compact总结、重注入格式设计


核心观点

上下文污染(Context Pollution):当上下文里混进噪声、矛盾、过时信息时,模型的决策会被带偏。识别征兆 = 回答跑偏、遗忘早先指令、开始自言自语、质量莫名下降。

就像你桌上堆了三天没扔的草稿、过期的便签、别人塞错的纸条——你基于这些「脏信息」做决定,结果自然歪。Context Pollution 不是模型变笨,是它「看到的」已经被污染了。早识别、早清场,比事后补救便宜得多。

定义 / 原理 / 实践 / 示例 / 优劣势

定义与原理

Context Pollution = 上下文中存在不准确 / 不完整 / 不相关信号,稀释了高信号 token 的权重。它和 Attention Budget 同源:噪声每多一个,真信号就被分走一份注意力。Anthropic 称之为 context rot(上下文衰减)的表现之一。

四种征兆


graph TD

    A["上下文污染"] --> B["① 回答跑偏<br/>答非所问"]

    A --> C["② 遗忘指令<br/>早先规则被无视"]

    A --> D["③ 自言自语<br/>逻辑断裂/前后矛盾"]

    A --> E["④ 质量下降<br/>错误率↑ 遵循率↓"]

污染来源

  • 历史对话污染:早期规则滚到中间被忽略(见 Lost in the Middle)。

  • 检索结果污染:RAG 召回不相关/矛盾文档(distractor pollution)。

  • 工具结果污染:原始输出太长,关键信息被淹(见 摘要压缩)。

  • 过时信息污染:旧版代码/文档没清,模型基于过期事实决策。

诊断方法

  • 看最终上下文:打印真正送模型的 context,检查是否历史污染 / 检索重复 / chunk 过碎。

  • 看日志:抓「遗忘」「跑偏」类信号。

  • 看用户反馈:用户抱怨「不按我说的做」往往就是污染征兆。

优劣势

  • ✅ 征兆可观察、可量化,是后续所有修复(compact / 重注入 / 路径作用域)的抓手。

  • ❌ 征兆和「模型本身能力不足」容易混淆,需要对照「干净上下文下的表现」来确诊。

核心要点

概念一句话
Context Pollution上下文混入噪声/矛盾/过时信息,带偏决策
四征兆跑偏 / 遗忘指令 / 自言自语 / 质量降
四来源历史 / 检索 / 工具 / 过时
诊断看 context + 看日志 + 看反馈

最新研究与企业数据

  • 官方定义(一手):Anthropic 把 context rot 描述为「上下文越长,模型准确回忆信息的能力越差」,在硬限制到达前就开始;并列出历史、工具结果、外部数据都是污染来源(来源:Anthropic Effective Context Engineering / Cookbook)。

  • 实践信号(一手):Claude Code 官方指出窗口快满时「会开始忘掉早先指令或犯更多错」,并给出 /rewind、/compact、Sub-agent 等干预手段(来源:Anthropic 1M 上下文博客 / Best Practices)。

  • distractor pollution(待核实细节):「更多干扰文档→幻觉率上升」有后续研究(如 Found in the Middle, He et al.)支撑,但本笔记引用的具体百分比未见一手实验,建议引用原论文而非二手。

学习资源

  • 必读:Anthropic《Effective context engineering for AI agents》(2025-09)

  • 官方:Anthropic《Using Claude Code session management and 1M context》

  • 进阶找到临界点 · compact 总结 · 摘要压缩

速记卡(面试闪卡)

Q1:一句话讲清「污染征兆识别:上下文「发霉」的四种味道」到底是什么?

A:上下文污染是上下文混进噪声/矛盾/过时信息带偏模型,靠四种征兆早识别、早清场。

Q2:上下文「发霉」生活类比 —— 怎么理解?

A:像桌上堆了三天没扔的草稿、过期便签、别人塞错的纸条——你基于这些脏信息做决定,结果自然歪。Context Pollution(上下文污染)不是模型变笨,是它”看到的”已经被污染。早识别早清场,比事后补救便宜得多。

Q3:四种征兆像「生病四症状」 —— 怎么理解?

A:①回答跑偏(答非所问)②遗忘指令(早先规则被无视)③自言自语(逻辑断裂前后矛盾)④质量下降(错误率升、遵循率降)。四个来源:历史对话污染、检索结果污染(distractor pollution 干扰文档)、工具结果污染、过时信息污染。诊断三看:看 context、看日志、看用户反馈。

Q4:和注意力预算同源 —— 怎么理解?

A:Context Pollution 稀释高信号 token 权重,和 Attention Budget(注意力预算)同源——噪声每多一个,真信号就被分走一份注意力。Anthropic 称其为 context rot(上下文衰减):窗口越长准确回忆越差,在硬限制到达前就开始。Claude Code 用 /rewind、/compact、Sub-agent 干预。

Q5:征兆 vs 真笨,怎么区分 —— 怎么理解?

A:优点是征兆可观察可量化,是后续修复(compact 压缩/重注入/路径作用域)的抓手;缺点是容易和”模型本身能力不足”混淆,需对照干净上下文下的表现来确诊。distractor pollution(干扰越多幻觉越多)有研究支撑,但具体百分比建议引一手论文。

Q6:核心速记主线有哪些?

  • 核心:上下文发霉,脏信息带偏决策非模型笨

  • 四征兆:跑偏/忘令/自语/质量降

  • 四来源:历史/检索/工具/过时

  • 诊断三看:看 context + 日志 + 用户反馈

口诀

A:上下文发霉四味道,跑偏忘令自语降;

四源历史检索工具旧,三看 context 日志访;

噪声稀释真信号,注意力被分了账;

早清早治别拖沓,compact 重注来收场。

相关链接

下一篇找到临界点——征兆识别讲完,下篇讲「你的场景,对话多长开始跑偏?自己测」。


参考来源(一手链接 · 可溯源深挖)