放手之后发生了什么:上下文的墙
当你不再逐步指导,Agent 开始在 agentic loop 中自主运转。它读取 spec,推理第一步行动,调用工具,观察结果,推理下一步,继续行动。每一轮循环的结果都被追加到上下文窗口中。
前 20 轮一切正常。Agent 的推理清晰,产出质量稳定。到了第 50 轮,上下文窗口已经装满了几十轮的推理过程、工具调用记录和代码片段。早期的设计决策被推到了窗口的远端,获得的注意力权重越来越低。到了第 100 轮,Agent 的行为开始变得不可预测。它在前半段选定的错误处理策略在后半段被另一种方式替代。它在第 20 轮定义的接口规范在第 80 轮的实现中被悄然改变。
这就是上下文的墙。产出质量的下降不是线性的,而是存在一个断崖。在断崖之前,Agent 表现正常。越过断崖之后,产出质量急剧恶化,而且这个恶化是无声的。Agent 不会告诉你"我开始犯错了"。它会以同样的自信度继续产出,只是产出的内容开始自相矛盾。
这不是 Agent 变笨了。这是有限处理容量的硬约束。第一章分析过:Agent 每次交互都在有限窗口内重新构建理解,它没有持久的心智模型来维持全局一致性。当窗口中的信息量超过有效处理能力,丢失的就是最早进入窗口的那些信息,而那些信息往往是最重要的:整体架构、设计原则、接口约定。
理解了这个机制,应对策略就清晰了:不要试图让 Agent 一口气跑完整个任务,而是把任务切成在断崖之前能完成的块。