AI 与认知科学

约束即智能

AI Agent 的 Context 困境,以及人类已经用了几百年的解法

案例引入

1990年代,神经科学家 Antonio Damasio 遇到一个奇怪的病人。这人叫 Elliot,脑部手术切除了一个肿瘤,顺带损伤了前额叶的一小块区域。手术后,智商测试正常,逻辑推理正常,记忆力正常,所有认知指标都没问题。但他没法正常生活了。

他没法做决定。不是不会分析——恰恰相反,他分析得太好了。选午餐吃什么,他能花半小时权衡每家餐厅的优缺点。选用蓝笔还是黑笔签字,他能陷入无尽的比较。老板解雇了他,妻子离开了他。

Damasio 研究了很久,最后得出结论:Elliot 损伤的那块脑区,负责把情绪和决策连接起来。没有了情绪的「偏见」来帮他筛选,所有选项在他眼里同等重要。所有选项同等重要,等于没有选项重要。

约束不是决策的障碍,而是决策的前提

概念
人类情绪系统 = 筛选机制
当你面对选择时,情绪把你过去的经验、当前的身体状态、社会信号,整合成一个「感觉」——「这个选项让我不舒服」。你不需要推演导致这个感觉的所有原因,情绪直接给你一个倾向。这是一种偏见,但没有这种偏见,你会像 Elliot 一样卡在原地。
类比跨越

这和 AI 有什么关系?表面上看,Elliot 的问题是「情绪缺失」,AI agent 的问题是「context 管理」,一个是神经科学,一个是工程实践。但往深一层看,它们是同一个问题的不同表现:有限的处理能力如何面对无限的信息?

Elliot 的处理能力没问题,但他失去了告诉他「关注这里、忽略那里」的机制。AI agent 的处理能力也没问题,但 context window 有上限——它必须决定把什么放进去、把什么留在外面。人类用情绪来筛选。AI 用什么?

已验证现象
Context 越长,表现不一定越好

研究显示,当 context 变长时,模型容易「迷失在中间」——对 context 开头和结尾的信息关注度高,中间的信息容易被忽略。更多的信息塞进去,反而可能稀释真正重要的内容。

开头
模型关注度高
中间
容易被忽略
结尾
模型关注度高
技术方案 · 01
Skills 与 SubAgent:Context 边界之争
Skills
能力内化
「我自己学会」
把工具说明、调用方式、注意事项塞进 agent 的 context,它读完说明自己动手,所有过程发生在同一个 context 里,信息互通。
⚠ Context 会越来越臃肿
vs
SubAgent
能力外包
「我找人帮忙」
派一个专门的 agent 去执行,它做完把结果交回来,两个 agent 各有独立的 context,主 agent 的工作空间保持干净。
⚠ 信息在交接时有损耗

本质区别是 context 的边界:共享还是隔离。一个是「我自己学会」,一个是「我找人帮忙」。

技术方案 · 02
MCP 与 A2A:通信协议,不是筛选规则
MCP
Model Context Protocol
规定 agent 怎么发现和调用外部工具——有哪些工具可用,怎么传参数,怎么拿结果。
定义信息怎么流动,不规定信息怎么筛选。
A2A
Agent to Agent
规定 agent 之间怎么对话——怎么发现对方,怎么协商任务,怎么交换信息。
协议是管道,架构才是决定 context 怎么组织的地方。

一个 MCP 工具,你可以直接塞进主 agent 的 context,也可以让另一个 agent 去调用然后汇报结果。协议是管道,架构才是决定 context 怎么组织的地方。

技术方案 · 03
Context Compression:空间不够时的取舍
1
直接截断
只保留最近的信息,砍掉旧的内容。快但粗暴,可能砍掉重要的早期信息。
速度优先,信息有损
2
模型摘要
用模型生成摘要,把长历史压缩成短结论,保留了信息的「精华」,但摘要本身是一次有损转换——摘要者认为不重要的细节可能恰恰是后续决策需要的。
信息保留,但引入偏差
技术讨论里常被忽略的因素:成本
Context 不是免费的,更长的 context 意味着更多的计算量、更高的延迟、更贵的 API 账单。在生产环境里,一个任务跑几分钟还是几秒钟,可能决定了这个方案能不能用。所以 context 管理不只是「怎么让 agent 更聪明」的问题,也是「怎么在预算内完成任务」的问题。你可能有能力把所有相关信息都塞进 context,但你付不起那个钱。

约束不只来自技术上限,也来自经济现实。
计算量
延迟
API 账单
经济约束
统一框架
Context Engineering
不是 prompt engineering 的新说法,而是一个更大的框架:怎么组织信息,让有限的工作记忆处理超出其容量的任务。这一轮推理,LLM 应该「看到」什么?
System prompt — 预加载的背景
Few-shot examples — 塞进去的参考案例
RAG 检索 — 按需拉取的外部知识
Tool schema — 能力的说明书
用户消息 — 实时输入
人类的解法
组织架构,本质上是一套 Context 管理系统

