首页 › ai-agents › 多智能体记忆:黑板复活战

概述

把 Gartner 的数字放在最前面:2024 年初到 2025 年中,关于多智能体系统的咨询量激增 1,445%。但真实工程里卡住团队的,从来不是"能不能编排五个 Agent",而是五个 Agent 之间靠什么共享上下文。到 2026 年,多智能体协作的瓶颈已经从调度(谁先做、谁后做)彻底转移到了记忆(中间结果存哪、谁读得到、读到的是不是最新的)。本文拆解当前三种主流的多智能体记忆架构——消息传递、共享黑板、外部化产物——以及它们各自的协作效率与一致性代价,最后给出按任务形态选型的硬规则。

多智能体记忆架构:四栈横评

架构 共享载体 一致性 写放大 隔离性 典型实现
消息传递(会话派) 对话历史 弱(最终一致) 低 强 AutoGen / CrewAI 对话
共享黑板(Blackboard) 全局可写状态 中(需锁/reducer) 高 弱 LangGraph State / 自建黑板
外部化产物(Artifact) 文件/对象存储 最终一致 低 强 Claude Code 工作目录 / Agent 即微服务
层级记忆 短期会话+长期向量+共享层 混合 中 中 Letta / MemGPT 派系
向量共享层 嵌入索引 最终一致 低 弱 RAG 共享知识库

记住一个判断:这张表里没有"最优",只有"最匹配任务结构的那一行"。把强一致的黑板塞进一对一会话任务,是过度工程;把消息传递硬扛十人协作的状态合并,是迟早崩盘。

深度拆解

一、Hub-Spoke 编排器的"记忆瓶颈"

2026 年绝大多数团队的第一套多智能体系统长这样:一个 lead agent 加 N 个 subagent,lead 既负责拆任务、又负责把每个 subagent 的结果读进自己的上下文再合并。这正是 Anthropic 工程团队在 How we built our multi-agent research system 里描述的形态——当任务是"广度优先的全面研究"时,并行 subagent 能把单线索串行研究的时间大幅压缩。

但这个架构的命门是 lead agent 的上下文窗口。每个 subagent 回来的结果都要塞进 lead 的 context,N 一旦超过 5–8 个,lead 就开始丢失早期 subagent 的结论,合并质量断崖式下滑。这本质上是一个"记忆中枢单点过载"问题:lead agent 既是编排器又是状态库,两个角色争抢同一份 context 预算。破局的关键不是换更大的模型,而是把"编排"和"状态"拆开——lead 只保留指针("任务 A 的结果在产物文件 result_a.md"),不保留内容。这就是为什么 Anthropic 自己也强调 subagent 应该返回"简洁的结构化摘要"而非原始长文。

二、共享黑板(Blackboard)的 2026 复兴

黑板模型是 1980 年代 Hearsay-II 语音理解系统的遗产:多个独立的"知识源"向一块公共黑板读写,由调度器决定谁何时激活。它在单体内核时代被冷落了三十年,却在 2026 年的多智能体场景里复活——因为 LLM agent 天然就是异构、异步、松耦合的"知识源"。

LangGraph 的 StateGraph 是当前最成熟的黑板实现:用一个 TypedDict 定义共享状态结构,每个节点(agent)只读写自己关心的字段,并发写冲突用 add_messages 这类 reducer 显式合并。

from typing import TypedDict, Annotated
from langgraph.graph import StateGraph

class Board(TypedDict):
    facts: Annotated[list[str], lambda a, b: a + b]  # reducer: 追加而非覆盖
    claims: list[str]
    verdict: str | None

g = StateGraph(Board)
g.add_node("researcher", research_fn)   # 只写 facts
g.add_node("analyst", analyze_fn)       # 读 facts,写 claims
g.add_node("judge", judge_fn)           # 读 claims,写 verdict

