*“2024年6月,某SaaS公司的开发团队发现了一个奇怪的现象:他们的AI编程助手在月初时表现出色,到了月底却频频给出离谱建议。经过排查,问题出在Context上——项目相关的Context已经『腐烂』,AI正在基于过时的假设生成代码。” *


一、那个逐渐”失忆”的AI助手

让我们看一个真实的场景。

张工程师正在开发一个新功能。他打开AI助手,提供了详细的Context:项目架构、数据库Schema、API规范、设计决策记录。AI很快理解了上下文,生成了高质量的代码框架。

一周过去了。张工程师继续开发,每次与AI对话都延续了之前的Context。AI似乎”记得”项目的所有细节,对话非常顺畅。

两周后,情况开始变化。AI开始建议一些明显不符合项目约定的方案。张工程师纠正它,但类似的问题反复出现。

到了月底,AI简直像是换了一个人——它建议的技术栈是三个月前废弃的,它提到的模块名称是早已重命名的,它甚至”忘记”了项目中存在的关键约束。

这不是AI变笨了,是Context Rot(上下文腐烂)在作祟。


二、核心观点:Context有保质期

让我说一个反直觉的事实:Context不是越用越好,是会腐烂的

就像有机物会腐烂一样,Context也有保质期。这不是比喻,是信息论的基本原理。

Context类型 半衰期 腐烂机制
项目架构 3-6个月 架构漂移、技术债累积
API规范 2-4周 快速迭代、版本更新
代码库状态 实时 每次提交都在变化
业务规则 1-3个月 需求变更、规则调整
团队约定 持续 成员变动、实践演进

在传统的软件开发中,Context存在于人的大脑中。资深工程师”记得”为什么做这个设计决策,”知道”那个模块的历史包袱。这种Context通过口口相传和文档传递,虽然低效但相对稳定。

但在AI-Native开发中,Context被显式地提取出来,提供给AI使用。这带来了效率的提升,但也带来了新的问题:显式Context需要显式维护

Context Rot的数学:假设一个项目的Context包含100个关键事实,每周有5%的事实发生变化(新增、修改、废弃)。那么:

  • 4周后,约18%的Context已经过时
  • 8周后,约33%的Context已经过时
  • 12周后,约46%的Context已经过时

当你的AI助手基于一半过时的Context做决策时,它的表现会比随机猜测好多少?


三、穿越周期:从口头传统到知识管理

人类是如何管理会腐烂的知识的?

原始社会,口头传统:知识通过长者口述传递给下一代。优点是灵活,可以随时更新;缺点是容易失真,每个传递环节都会丢失信息。

古代文明,文字记录:苏美尔人的泥板、埃及的纸草卷、中国的竹简。知识可以被固定下来,但更新成本高——你需要重新刻写。

中世纪,修道院手抄:僧侣们抄写典籍,在页边添加注释(marginalia)。这些注释是”活的Context”,解释原文、补充背景、标记变更。

现代企业,知识管理系统:Wiki、Confluence、Notion。知识可以被多人协作编辑,但更新是显式的、需要人工维护的。

AI-Native时代,动态Context:Context不再是静态文档,而是持续更新的知识图谱。AI不仅消费Context,还帮助维护Context——识别过时的信息、建议更新、自动同步。

时代 Context载体 更新机制 腐烂速度
口头传统 人脑 自然遗忘 + 主动更新 快速
文字记录 物理介质 重写 缓慢但僵化
手抄时代 书籍+注释 页边注释 中等
数字时代 数据库 人工编辑 依赖维护
AI时代 知识图谱 AI辅助更新 动态平衡

关键洞察:每一次知识管理的技术跃迁,都在解决”稳定性vs灵活性”的权衡。AI时代的目标是让Context既稳定(可靠)又灵活(及时更新)。


四、反直觉洞察:Context Rot的三层危害

第一层:显性的错误建议

这是最明显的症状。AI基于过时的Context给出错误的代码建议、错误的技术选型、错误的实现方案。

比如:

  • 建议使用已废弃的API
  • 引用已删除的模块
  • 基于旧架构设计新功能

这些错误通常能被及时发现和纠正,但已经浪费了时间。

