上下文至关重要,但上下文腐烂才是AI智能体的真正上限,更大的上下文窗口只会让情况更糟而非更好
摘要
文章认为,上下文腐烂(即随着上下文填充导致推理质量下降)是AI智能体的真正上限,而非上下文窗口大小。它提倡采用架构方法分解任务并使用独立验证来超越限制。
关于长上下文的讨论一直将其视为一个能力数字,100万token、1000万token,仿佛上限就是窗口大小。真正的上限是上下文腐烂,即随着窗口填充导致推理质量下降,而今年的研究不断表明有效窗口只是标称窗口的一小部分。更大的窗口并不能解决这个问题,它们只是给你更多空间来腐烂。这对于智能体问题至关重要,因为整个单智能体ReAct循环建立在一种假设上:你可以不断填充上下文,模型保持连贯性。但事实并非如此。几百步之后,窗口就被智能体自己早期的推理填满,并行探究线路开始相互干扰,唯一可用的检查是模型重新阅读自己的输出。模型反思自身,正是那个犯错的模型,带着同样的盲点工作。一个更大的模型在同一个地方撞上同样的墙,只是到达时更有信心。这就是单智能体循环饱和的结构性原因。这不是计算问题,而是上下文问题,你不能通过增加更多上下文来解决上下文问题。那些真正突破饱和点的架构改变了工作的性质,而不是窗口的大小。它们分解查询,生成具有干净上下文的专业子智能体,并且关键在于通过未产生该工作的智能体进行验证。一些较新的系统在单一任务中协调数百个子智能体、数万步,比单循环失效点高出两个数量级,提升来自验证团队而非增加的规模。Apodex是我读过的这方面最明确的例子,相同训练的模型,增益来自验证而非参数。增益是架构性的,而非参数性的。我认为这应该属于奇点讨论的原因在于,它重新定义了下一次飞跃的来源。如果你相信上下文腐烂是上限,那么通往更强能力智能体的路径就不是更大的模型或更长的窗口,而是保持验证器独立于推理者、保持上下文干净的架构。写出答案的模型不能是检查它的模型,因为当它检查时,它的上下文就是那个产生错误的被污染的东西。乐观版本:上限是真实的,但并非根本性的,它是架构性的,而尊重腐烂约束的架构已经显示出它们可以运行比单循环长两个数量级的任务。悲观版本:如果该领域继续将上下文窗口大小视为指标,我们将不断推出在演示中看起来令人印象深刻、但在真正重要的长任务上衰落的智能体。腐烂不会在基准测试中显现,它会在实际运行中显现,而那时候没有人检查中间步骤。奇点问题是验证能否比上下文腐烂扩展得更快。现在我会押注那些认真对待分离的架构。
相似文章
上下文腐烂是智能体在长任务中途崩溃的原因。
文章解释了“上下文腐烂”:随着上下文增长,AI 智能体在长任务上表现下降,甚至在窗口未满时就开始退化,并提供了压缩、状态卸载、按需检索等技术来保持可靠性。
更大的上下文窗口对智能体来说其实是错误的方向吗?
作者质疑将注意力集中在扩大AI智能体的上下文窗口上是否适得其反,认为积累的垃圾信息会拖慢长时间会话,并建议保持工作上下文小巧、使用外部记忆。
@GergelyOrosz: 试图弄清楚,在上下文窗口中使用更多上下文(我称之为上下文深度),在更长的运行中,错误会如何累积/代理会如何漂移……
Gergely Orosz 指出,在AI代理的上下文窗口中使用更多上下文进行更长的运行会增加错误和漂移,建议使用更短的运行和更少的上下文以提高可靠性。
我认为长上下文代理的失败方式非常无聊
一篇观点文章,认为长上下文窗口并不等同于记忆,代理失败通常很普通,比如忘记约束或重新读取文件,强调可靠性取决于上下文架构决策。
@N01ennn: 更大的上下文窗口是死路一条。这篇论文证明了这一点。一项新的CS调查悄然重新定义了整个游戏:事情…
一条推文重点介绍了一篇CS调查论文,该论文认为更大的上下文窗口是死路一条,而记忆工程——将智能体的记忆视为操作系统——才是将真正的AI智能体与自动补全区分开来的关键,使无状态模型能够自我进化。