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