跳到主要内容

不共享上下文的多 Agent 协作

为什么说这才是"真正的"多 Agent 协作?​

  • 结构: 每个 Agent 都是独立实体,拥有自己的上下文、轨迹与状态;
  • 隔离: 彼此无法直接访问对方的"内心活动";
  • 依赖: 协作完全依赖三种通信机制——工具调用参数、共享文件系统、消息总线,详见 协作的两个设计维度;

多 Agent 系统与操作系统如何对应?​

表10-2 多 Agent 系统与操作系统的对应关系

操作系统多 Agent 系统
程序(可执行文件)静态前缀(系统提示词 + 工具定义)
进程的内存轨迹
CPULLM
内核Agent 运行时
系统调用工具调用
fork(创建子进程)spawn_subagent
kill(发送信号)cancel_subagent
ps(列出进程)list_agents
退出码与 wait()子 Agent 返回的结构化摘要
共享内存 / 消息传递共享文件系统 / 消息
  • 理论同源: 私有状态、异步消息、可创建新成员正是 1970 年代 Actor 模型的基本设定(Hewitt 等,IJCAI 1973);
  • 定位: 多 Agent 系统不妨看作 Actor 模型的 LLM 版本,因此操作系统与分布式系统的成熟经验大多可以直接借用;

进程式隔离带来哪些工程好处?​

  • 独立开发: 每个 Agent 可以独立开发和测试,新增能力不需要改动现有代码;
  • 故障隔离: 某个 Agent 出了故障也不会把错误状态传染给其他 Agent(但语义级错误仍会传播,见 多 Agent 的失败模式);
  • 真并发: 多个 Agent 可以真正并发执行——上下文完全独立,不存在资源竞争;

不共享上下文的代价是什么?​

  • 信息同步: 各 Agent 如何对任务状态保持一致的理解,信息在传递中会不会丢失或重复;
  • 调试: 出了问题需要翻看多个 Agent 的日志才能拼出完整执行过程;
  • 推论: 接口规范、数据格式与通信协议的设计因此变得至关重要;

两套基础设施分别承担什么职责?​

  • 数据平面: 共享文件系统,作为 Agent 间交换产物、与用户交换文件的持久媒介;
  • 控制平面: 通信与控制机制,支持消息传递、状态查询、执行终止与资源调度;
平面机制对应笔记
数据平面共享文件系统Agent 的虚拟文件系统
控制平面消息传递、状态查询Agent 间的消息与状态
控制平面执行终止、资源调度终止级联与资源调度
  • 拓扑: 依据协作关系与控制流特征,不共享上下文的协作分为对等协作、管理者、去中心化三种架构;