黑板的威力在于隐式协作:analyst 不需要知道 researcher 是谁,它只盯黑板。代价同样明显——并发写需要 reducer 仲裁,字段一多,状态 schema 会膨胀成无人维护的怪兽;任何 agent 都能污染黑板,缺乏所有权边界。黑板适合"任务边界清晰、字段稳定、读多写少"的协作;一旦 agent 之间需要强时序耦合,黑板就退化成低效的全局锁。

三、消息传递的"上下文重建税"

会话派(AutoGen 的 GroupChat、CrewAI 的任务交接)走的是另一条路:agent 之间不共享任何显式状态,所有信息靠对话历史传播。每次一个 agent 接力,它都得从完整的对话历史里重建上下文——重新理解前面发生过什么。

这在两个人类对话时是自然的,但在 agent 之间是一种隐性税。研究表明,传话链每多一级,关键信息的保真度衰减显著,到第十级常常只剩六成左右。原因正是上下文重建:每个中间 agent 都是"翻译官",它先压缩再复述,压缩的依据是它自己当前 context 里的权重分配,而非原始信息的重要性。消息传递的协作效率低,但隔离性和扩展性最好——加一个新 agent 只需让它加入对话,不需要改任何全局 schema。对于"流水线式、每段责任清晰、不回头"的任务,会话派是最省事的;对于需要反复回看中间产物、多 agent 动态援引的任务,会话派会让你付一遍又一遍的重建税。

四、外部化产物:Agent 即微服务

如果从分布式系统而非对话系统的视角看,多智能体协作的最稳形态是把每个 agent 当成一个微服务:它不直接和别人共享内存,只通过对外发布的产物(文件、对象、API 返回)来通信。Claude Code 的多 agent 协作、以及大量"agent 即 worker"的实战系统,本质都是这条路——agent 把结果写到工作目录里的某个文件,下一个 agent 读文件继续,文件名就是契约。

# 工作目录即黑板,文件即契约
./runs/2026-06-27/research.md   ← researcher 产出
./runs/2026-06-27/analysis.md   ← analyst 读 research.md,产出
./runs/2026-06-27/verdict.md    ← judge 读 analysis.md,产出

这条路的一致性是"最终一致"——没有强锁,但天然可重放(每个产物都有时间戳和来源)、天然可审计(谁产出了什么一目了然)、天然可隔离(一个 agent 崩了不污染别人的内存)。代价是延迟:每次跨 agent 都要落盘再加载,串行链路下延迟叠加。它最适合有副作用、要持久化、人要回看的协作(编码、研究、报告生成),最不适合纯推理、低延迟、不落盘的实时对话。

五、层级记忆:短期、长期、共享的三层切分

更工程化的做法是把记忆切成三层:每个 agent 自己的短期会话上下文(私房,谁也不给)、跨 session 的长期向量记忆(每个 agent 一份,回忆自己的历史)、以及专门的共享层(团队级知识,所有 agent 可读但通常只读)。Letta / MemGPT 这一派的核心洞察是:别让所有东西都堆进一个 context,而是用分页(core memory vs archival memory)把热数据留在 context、冷数据外置到向量库。

分层的好处是显著降低了单 agent 的 context 压力,坏处是引入了"什么该上提、什么该下沉"的检索决策——而这个决策本身又是一个易错的 LLM 调用。共享层的语义检索还会带来召回噪声:agent A 写入的事实,可能因为嵌入相近被 agent B 在不相关的语境下召回,造成"记忆串味"。这是 2026 年多智能体系统一个被低估的故障面。

六、一致性 vs 隔离性:多智能体的 CAP 取舍

把多智能体记忆当作分布式数据库来看,问题立刻清晰:你不可能同时拿到强一致性、高可用、分区容忍。多 agent 是天然分区的(每个 agent 一个 context,等价于网络分区),所以真实的选择是 CP 还是 AP:

