外观
AI 为什么会沿着原来的路继续走?
柏林ACS · 2026-09-01 · 读完约需 7 分钟
最近一段时间,我在持续使用模型进行长篇内容创作。一个越来越明显的感受是,真正增加我审稿成本的,并不只是模型会犯错,而是它会逐渐形成自己的“习惯”。
最容易发现的是表达上的习惯。模型非常擅长寻找一种有效的表达方式,然后持续复用。一个章节采用了某种结构,后面的章节很容易沿用类似结构;一段话用了某种论证方式,后面也会不断出现相似的组织方式。甚至不需要我明确告诉它“以后都这么写”,这种模式也会慢慢形成。
这就是我们熟悉的 AI Smell。
所以现在审查一篇模型生成的长文,除了检查内容是否正确,还要不断观察它是不是正在重复某种表达路径。问题在于,表达上的路径依赖相对容易发现,因为它最终会暴露在文字表面。真正让我开始警惕的是另一种更隐蔽的路径依赖:模型会重复自己的表达方式;更麻烦的是,它可能连思考方式、解决问题的方式也一并重复。
最近一次写作过程让我非常明显地意识到了这一点。
当时我让模型重写其中一个章节,完成后又让它对这个章节做一次对抗性审查。它对刚写出的版本并不满意,认为“这一部分还需要进一步重写”。这本身不算异常——刚完成的版本确实可能还有问题。
真正让我停下来的是接下来的几轮。我换了两个主题与它毫无关联的章节继续审查,收到的仍是同一类意见:结构要重新组织,内容要重新修改。章节各不相同,结论却反复落回同一个动作。
这时候我开始产生疑问:这些章节真的都需要重写吗?
还有一种可能:模型刚刚完成了一次“重写”,于是“重写”成了当前上下文里一个非常近的行为。接下来审查新的章节、发现某些问题时,它最容易采用的解决方式,恰好就是刚才用过的那一个。
如果是这样,那么我们看到的“建议重写”,就存在两种完全不同的来源。
一种来自当前章节本身:它确实存在结构或内容问题,因此无论模型此前做过什么,独立审查都可能得到相同的结论。
另一种则来自此前的搜索轨迹:模型刚刚经历了“发现问题—重写—审查”的过程,于是当它再次发现问题时,“重写”已经成为一个高度可用的解决路径。
最终输出可能完全一样,但产生这个结论的原因却完全不同。
这件事情让我开始重新思考我们平时所说的 Context。
过去谈 Context Engineering,我们通常关心的是模型在当前上下文里获得了哪些信息。什么资料应该给它,哪些信息应该保留,哪些信息应该删除,如何控制上下文长度,以及怎样让模型获得完成任务所需要的最小充分信息。
但连续使用模型以后,我觉得上下文里保存的可能远不只是“信息”。
它还保存了某种工作历史。
模型知道前面讨论过什么,也知道前面采用过什么分析框架、修改过什么内容、使用过什么表达方式,以及刚刚是靠什么动作解决问题的。虽然这些东西未必以一个明确的变量存在,但它们都已经成为当前上下文的一部分。
于是上下文可能同时包含两种不同性质的东西:一类告诉模型“我们知道什么”,另一类则在某种程度上告诉模型“我们刚才是怎么做的”。
后者很容易被忽略。
因为它看起来只是历史,但历史本身可能会影响下一步搜索。
这也让我觉得,把这种现象简单称为“上下文污染”并不完全准确。上下文污染通常意味着无关信息进入上下文,干扰了当前任务;而我观察到的情况可能恰恰相反,前面的信息全部相关,却依然可能对后面的判断产生影响。
真正发生变化的,是搜索的路径。
模型前面采用了一种分析方式,后面可能更倾向于继续使用这种分析方式;模型刚刚采用一种章节结构,后面可能继续沿用这种结构;模型刚刚通过“重写”解决了一个问题,后面遇到新的问题时,也可能更容易再次选择“重写”。
因此我开始把这种现象理解为一种“搜索路径依赖”。
它和我们熟悉的 AI Smell 有关系,但又不是一回事。
AI Smell 更多是路径依赖在表达层面的表现。模型重复句式、重复章节结构、重复论证节奏,我们可以从最终文本中直接观察到。
再往里一层,是认知路径依赖。AI Smell 重复的是怎么说;这一层,模型开始重复怎么理解。前面形成了一个解释框架,后面的搜索空间就可能越来越倾向围绕这个框架展开。
更进一步,则是行动路径依赖。模型前面采用了某种解决动作,后面遇到类似问题时,会越来越倾向于重复这个动作。
我觉得最后这一层尤其值得注意。
因为它意味着模型可能并不是简单地判断“这个问题应该怎么解决”,而是在当前上下文形成的状态下,继续寻找“接下来通常应该做什么”。
这两者看起来非常接近,差别却很大。
前者是在重新判断问题;后者则可能是在延续工作流。
如果这种现象确实存在,那么我们就会遇到一个非常麻烦的问题:如何判断模型当前给出的建议,到底来自当前对象,还是来自之前已经形成的路径?
这也是为什么我现在越来越重视独立审查。
以前我们讨论“独立审稿人”的时候,更多是从角色隔离的角度理解它。生成模型负责写作,另一个模型负责审查,让两个角色不要互相影响。
现在看来,这背后可能还有更深的一层原因:我们需要隔离的不只是角色,还包括搜索轨迹。
如果同一个模型连续经历“生成—修改—审查—再修改—再审查”,它当然拥有最完整的上下文,但它也同时继承了完整的行为历史。它知道自己刚刚做过什么,也更容易沿着刚才已经走过的路继续搜索。
而一个相对独立的审查上下文,可以让模型重新面对原始材料,在更少历史惯性的情况下做一次判断。
这并不意味着新的判断一定更正确。它只是提供了一个非常重要的东西:重新选择路径的机会。
我觉得这个问题和我一直在研究的 AI 认知搜索理论也产生了一个很自然的连接。
如果把 AI 的问题求解理解成一个持续搜索过程,那么一次搜索并不会在得到答案以后彻底消失。它会形成状态,会留下轨迹,而这些状态和轨迹又可能进入下一次搜索。过去我们更容易关注这种积累带来的正面价值,因为经验能够帮助模型减少重复工作,提高连续任务的效率。
但经验也可能产生另一面。
搜索越连续,历史越丰富,模型就越容易继承过去形成的路径。如果这种继承不断强化,那么搜索演化未必意味着搜索越来越好,也可能意味着搜索越来越稳定地沿着原来的方向前进。
稳定本身并不是问题。
真正的问题是:它还有没有重新选择路径的能力?
这让我觉得,未来的 Context Engineering 可能不能只讨论“给模型什么信息”,还需要讨论“让模型继承什么历史”。
因为历史并不只有知识,还有判断历史、操作历史、表达历史,以及已经形成的搜索惯性。
有些历史应该保留,因为它能够帮助模型保持连续性;有些历史则可能应该被隔离,因为它会把模型锁在上一轮已经形成的路径里。
所以我现在对“清空上下文”这个解决方案也有了不同的看法。
如果问题来自路径依赖,清空上下文当然能降低惯性,但代价是丢掉大量有价值的信息。值得研究的,是能不能在保留必要知识的同时,重新初始化搜索路径。
也就是说,让模型记住“我们在解决什么问题”,但不一定要求它继续沿着“刚才是怎么解决的”这条路走下去。
我目前还不认为这些观察已经足以形成一个完整的理论,但它至少让我看到了一个值得进一步研究的方向。
如果这个现象成立,那么 AI Smell 可能只是最容易被我们观察到的表层现象。文字模板化只是因为搜索路径依赖最终留下了明显的语言痕迹;在更深的层面,模型可能还会形成认知路径依赖和行动路径依赖。
这也意味着,模型“生成了什么”只是需要控制的一半;另一半,是它在连续工作过程中沿着什么路径不断生成这些东西。
最近我越来越觉得,一个成熟的 AI 工作流需要一种比长记忆更基本的能力:分辨哪些经验应该继承、哪些时候应该放下,知道什么时候保持连续,也知道什么时候重新开始一次搜索。
因为真正重要的可能不是让 AI 永远记住自己走过的路。
而是让它在必要的时候,有能力重新选择一条路。