人类解决这个问题已经有很长的历史。专业分工让不同的人处理不同的信息,层级结构让细节在底层处理、结论向上传递,文档系统把信息外化、需要时再加载。

但人类还有一些更底层的机制,AI 目前没有对应物。

01
渐进遗忘
人类的记忆不是「有」或「没有」,而是会逐渐模糊。你记得三年前和某人吃过饭,细节没了,但「那次聊得挺愉快」的印象还在,这种低精度的记忆仍然能指导决策。
AI 的情况:Context 是二元的,在窗口里就完整保留,不在就彻底消失。
02
重要性标记
你更容易记住让你意外、紧张、开心的事情,情绪充当了重要性的标签。
AI 的情况:没有这种内在的重要性判断——它只能依靠位置(最近的更重要)外部规则(用户说重要的更重要)来决定保留什么。
03
重建而非检索
人类回忆不是从存储里读取文件,而是每次基于碎片重新构建。这意味着同一段经历在不同情境下回想会呈现不同的侧面,有失真的风险,但也有适应当前需求的能力。
AI 的情况:每次「读取」结果固定不变,缺乏基于当前语境的动态重建能力。
可迁移性
这些机制能直接移植到 AI 吗?

人类的记忆机制是为人类的任务优化的。人类的「任务」是什么?活下去、繁衍、维持社会关系——模糊、长期、多目标。渐进遗忘、情绪标记、重建式记忆,在这个框架下是 adaptive 的。

AI agent 的任务通常更明确、更短期、更单一:写这份报告、修这个 bug、回答这个问题。在这种任务下,人类记忆机制的「模糊性」可能反而是负担,你不希望 agent「隐约记得」你的需求是什么。

但 AI 的任务正在变化
单轮问答
长程对话
执行指令
自主规划
单独工作
多 agent 协作

任务变得更模糊、更长期、更复杂。这意味着为简单任务设计的 context 管理方式,可能在新的任务类型上失效。

信息失真问题
Context 经过多次处理后,还可靠吗?
压缩会丢细节
每次 compression,某些细节被认为不重要而丢弃。
摘要会引入偏差
摘要者的框架决定了什么被认为「重要」,而这个判断不一定和最终决策者一致。
跨 agent 传递各自筛选
跨 agent 传递时每一方都只传自己认为重要的内容。链条拉长后,最终 agent 做决策时依据的信息,可能和原始事实有显著偏离。

这个问题人类也有,叫组织里的信息失真——一线发生的事,经过几层汇报传到决策者那里,可能已经变形了,每一层都在压缩、都在筛选、都在用自己的框架重新解读。

人类对策
给被压缩掉的信息一条绕过压缩的路径
A
冗余通道
同一件事通过多条线传递来交叉验证。
B
越级机制
允许信息绕过某些层级直接向上传递。
C
实地考察
决策者偶尔下到一线直接接触未经过滤的信息。
D
匿名反馈
让原本不敢说的话有出口,绕过层级的筛选。
AI 系统尚未解答
如果一个 SubAgent 的摘要漏掉了关键信息,主 agent 怎么知道?如果 context 经过多轮压缩后失真了,系统怎么发现?

目前没有好的答案,这是 context engineering 还没认真处理的一个维度。
回到 Elliot

Context 容量不再是瓶颈
之后呢?

AI 领域正在发生一件事:context window 在快速扩大。几年前 4K tokens,现在 128K 是标配,有的模型宣称支持百万甚至千万级别。如果这个趋势持续,context 容量可能很快不再是硬约束

这是好事吗?不一定。容量约束消失后,问题不会消失,只会换一种形式。如果你有无限的 context,但没有机制告诉你什么重要、什么可以忽略,你会陷入 Elliot 的困境:所有信息同等重要,等于没有信息重要。你需要的不是更大的窗口,而是一套筛选标准。

约束的形态
移除一种约束,另一种会变得突出
容量约束
塞不下更多信息
注意力约束
看不过来所有信息
经济约束
付不起那个钱
认知约束
不知道该关注什么

人类用情绪、直觉、经验沉淀下来的「感觉」来提供认知约束,AI 目前没有对应物,它的筛选标准来自外部:位置、规则、用户指令。当容量不再是瓶颈时,这个缺失会变得更明显。

最后一个问题
当 context 容量不再是瓶颈时,什么会成为新的瓶颈?
也许答案是:一套内生的重要性判断机制——不依赖外部规则,能让系统自己知道该关注什么、可以忽略什么。

Elliot 需要的不是更大的脑容量,他需要的是一个能告诉他「这个选项不对劲」的声音。