
多智能体协作真相不要把共享记忆变成垃圾场摘要很多团队刚开始做多 Agent 时最喜欢干的一件事就是建一个全局的“共享上下文”让所有 Agent 在里面自由聊天。结果就是幻觉交叉感染、甩锅扯皮最后系统彻底崩溃。本文顺着上一篇的“量化四小龙”场景带你拆解多智能体协作时为什么绝对不能搞共享记忆以及如何用“物理隔离”和“消息总线”搭建一套严密的流水线通信机制。目录一、 痛点引入把共享记忆当大锅饭就是一场灾难二、 读写锁与物理隔离给 Agent 戴上镣铐三、 消息总线抛弃长文本用 JSON 和追踪号通信四、 总结Agent 越界是万恶之源一、 痛点引入把共享记忆当大锅饭就是一场灾难顺着上一篇的量化交易场景我们假设系统里有三个 Agent情报特工、逻辑推演师和执行机械臂。如果在开发时图省事把它们连进同一个“全局对话上下文”就像建了一个毫无权限管理的微信群会发生什么我们来推演一次经典的**“记忆污染链式反应”**情报特工产生幻觉它在阅读一份 50 页的财报时因为大模型固有的幻觉错误地总结出“某巨头高管跑路即将破产”并随手写进了全局记忆库。逻辑推演师盲目相信逻辑 Agent 被唤醒它扫描了全局记忆看到了“高管跑路”这几个字。它不会去核实原文而是基于这条虚假记忆推演出“全仓做空”的致命策略。执行机械臂闭眼拔线执行 Agent 看到群里两位大佬都达成了共识直接调用券商接口下单。砰爆仓了。事后去查日志排错时你会发现这简直是一笔糊涂账到底是谁写的假消息是谁把它放大的这就是把共享记忆当大锅饭吃的下场。多 Agent 的本质不是“一群聪明的脑子在自由讨论”而是**“一套严密的工业流水线在传递结构化数据”**。二、 读写锁与物理隔离给 Agent 戴上镣铐怎么解决这个问题核心思路就四个字物理隔离。就像公司里不同部门绝不会共用同一个无权限控制的 Excel 表格一样Agent 之间也绝不能共享同一个自然语言的 Context。每一个 Agent 都必须拥有自己的**“私有记忆区临时草稿本”并且对外严格遵循读写锁机制**。情报特工只拥有外部数据的读权限。它思考、提炼的中间过程全部存在私有记忆区绝不公开。风控纪委拥有极高的权限隔离级别。它的“风控红线规则库”是绝对的私有记忆如果让情报特工看到了风控底线大模型甚至会“谄媚”地修改情报来迎合风控。逻辑推演师只能“读”情报不能“改”情报只能“写”策略不能“执行”策略。通过这种方式我们把 Agent 的自由度锁死在它自己的工作台上谁也别想去动别人的桌子。三、 消息总线抛弃长文本用 JSON 和追踪号通信既然不共享大脑那 Agent 之间怎么交换信息答案是引入中央消息总线Message Bus。在成熟的工程架构里Agent 之间绝对不应该通过自然语言长文本来通信。长文本意味着模糊、不可控和解析成本高。它们之间的通信必须是高度结构化的 JSON 标签并且每一条消息都必须带上追踪号Trace ID。下面是一段简化的状态机通信伪代码类 消息总线:定义 发布主题(主题名,追踪号,结构化载荷,签名者):# 记录到审计日志数据库.写入(主题名,追踪号,结构化载荷,签名者,时间戳)触发下游订阅(主题名)定义 情报特工_工作流(原文):追踪号生成全局唯一ID()# 思考过程放在私有区不外传私有草稿大模型.分析(原文)# 最终只向总线发布提纯后的 JSON载荷{事件:高管变动,情绪得分:-80}消息总线.发布主题(情报提炼区,追踪号,载荷,签名者情报Agent)定义 逻辑推演师_工作流(监听事件):如果 监听事件.主题情报提炼区:# 带着同一个追踪号流转策略载荷{动作:减仓,依据:监听事件.载荷.事件}消息总线.发布主题(策略下发区,监听事件.追踪号,策略载荷,签名者逻辑Agent)为什么一定要带追踪号Trace ID因为有了追踪号一旦某笔交易爆仓我们立刻能根据这个 ID在数据库里把这条流水线上所有 Agent 的操作记录包括谁在什么时间发了什么 JSON全部拉出来。这就是防甩锅的终极利器。四、 总结Agent 越界是万恶之源当我们谈论多 Agent 架构时很多人的第一反应是怎么让它们变得更聪明、怎么让它们互相启发。但在真实的生产环境中聪明往往伴随着失控。架构师的核心任务不是教 Agent 怎么聊天而是给它们划定边界。把全局共享的记忆大锅饭砸掉换成带权限隔离的私有草稿本把自然语言的自由沟通掐断换成带 Trace ID 的结构化 JSON 总线。只有当每一个 Agent 都像流水线上的齿轮一样各司其职、互不干涉时你的多 Agent 系统才算真正具备了上生产环境的资格。