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