写上一篇 Agent 架构演变史的时候,有一个时刻让我愣住。
写到 SOAR(1987)的 Chunking 机制时,我意识到它和今天 Hermes Agent 的 SKILL 系统几乎做的是同一件事:把成功的经验编译成可复用的规则,下次直接调用。 我当时的原话是——
要我说,ReAct 循环完全跟这个一样,所以算不上什么新东西。
这不是故作惊人之语。顺着这个思路往下挖,我发现 SOAR 的整个记忆架构在今天看都不过时。不仅不过时,它还比大部分号称有"记忆系统"的产品更完整。
但这引出一个让我不太舒服的问题:
一个 1987 年的架构就已经想清楚的事,为什么 2026 年还在被当作创新来营销?
或者说更尖锐一点:记忆系统,真的是 Agent 性能的关键瓶颈吗?
一、SOAR 的记忆蓝图
SOAR(State, Operator And Result)由 Allen Newell、John Laird 等人在 1987 年提出。它的目标是实现通用人工智能——用的还是符号主义那套方法。
SOAR 不是"一个 AI 程序",它是一套关于智能的理论:任何表现出通用智能的系统,都得有某种固定的结构,包含什么记忆系统、什么决策流程、什么学习机制。
在这个框架里,记忆不是附加功能,是核心架构。SOAR 一共定义了 9 个记忆系统,分三层:
工作记忆(Working Memory)
这是 SOAR 的全局工作空间。所有感知输入、中间推理状态、决策状态都在这里,用栈结构分层表示目标与子目标。相当于今天 Agent 的 Scratchpad + 对话历史。
长期记忆(Long-term Memory)
长期记忆又细分为三个独立系统:
| 记忆类型 | 内容 | 今天的对应物 |
|---|---|---|
| 程序性记忆(Production Rules) | if-then 规则,决定怎么做 | LLM 的权重 + 推理策略 |
| 语义记忆(Semantic Memory) | 事实性知识,知道是什么 | RAG 知识库 / 向量数据库 |
| 情节记忆(Episodic Memory) | 过去的经验,经历过什么 | 对话历史 / 记忆流 |
意向记忆(Intention Memory)
SOAR 还有一个 Goal Stack(目标栈),管理当前正在追求的子目标及其优先级。这对应今天 Agent 的任务队列和规划器。
决策周期
SOAR 的核心循环是:
感知 → 匹配规则 → 冲突消解 → 执行 → 学习(Chunking)
遇到无法解决的问题时,自动创建子目标去解决。解决后,Chunking 机制把整个推导过程编译成一条新的生产规则。
每一次循环可以改变行为。每一次 Chunking 可以永久提升效率。
二、今天的"记忆营销"
现在回过头看 2023-2026 年的 Agent 产品,你会发现一个有趣的现象:几乎每个产品都在卖"记忆系统"。
| 产品/框架 | 记忆卖点 | 实际实现 |
|---|---|---|
| MemGPT/Letta | 操作系统级分层记忆 | 存档存储 → 向量检索 → 注入上下文 |
| Hermes Agent | 终身学习、三层记忆 | MEMORY.md(2200字符) + USER.md + FTS5 全文搜索 |
| ChatGPT Memory | 跨会话记住用户偏好 | LLM 提取事实 → 结构化摘要 → 下次注入 |
| Claude 项目记忆 | 记住项目上下文 | 单个 LLM 生成的项目摘要 |
| Zep | 自动实体提取和记忆管理 | 实体图谱 + 时间衰减 + 重要性评分 |
| Kimi | 手动保存到 AGENTS.md | 纯文本文件读写 |
把这张表和 SOAR 的 9 层记忆系统放在一起看,你会发现一件尴尬的事:
今天的"记忆系统"并没有比 SOAR 更丰富,反而更简陋。
SOAR 有程序性记忆(改变了决策逻辑)、语义记忆(知识库)、情节记忆(经验)、目标栈(任务管理)。今天的产品基本上只实现了"存文本→检索→注入上下文"这一个模式,管它叫"记忆"。
更关键的区别在后面。
三、检索式记忆的理论天花板
抛开营销回到技术层面:今天的"记忆系统"本质上都是检索式记忆——你存一段文本,下次用向量搜索找到它,再塞回上下文。
这个范式有一个数学层面无法规避的问题。
3.1 高维诅咒
你能想到的几乎所有嵌入模型都在用 768d 或 1024d 的向量。
Aggarwal 等人在 2001 年就证明了一个令人不安的事实:当维度超过 ~25 时,高维空间中所有点的距离趋向均匀。最近邻和最远邻的距离比值趋近于 1。
这意味着:你的向量索引本质上是一个随机排序器, 只是被嵌入模型的"语义压缩"勉强维持着秩序。两个文档余弦相似度 0.85 可能语义无关,另外两个 0.80 可能是同义改写。你的 ANN 索引分辨不了这个区别。
你提高召回率=扩大检索范围,必然引入噪声——因为决策边界一定包含边界线不相关的文档。
3.2 Lost in the Middle
Liu 等人(2023)发现 LLM 在长上下文上的表现呈 U 型曲线:相关信息在开头和结尾时性能最好,在中间时下降 20-40%。
这意味着什么?你为了提高召回率多检索几个文档进去,这些文档恰好被塞进了模型最不会利用的位置。
你在主动伤害自己。
更糟糕的是,这个 U 型是因果注意力(Causal Attention)的结构性属性。长上下文模型(128K、200K、甚至 1M)都没有消除它。它是一个 architectural 问题,不是一个参数能调好的。
3.3 LLM 对噪声的极度敏感
Shi 等人(2023)在 GSM-IC 基准上发现:一个无关句子就让 GPT-3 的准确率从 80% 掉到 55-65%。 一个句子。
Cuconasu 等人(2024)进一步揭示:主题相关但实际无关的文档比明显无关的文档更有害——因为 LLM 分不清"看起来相关但没用"和"真正有用"。
把这三个事实串起来:
| 事实 | 含义 |
|---|---|
| 高维诅咒 | 提高召回率不可避免引入噪声 |
| Lost in the Middle | 多塞的文档在模型最不擅长的位置 |
| 噪声敏感 | 少量噪声就显著降低输出质量 |
这就是 Precision-Recall 矛盾的完整图景。它不是工程问题,是结构性问题。
3.4 实证:记忆增益的边际递减
我不是在说记忆系统没用。它确实有效。Hindsight(2025)把 20B 模型在 LongMemEval 上从 39% 提升到 83.6%。CorpGen(2026)把多任务完成率从 8.7% 提升到 15.2%(3.5x)。
但同一批论文也揭示了一个天花板:
- Zep 在 MemGPT 自己的基准上只领先 1.4 个百分点
- Lian 等人(2024)发现记忆超过 500 个事件的 Agent 产生矛盾计划的概率是小于 50 个事件的 2 倍
- 学术界开始承认:当前 RAG 范式的记忆系统正在逼近收益天花板
四、SOAR Chunking vs 现代 Agent 的"学习"
回到 SOAR。它的 Chunking 和今天的"记忆"有一个本质性的区别:
| 维度 | SOAR Chunking | 现代 Agent 记忆 |
|---|---|---|
| 改变了什么 | 新增生产式规则到架构中 | 存一段文本到数据库 |
| 持久性 | 永久的行为改变 | 依赖上下文窗口(滚出去就没了) |
| 机制 | 条件-动作规则编译 | 文本注入到 prompt |
| 泛化 | 规则自动匹配任何符合条件的状态 | 只有文本重新注入才生效 |
| 重量级 | 轻量(一条规则) | 重量级(每次检索 + 上下文消耗) |
SOAR 的 Chunking 是真正的程序性学习:系统的决策逻辑被永久修改了。下次遇到同样的情况,它不需要思考,直接反应。
现代 Agent 的"记忆"是外部文本存储:每次使用都需要重新检索、重新注入、让模型重新处理。你记了 100 件事,每次对话开始,你要检索一次,消耗一次上下文。
这不是同一个量级的东西。
Hermes Agent 的 SKILL 系统是最接近 Chunking 的——它在完成任务后自动创建 SKILL 文件——但它依然只是存了一段文本,下次读取这段文本。模型权重从未被修改过。
所有号称"终身学习"的产品都得打上问号。
五、Harness 工程:被忽视的真正杠杆
如果记忆不是 Agent 性能的关键瓶颈,那什么是?
越来越多的证据指向另一个方向:Agent 与环境的接口质量——工具设计、反馈信号、错误处理、状态控制。 我称之为 Harness 工程。
Andrew Ng 的数据
2024 年 3 月,Andrew Ng 在 Agentic Design Patterns 系列中公布了一个令人震惊的对比:
| 配置 | HumanEval 准确率 |
|---|---|
| GPT-4 零样本 | 67.0% |
| GPT-3.5 零样本 | 48.1% |
| GPT-3.5 + Agent 循环 | 95.1% |
GPT-3.5(弱模型)+ 良好的 Agent 流水线(工具使用、反思、规划)大幅超越了 GPT-4(强模型)零样本。
这意味着你可以花精力优化模型内部的记忆系统,也可以花精力优化 Agent 外部的工具和流程。后者的收益可能更高。
Anthropic 的 ACI 概念
Anthropic 在 2024 年 12 月的《Building Effective Agents》中提出了 ACI(Agent-Computer Interface) 的概念——Agent 与计算机之间的接口质量和 HCI 一样值得精心设计。
他们报告:
“在 SWE-bench 的 Agent 上,优化工具所花的时间比优化整体提示词还要多。”
一个具体的案例:把工具参数从相对路径改成绝对路径(简单的防错设计),就消除了一整类错误。不需要更好的记忆,不需要更强的模型,只需要想清楚工具该怎么暴露。
这就是 Harness 工程的威力。
MCP 和 A2A 的标准化信号
2024-2025 年,两个协议的出现标志着产业界意识到 Harness 层的重要性:
- MCP(Model Context Protocol):标准化 Agent 如何访问工具和数据
- A2A(Agent-to-Agent Protocol):标准化 Agent 之间如何通信
这两个协议不是在解决"模型怎么更聪明",而是在解决"Agent 如何更好地与环境互动"。它们本质上都是 Harness 工程的标准化工件。
六、结论:先修路,再建博物馆
我不是在否定记忆系统。记忆是必要的。SOAR 说得对,任何通用智能系统都需要记忆。今天的产品也确实从记忆中受益。
我想说的是两件事:
第一,记忆的收益正在递减。 检索式记忆有坚实的理论天花板。你可以继续优化你的 RAG 管道、调参 HNSW、尝试不同的 chunk 策略——但 PR 矛盾不是"优化参数就能解决"的工程问题,是结构性的约束。
第二,Harness 工程是被忽视的更大杠杆。 好的工具设计、清晰的反馈信号、可靠的状态控制——这些给 Agent 带来的增益可能远大于更好的记忆。Andrew Ng 的 95.1% 和 Anthropic 的 ACI 实践都在指向这个方向。
如果要用一个比喻来总结:
记忆是博物馆的展品。Harness 是通往博物馆的路。大部分人都在争论展品怎么摆放更漂亮,但真正决定你能看多少展品的,是那条路修得好不好。
SOAR 在 1987 年就看懂了这件事。它的 9 层记忆系统很漂亮,但真正让它"至今不过时"的,是那个将记忆、决策、执行、学习整合在一起的闭环架构——也就是它对自己的"环境"(包括记忆环境)的完整管理。
30 年过去了,我们还在卖"记忆系统"这个概念。也许该往前看了。