当 context window 无限扩大后,真正的瓶颈才刚刚显现。
北火 · 2024.051990年代,神经科学家 Antonio Damasio 遇到一个奇怪的病人。这人叫 Elliot,脑部手术切除了一个肿瘤,顺带损伤了前额叶的一小块区域。手术后,智商测试正常,逻辑推理正常,记忆力正常,所有认知指标都没问题。但他没法正常生活了。
不是不会分析——恰恰相反,他分析得太好了。选午餐吃什么,他能花半小时权衡每家餐厅的优缺点。选用蓝笔还是黑笔签字,他能陷入无尽的比较。
老板解雇了他,妻子离开了他。Damasio 研究了很久,最后得出结论:Elliot 损伤的那块脑区,负责把情绪和决策连接起来。
我们通常把「限制」当成坏事。更多信息更好,更多选择更好,更强的处理能力更好。Elliot 的案例指向相反的结论:约束不是决策的障碍,而是决策的前提。
当你面对选择时,它把你过去的经验、当前的身体状态、社会信号,整合成一个「感觉」——「这个选项让我不舒服」。你不需要推演导致这个感觉的所有原因,情绪直接给你一个倾向。
这是一种偏见,但没有这种偏见,你会像 Elliot 一样卡在原地。
处理能力正常,但失去了「关注这里、忽略那里」的机制。所有选项无差别涌入,决策系统瘫痪。
处理能力也没问题,但context window 有上限——必须决定把什么放进去、什么留在外面。人类用情绪来筛选。AI 用什么?
表面上看,Elliot 的问题是「情绪缺失」,AI agent 的问题是「context 管理」,一个是神经科学,一个是工程实践。但往深一层看,它们是同一个问题的不同表现:有限的处理能力如何面对无限的信息?
AI 领域有一个已经被实证验证的现象:context 越长,模型表现不一定越好。研究显示,当 context 变长时,模型容易「迷失在中间」——对 context 开头和结尾的信息关注度高,中间的信息容易被忽略。
更多的信息塞进去,反而可能稀释真正重要的内容。当所有信息都摆在面前,没有机制来区分重要和不重要,系统的表现会下降——这不完全是 Elliot 的问题,但有相似的结构。
AI 领域发展出了一系列技术来应对 context 问题。看起来五花八门,但本质上都在做同一件事:决定 LLM 应该「看到」什么。
把工具说明、调用方式、注意事项塞进 agent 的 context,它读完说明自己动手。所有过程发生在同一个 context 里,信息互通。
派一个专门的 agent 去执行,它做完把结果交回来。两个 agent 各有独立的 context,主 agent 的工作空间保持干净。
本质区别是 context 的边界:共享还是隔离。
规定 agent 怎么发现和调用外部工具——有哪些工具可用,怎么传参数,怎么拿结果。
规定 agent 之间怎么对话——怎么发现对方,怎么协商任务,怎么交换信息。
协议是管道,架构才是决定 context 怎么组织的地方。一个 MCP 工具,你可以直接塞进主 agent 的 context,也可以让另一个 agent 去调用然后汇报结果——取决于你的架构决策,而非协议本身。
砍掉旧的内容,只保留最近的信息。
风险:可能砍掉重要的早期信息用模型生成摘要,把长历史压缩成短结论,保留信息的「精华」。
风险:有损转换,摘要者认为不重要的细节可能恰恰是后续决策需要的更长的 context 意味着更多的计算量、更高的延迟、更贵的 API 账单。在生产环境里,一个任务跑几分钟还是几秒钟,可能决定了这个方案能不能用。
Context 管理不只是「怎么让 agent 更聪明」,也是「怎么在预算内完成任务」。你可能有能力把所有相关信息都塞进 context,但你付不起那个钱。约束不只来自技术上限,也来自经济现实。
把这些技术放在一起看,它们都在回答同一个问题:这一轮推理,LLM 应该「看到」什么?
它不是 prompt engineering 的新说法,而是一个更大的框架:怎么组织信息,让有限的工作记忆处理超出其容量的任务。
所有东西都是 context 的一部分,所有决策都是 context 管理决策。
组织架构本身就是一套 context 管理系统——谁需要知道什么,信息怎么流动,在哪里汇总,在哪里展开。
让不同的人处理不同的信息,每个角色只需要关注与自己任务相关的 context。
细节在底层处理,结论向上传递——信息在每一层都被压缩、筛选。
把信息外化存储,需要时再加载——类似 AI 的 RAG 检索,避免「全部常驻」。
但人类还有一些更底层的机制,AI 目前没有对应物。
人类的记忆不是「有」或「没有」,而是会逐渐模糊。你记得三年前和某人吃过饭,细节没了,但「那次聊得挺愉快」的印象还在,这种低精度的记忆仍然能指导决策。
你更容易记住让你意外、紧张、开心的事情,情绪充当了重要性的标签。
人类回忆不是从存储里读取文件,而是每次基于碎片重新构建。这意味着同一段经历在不同情境下回想会呈现不同的侧面,有失真的风险,但也有适应当前需求的能力。
不一定。人类的记忆机制是为人类的任务优化的——活下去、繁衍、维持社会关系——模糊、长期、多目标。渐进遗忘、情绪标记、重建式记忆,在这个框架下是 adaptive 的。
AI agent 的任务通常更明确、更短期、更单一:写这份报告、修这个 bug、回答这个问题。在这种任务下,人类记忆机制的「模糊性」可能反而是负担,你不希望 agent「隐约记得」你的需求是什么。
任务变得更模糊、更长期、更复杂。为简单任务设计的 context 管理方式,可能在新的任务类型上失效。
还有一个问题值得展开:当 context 经过多次处理后,它还可靠吗?
一线发生的真实事件,未经过滤的信息。
每一方都只传自己认为重要的内容。压缩会丢细节,摘要会引入偏差。
链条拉长后,最终 agent 做决策时依据的信息,可能和原始事实有显著偏离。
这个问题人类也有,叫组织里的信息失真——一线发生的事,经过几层汇报传到决策者那里,可能已经变形了,每一层都在压缩、都在筛选、都在用自己的框架重新解读。
同一件事通过多条线传递来交叉验证,防止单一链路失真。
允许信息绕过某些层级直接向上,给被压缩掉的信息一条绕过压缩的路径。
决策者偶尔下到一线直接接触未经过滤的信息,绕开所有中间层的压缩。
让原本不敢说的话有出口,给原始信息一条「安全通道」。
如果一个 SubAgent 的摘要漏掉了关键信息,主 agent 怎么知道?如果 context 经过多轮压缩后失真了,系统怎么发现?目前没有好的答案,这是 context engineering 还没认真处理的一个维度。
AI 领域正在发生一件事:context window 在快速扩大。几年前 4K tokens,现在 128K 是标配,有的模型宣称支持百万甚至千万级别。如果这个趋势持续,context 容量可能很快不再是硬约束。
容量约束消失后,问题不会消失,只会换一种形式。如果你有无限的 context,但没有机制告诉你什么重要、什么可以忽略,你会陷入 Elliot 的困境。
你需要的不是更大的窗口,而是一套筛选标准。约束可以是多种形式的:
移除一种约束,另一种会变得突出。人类用情绪、直觉、经验沉淀下来的「感觉」来提供认知约束,AI 目前没有对应物——它的筛选标准来自外部:位置、规则、用户指令。当容量不再是瓶颈时,这个缺失会变得更明显。
约束不是决策的障碍,而是决策的前提。Elliot 失去了帮他筛选的机制,获得了「纯粹理性」的分析能力,结果是瘫痪。
AI 领域需要的不是更大的窗口。需要的是一套筛选标准——一套不依赖外部规则、能让系统自己知道该关注什么、可以忽略什么的内生判断机制。
Elliot 需要的不是更大的脑容量,他需要的是一个能告诉他「这个选项不对劲」的声音。
当 context 容量不再是瓶颈时,什么会成为新的瓶颈?
也许答案是:一套内生的重要性判断机制——不依赖外部规则,能让系统自己知道该关注什么、可以忽略什么。