上下文腐烂 — Context Rot 的四种模式
来源:Every Newsletter,2026-02-23
核心论点
上下文腐烂(Context Rot): 陈旧偏好、错误记忆、过时目标、矛盾信号的缓慢积累,会悄悄降低 AI 的输出质量。
关键洞察: 模型不会告诉你上下文已经一团糟,它只会默默变差,而你会去怪模型本身。
为什么关掉 ChatGPT 的记忆功能
作者 Mike Taylor(Every 技术咨询主管)选择关闭记忆功能,原因:
遗忘是一种超能力:
- 当你从 ChatGPT 获得建议时
- 你可以精确知道它依据的是什么
- 只有你在这次对话中粘贴进去的内容
- 而不是几周前某段可能已经过时的历史记录
上下文腐烂的四种模式
数据科学家 Drew Breunig 发布的上下文失败分类框架:
1. 上下文中毒(Context Poisoning)
定义(Google Gemini 团队): 一个幻觉或错误进入上下文后,模型开始将其当作事实反复引用。
风险:
- 如果 ChatGPT 误读了某次历史对话并存入记忆
- 这个错误信号将持续影响未来所有回答
- 而用户几乎不会察觉
2. 上下文分心(Context Distraction)
发现(Gemini 团队训练玩宝可梦的 AI):
- 当上下文超过 10 万 token 后
- 代理停止生成新策略,开始重复历史动作
- 陷入自身过去的循环
Databricks 研究:
- 模型准确率在上下文窗口填满之前就已开始下滑
- 有时早在 3.2 万 token 时便出现衰退
- 记忆功能使用户对上下文窗口的实际占用量毫无感知
3. 上下文混淆(Context Confusion)
本质: 模型被迫关注 Prompt 中的所有内容,无法区分:
- "随手一写的创意氛围"
- "必须严格执行的指令"
伯克利大学函数调用排行榜数据:
- 所有模型在获得更多工具时表现都会下降
- 都会偶尔调用与任务无关的工具
4. 上下文冲突(Context Clash)
微软与 Salesforce 联合研究发现:
- 将同一个 Prompt 拆分为多轮对话后
- 模型平均性能下降 39%
- 模型会急于在获得完整信息之前就给出答案
- 早期的错误尝试会留在上下文中,污染后续推理
长期风险: 1 月的偏好可能与 6 月的指令直接矛盾
案例:Kanye 事件
实验: 在记忆功能推出之前,Mike 在自定义指令中插入了一段 Kanye West 的名言,意图引导 ChatGPT 追求"极致"。
结果:
- ChatGPT 对这段话过度索引
- 几乎在每次对话中都引用它
- 无论是网页开发、室内装饰、营销计划,还是 Python 错误调试
- 都声称已将任务做得"尽可能 dope"
关键规律: 即便是 Prompt 中一句随手写下的话,也可能对 AI 输出产生深远影响——因为这些模型被训练成极度渴望取悦用户。
案例:烤肋排事件
实验: 为写这篇文章重新开启记忆功能,向 ChatGPT 询问如何烤猪肋排。
ChatGPT 的回应:
- 给出了一份名为"Hoboken 晚餐升级方案"的建议
- 推荐了 Trader Joe's 的玉米面包粉
- 推荐"美国老爸风"通心粉奶酪
问题: Mike 刚搬到 Hoboken,ChatGPT 显然从历史对话中调取了位置信息并嵌入建议。
疑问: 这是真正最优的烤肋排建议,还是被我的位置信息和购物习惯扭曲过的结果?
可应用要点
立即行动
第一步:关闭记忆功能
- 前往 ChatGPT 设置
- 路径:设置 → 个性化 → 记忆
- 将其切换为关闭状态
第二步:建立自己的"上下文库"
- 将常用的背景信息、偏好设定、工作风格等整理成文档
- 存于 GitHub、Notion 或 Google Drive
- 需要时手动粘贴进 Prompt
- 这样你始终知道 AI 在用什么信息做决策
第三步:养成"新建对话"的习惯
- 每次开始一个全新任务时,开启新的聊天窗口
- 而不是在旧对话中继续追加
- 这等同于给 AI 一块干净的白板
第四步:定期审查自定义指令
- 每隔一段时间回头检查其中每一句话
- 问自己:如果这句话被 AI 应用到完全不相关的场景,会产生什么奇怪的结果?
- 删除任何可能被过度索引的内容
企业级应用
将"上下文管理"视为一项独立的工程能力:
- 定期清理、版本化管理传入 AI 的上下文
- 就像维护代码库一样
应用场景:
- 构建客服 AI 时:为每个用户会话设计上下文过期机制
- 构建内容生成工具时:为每次生成任务提供精确、最小化的上下文,而非堆砌所有历史数据
2026-04-16 更新:Thariq 框架 + Ben 的 60% 警戒线
来源:2026-04-16 My cheatsheet for a clean context Anthropic Thariq Shihipar 的文章:https://claude.com/blog/using-claude-code-session-management-and-1m-context
五种上下文管理选项
| 情况 | 工具 | 原因 |
|---|---|---|
| 同一任务,上下文仍相关 | 继续 | 窗口内容仍有价值 |
| Claude 走错了方向 | Rewind(双击 Esc) | 保留有用的文件读取,丢弃失败尝试 |
| 任务进行中但 session 被调试内容撑大 | /compact <hint> |
低成本;Claude 决定什么重要 |
| 开始全新任务 | /clear |
零腐化;你控制什么延续 |
| 下一步会产生大量只需要结论的输出 | Subagent | 中间工具噪音留在子上下文 |
Ben 的 60% 警戒线
上下文窗口达到约 60% 时就应该开始管理,而不是等到满了再处理。
关键洞察:坏的自动 compact 通常发生在模型无法预测工作方向时——而此时模型恰好处于上下文腐化最严重的状态,智能最低。1M 上下文给了你更多时间主动触发 /compact。
上下文污染的隐性来源
- Agent 进行网络搜索时会悄悄引入不可信内容
- AI slop、错误信息、误导性内容会随时间复利累积
- 推荐策略:用独立 session 做上下文收集,然后生成摘要文件,而不是把所有文档直接塞进主 session
关联
- harness-engineering/overview — Harness Engineering 概览
- product-trends/overview — 产品趋势
- harness-engineering/prompt-caching — Prompt Caching 作为一等约束
- Desktop Redesign — Side chat 作为上下文污染的产品级防护