第二层:隐性的认知偏差

更危险的是那些”看起来对”的错误。

AI基于部分过时的Context,生成表面上合理的代码,但隐藏着问题:

  • 代码符合旧的设计模式,但新架构有更好的方式
  • 实现了旧版本的业务规则,忽略了新规则
  • 遵循了已调整的团队约定

这些错误往往要到测试阶段甚至生产环境才能被发现。

第三层(最隐蔽):决策路径污染

这是最深层的问题。

当AI反复基于过时的Context做决策时,它会”污染”整个决策路径。开发者被引导向错误的方向,然后基于这个错误的方向继续提问,AI继续基于污染后的Context回答……

这是一个正反馈回路:错误的Context → 错误的建议 → 错误的决策 → 更深的污染。

Conway定律的Context推论:如果一个系统的Context是腐烂的,它的AI助手就会不断地强化这种腐烂。


五、实战:对抗Context Rot的四层防线

防线一:Context新鲜度度量

定义Context新鲜度指标

Context Freshness = Σ(事实_i × 权重_i × 新鲜度_i) / Σ(事实_i × 权重_i)

新鲜度_i = e^(-λ × 时间差)
  • 架构事实:半衰期3个月
  • API规范:半衰期2周
  • 业务规则:半衰期1个月
  • 代码示例:半衰期1周

设定阈值

  • 绿色:新鲜度 > 80%
  • 黄色:60% < 新鲜度 ≤ 80%
  • 红色:新鲜度 ≤ 60%

防线二:自动Context刷新机制

触发条件

  1. 时间触发:每周自动检查
  2. 事件触发:代码库重大变更、架构决策更新
  3. 质量触发:AI建议准确率下降

刷新流程

  1. 检测:识别可能过时的Context片段
  2. 验证:与人类确认是否确实过时
  3. 更新:用最新信息替换过时内容
  4. 归档:保留历史Context用于追溯

防线三:知识沉淀与版本化

Context版本管理

  • 每个Context片段都有版本号和更新时间
  • 重大变更创建新版本,保留旧版本用于追溯
  • AI可以明确知道”我在使用哪个版本的Context”

知识沉淀

  • 从对话中提取新的Context事实
  • 将隐性的团队知识转化为显式的Context
  • 建立”Context贡献者”角色,负责维护特定领域

防线四:人机协作的Context治理

角色分工: | 角色 | 职责 | AI辅助 | |——|——|——–| | Context架构师 | 设计Context结构、制定更新策略 | 建议结构优化 | | 领域专家 | 维护特定领域的Context准确性 | 识别过时内容 | | AI训练师 | 优化AI使用Context的方式 | 分析使用效果 | | 开发者 | 反馈Context问题、提出改进建议 | 实时质量提示 |

治理流程

  1. 每周Context健康度review
  2. 每月Context架构调整
  3. 每季度Context策略评估

六、写在最后

Context Rot是AI-Native开发中不可避免的代价。

就像物理世界的熵增一样,信息世界也有它的”熵”——Context会不可避免地趋向混乱和过时。我们不能阻止熵增,但可以通过持续的能量输入(维护工作)来维持秩序。

优雅的技术组织不是没有Context Rot的组织,而是拥有最完善的Context治理机制的组织。

向死而生,不是悲观,是清醒。承认Context会腐烂,然后建立对抗腐烂的系统。

这就是AI-Native软件工程的真谛。


延伸阅读

经典案例

  • Google的Monorepo Context管理:如何在超大代码库中维护Context
  • Netflix的Chaos Engineering:通过主动破坏来验证系统假设
  • Amazon的Two-Pizza Team:小团队如何维持清晰的Context边界

技术实现

  • Knowledge Graphs for Software Engineering: 软件工程中的知识图谱
  • Semantic Versioning for Context: Context的版本管理策略
  • Context-aware AI Systems: 上下文感知AI系统设计

学术与理论

  • 《The Social Life of Information》: 信息的社会属性与衰减
  • 《Working Knowledge》: 组织知识的管理
  • Information Theory: 信息论基础

Published on 2026-03-09 深度阅读时间:约 12 分钟

AI-Native软件工程系列 #12 —— 探索AI时代的软件工程范式转移