绝大多数 LLM 协作任务容忍最终一致——因为 agent 输出本就有概率性,强一致带来的复杂度远超收益。真正需要强一致的,是少数有真金白银副作用的环节(同一账户的并发扣款、同一文件的并发写),而这些恰恰应该被锁进确定性工具,而不是交给 LLM 协调。一个反复被验证的经验法则:把一致性问题从"agent 之间"挪到"工具内部"——让 agent 调用一个线程安全的服务,而不是让两个 agent 自己商量谁先写。

flowchart LR
    subgraph CP["强一致路线 · 黑板+锁"]
        A1[Agent A] --写--> B[(Blackboard\nreducer仲裁)]
        A2[Agent B] --写--> B
        B --读--> A3[Agent C]
    end
    subgraph AP["最终一致路线 · 产物+合并"]
        C1[Agent A] --产物--> P1[(a.md)]
        C2[Agent B] --产物--> P2[(b.md)]
        M[Merger] --读--> P1
        M --读--> P2
    end
    B -.慢节点拖全局.-> CP
    M -.事后合并/冲突.-> AP

选型硬规则

第一条:任务结构决定记忆架构,而非反过来。 流水线(研究→分析→写作)用外部产物,最省心、可审计;发散式协作(头脑风暴、辩论)用共享黑板,隐式协作最高效;松耦合并行(同一问题多 agent 各做一份再投票)用消息传递或独立产物,隔离性最好。先画任务依赖图(链?树?环?),再选记忆栈。

第二条:能外置就别内联。 凡是有持久化价值、需要回看、可能被多个 agent 引用的中间结果,一律写成文件而非塞进对话历史。文件是天然的事务边界和审计日志,对话历史不是。

第三条:把一致性问题锁进工具,不要交给 agent。 涉及共享可变状态的并发,用线程安全的服务承载;让 agent 调用服务,而不是让 agent 之间互相谦让。这条能消掉一大半"两个 agent 写冲突"的诡异 bug。

第四条:lead agent 只拿指针,不拿内容。 编排器是路由器不是数据库,它的 context 预算要留给"下一步调度谁",而不是装满每个 subagent 的返回。subagent 返回结构化摘要 + 产物路径,而非原文。

第五条:监控的不是 token,而是"重建次数"。 多智能体系统真正烧钱的是反复重建上下文。如果一个事实在一次任务里被三个 agent 各自重新推导了一遍,那是一个比 token 更值得修的浪费。

归并判断

到 2026 年中,多智能体记忆架构正在收敛向一个稳定的二分:需要强一致、字段稳定的,走黑板(LangGraph State 是事实标准);需要隔离、可审计、可重放的,走外部产物(agent 即微服务)。会话派仍是最易上手的入门形态,但一旦任务复杂度上来,几乎都会迁移到这两条路上之一。向量共享层则作为两者的通用"长期记忆后端"横切存在。选型的关键不是哪个框架 Star 多,而是你画出来的任务依赖图,更像一条链、一棵树,还是一个环。

参考来源

  1. AI Agent Memory Architectures for Multi-Agent Systems — Zylos Research — 提出"记忆是多智能体核心未解问题",给出 shared/isolated/hierarchical 三类架构与 Gartner 1,445% 增长数据
  2. Multi-Agent AI Architecture in Production: Patterns, Frameworks & Observability (2026) — MACGPU — 六种编排拓扑、MCP+A2A 集成与可观测性,含并行 vs 串行耗时对比
  3. Multi-Agent Memory from a Computer Architecture Perspective — ACM SIGARCH / arXiv — 将多智能体记忆映射为计算机体系结构问题,提出一致性/隔离性框架
  4. Agent Memory Sharing Strategies: Blackboard, Message Passing, and Vector Stores — CallSphere — 三种基础记忆共享架构的工程权衡对比
  5. CrewAI vs LangGraph vs AutoGen: Choosing the Right Multi-Agent AI Architecture — DataCamp — 三大框架如何承载共享状态与工作流,附代码与选型指引

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入