目录

MACS:面向多智能体协作的低开销通信、状态传递与共享记忆机制

多 Agent 协作基础设施原型:用结构化协议传引用、 共享内存传状态、共享记忆传经验,在 18 个连续任务的受控实验中实现 线上通信 token 降低 86.2%、LLM prompt token 降低 76.7%、相似任务 端到端时延从 28 秒降至 0.02 秒(命中记忆)。


⭐ Innovation Highlights(核心创新)

MACS 并非重新设计 Agent,而是从系统层重新设计多 Agent 的协作方式。本工作围绕多智能体协作中的通信、状态共享与知识沉淀三个核心问题,提出了五项关键创新。

创新一:结构化通信协议(Protocol-first Communication)

传统多 Agent 系统通常采用自然语言作为通信媒介,Agent 之间不断复制上下文、重复传输长文本,导致通信 Token 随协作链路快速增长。 MACS 提出结构化通信协议(Structured Communication Protocol),采用 MsgPack 二进制协议 + 引用化消息机制,消息仅包含:

  • Action(动作)
  • Parameters(参数)
  • Memory Reference(记忆引用)
  • State Handle(状态句柄) 长度超过 100 字符的内容禁止直接内联传输,而是统一转换为引用对象,实现”传引用,不传正文“。 相比传统文本通信:
  • 线上通信 Token 降低 86.2%
  • 通信字节数降低 80.7%
  • Prompt Token 降低 76.7% 该机制是 MACS 通信效率提升的主要来源。

创新二:非文本状态传递(State-as-Reference)

传统多 Agent 系统只能交换自然语言。 MACS 首次将 LLM 内部状态作为通信对象,实现非文本状态传递(Non-text State Transfer)。 系统支持两类状态:

(1)语义状态(Embedding)

采用 Qwen2.5-0.5B Encoder 获取全部 24 层 Hidden States,经:

  • Mean Pooling
  • Layer Fusion
  • L2 Normalization
  • Centering 去公共方向 生成统一语义表示,用于:
  • Memory 检索
  • Query Routing
  • Semantic Matching 无需恢复原始文本。

(2)Prompt 状态(LLM Hidden)

将任务目标直接编码为:

LLM Token Embedding(Prompt Embedding) Embedding 张量经 POSIX Shared Memory 跨进程共享。 接收 Agent 无需重新 Tokenize,也无需恢复自然语言,而是直接通过: prompt_embeds → vLLM → Generate 完成推理。 整个过程实现: Hidden State → Shared Memory → Prompt Embeds → LLM 避免传统: Text → Tokenizer → Embedding → LLM 重复编码过程。 实验累计完成:

  • 22 次非文本状态传递
  • 共享状态规模 6.1 MB
  • 输出结果与纯文本 Prompt 保持一致 这是 MACS 最具创新性的系统机制之一。

创新三:共享记忆机制(Shared Memory System)

MACS 设计统一 Memory Unit 数据结构:

  • Memory ID
  • Source
  • Timestamp
  • Topic
  • Summary
  • Tags
  • Payload
  • Embedding 采用:
  • SQLite 持久化存储
  • Faiss 向量索引 支持三层知识复用 实验结果:
  • 记忆命中率 34.6%
  • 热运行 18 / 18 全部命中
  • 零误命中
  • 热运行平均仅 0.021 秒 共享记忆是 MACS 消除重复计算、提升连续任务效率的关键机制。

创新四:统一 Multi-Agent Runtime

MACS 并不仅实现多个 Agent,而是构建了一套完整的多 Agent 运行时。 所有 Agent 通过统一 Runtime 完成:

  • 能力注册(HELLO)
  • 能力发现(Capability Discovery)
  • 协议映射(Protocol Mapping)
  • 动态调度(Dynamic Dispatch) 同时共享:
  • LLM Service
  • Embedding Service
  • Shared Memory
  • Shared Memory Store 运行时支持:
  • Unix Socket IPC
  • MsgPack RPC
  • Shared Memory
  • CodeAct Sandbox

创新五:完整可复现实验体系

MACS 构建了完整的实验验证框架,而不仅提供单次实验结果。 实验包含:

  • 3 组连续任务
  • 共 18 个任务
  • 双模式对照(Text / Struct)
  • 热运行验证
  • 四级消融实验
  • 三轮重复实验
  • 95% Confidence Interval
  • P50 / P90 / P99 时延统计 均可一键复现。

Abstract

多 Agent 系统普遍以自然语言作为 Agent 间通信媒介,存在通信冗长、状态 反复编解码、知识无法沉淀三个系统层问题。MACS 实现了一套原型系统: 以 msgpack 二进制结构化协议替代自然语言透传;以 POSIX 共享内存按句柄 跨进程直传 hidden-state 语义向量与 LLM token 嵌入(软提示);以 SQLite+faiss 共享记忆实现任务经验的三层复用。4 个 Agent(规划/检索/ 执行/总结)以独立进程经 Unix Socket 协作,在 3 组 18 个关联连续任务、 双模式对照、四级消融的实验设计下验证了机制的有效性,并给出了各机制 贡献的定量拆解与诚实的边界分析。

1. Background & Motivation

大模型应用正从”单点生成”走向”分工协作”。一个典型任务需要规划、检索、计算、总结多个角色接力完成。当前主流 多 Agent 系统的协作方式是:一个 Agent 把中间结果组织成自然语言长文本, 交给下一个 Agent 解析继续。这种方式在多轮、多 Agent、复杂任务下有三个 结构性缺陷:

  1. 通信冗长:相同上下文在消息间反复复制,token 成本随链路长度膨胀 (本工作基线实测 18 任务线上传输 101418 token);
  2. 编解码损耗:Agent 的内部表示被强制”翻译”成文本,接收方再分词、 再编码——既消耗推理时间,又在转述中损失语义;
  3. 知识无沉淀:执行过程中形成的证据、代码、结论随会话销毁, 相似任务永远从零开始。

本工作的研究问题是:能否用系统层机制(而非更强的模型)显著降低多 Agent 协作的通信开销与重复计算?

2. Approach

2.1 总体架构

框架图 非文本传递架构图

2.2 三项核心机制

① 结构化通信协议:消息仅含动作/参数/引用(memory_id 12 字符、 StateHandle ~150 字符),>100 字符内容禁止内联;msgpack 二进制线格式; Agent 上线 HELLO 握手注册能力(名称/输入输出 schema/代价),协调器按 能力表完成协议映射与动态分派。

② 非文本状态直传:

  • 形态一 embedding:Qwen2.5-0.5B 全部 24 层 hidden states 分别 mean-pool 归一化后平均(多层融合,探针实验数据选型),再做去公共方向 centering,用于检索查询与记忆索引;
  • 形态二 llm_hidden:任务目标经 Qwen3-8B embed_tokens 编码为 token 嵌入张量(~260KB),经共享内存句柄直传,接收端按 chat 模板占位符 拼接后由 vLLM(prompt_embeds)直接从嵌入生成答案——任务文本全程 不上线,实测输出与纯文本提示一致。

③ 共享记忆复用:统一记忆单元(ID/来源/时间/主题/摘要/标签/payload/ 向量),SQLite+faiss 持久化;三层复用——答案级(语义+词汇 +数字三判据防误命中)、查询级缓存、证据级引用。

2.3 运行时与工程

4 个 Agent 各自独立进程,LLM/编码器/记忆作为主进程服务经同一协议 RPC 调用;CodeAct 执行器以 RLIMIT 受限子进程运行 LLM 生成的 Python; 全部运行于 openEuler 24.03(容器双环境验证)。

3. Experiments

3.1 设置

  • 硬件:RTX 3090 × 3(推理 / 编码器 / 内部表示服务各一)
  • 任务:3 组 × 6 个关联连续任务(知识分析 / CodeAct 计算 / 混合, 每组含 1-2 个语义改写任务用于复用验证),共 18 轮连续任务
  • 对照:同一任务集、同一 LLM,text(纯文本基线)vs struct(完整系统) vs struct_warm(热运行)vs 两个消融级别
  • 公平口径:两模式均只计消息语义内容的 token,排除封套字段

3.2 主结果(单轮规范运行 run1,18 任务)

指标 纯文本 结构化协议 改进
线上 token 101418 14036 ↓86.2%
线上字节 259407 49972 ↓80.7%
LLM prompt token 30634 7142 ↓76.7%
平均单任务时延(冷运行) 28.7 s 20.0 s ×1.43(含 4 个记忆命中任务;剔除后 25.7s,×1.12)
非文本状态传递 0 22 次 / 6.1 MB 新增
记忆命中率 0% 34.6%(零误命中) —
热运行(二次运行,单列) — 0.021 s/任务,×965 18/18 命中
改进(3轮均值,162观测) — — token ↓83.6%、prompt ↓70.3%、时延 ×1.34(27.9s/20.9s),三项 95% CI 均不重叠;warm 三轮零方差

注:主表为单轮规范运行(run1)数据;末行为 3 轮 × 18 任务 × 3 模式的 均值与置信结论(eval/results/repetition_stats.md)。 时延均值均为冷运行口径,热运行单列,不混入平均。

3.3 消融

级别 线上token prompt token 时延(s) 结论
M1 仅协议 13340(-86.8%) 10513(-65.7%) 25.6 通信节省主力
M2 +状态传递 18236 9382 24.3 保真+使能(短内容不省 token)
M3 +记忆复用 14036 7142 20.0 时延/prompt 边际主力

3.4 时延分布(单位秒)

模式 P50 P90 P99
text 24.3 38.0 38.2
struct 20.3 36.0 37.3
struct_warm 0.02 0.02 0.02

3.5 增加实验

  • 潜空间推理(LatentMAS 式,独立模块):时延 ×3.73、decode token -82.8%、潜思维句柄直传逐位无损;但质量在 Qwen3-8B 上不可用 (Wa 对齐重构误差下限 0.906,m≥10 即出错,详见 eval/results/latent_bench.md);
  • think=False 对照:时延 ×6.7 但计算题出现 10 倍错误——全量关思考 不可用,为潜推理路线提供实测动机。

3.6 图表

图 内容
eval/results/chart_compare.png 逐任务双模式 token/时延对比
eval/results/chart_summary.png 总量与对数轴时延(含热运行)
eval/results/chart_ablation.png 消融三联图
eval/results/chart_latency.png 时延分布 P50/P90/P99

4. Summary

结构化协议 + 引用化是通信开销节省的主要贡献(-86.8%);共享记忆是时延 与重复计算消除的边际主要贡献; 非文本状态直传是二者的使能机制,其价值在语义保真与机制创新 (软提示生成)而非短内容字节节省。全部数据、脚本、图表可一键复现。

5. Limitations

  • 任务集单一领域、18 个任务;B 组基线设计偏保守;
  • 非命中任务时延优势有限(×1.43,P99 两模式接近),瓶颈在 LLM 推理本身;
  • 单机 Unix Socket,未做跨机分布式;CodeAct 为轻量沙箱而非安全边界;
  • 潜推理在 8B 模型上质量不可用,主系统维持文本思考。

6. Quick Start

# 环境:openEuler 24.03 / Python 3.13 / 3×GPU(依赖见 requirements.txt)
pip install -r requirements.txt

# 一键进入交互系统(openEuler 容器,需 nvidia-container-toolkit)
bash scripts/docker_start.sh && docker start -ai macs

# 完整对比实验(18 任务 × 双模式 + 热运行,IPC 多进程运行时)
export CUDA_VISIBLE_DEVICES=0,1,2
python eval/run_experiments.py --groups A B C --modes text struct --runtime ipc --warm

# 消融实验 + 统计与图表
python scripts/run_ablations.py
python eval/make_report.py && python eval/make_extra_stats.py

# 单元测试(16 个,无需 GPU)与 openEuler 容器验证
python -m pytest tests/ -q
bash scripts/docker_test.sh        # CPU 机制验证
bash scripts/docker_gpu_test.sh    # GPU 端到端验证

7. Future Work

  1. 跨机传输:TCP/RDMA + 分布式状态存储,协议与传输已解耦(transports 表);
  2. KV cache 级状态接力:参考 LatentMAS 的 KV 前缀拼接与 vLLM NIXL connector,在长上下文/多实例场景降低重复 prefill;
  3. 潜空间推理实用化:更大模型 / 对齐调优 / 训练式对齐(本工作已测出 8B 上的质量边界与根因);
  4. 沙箱加固:seccomp / 容器隔离 / WASM;
  5. 记忆治理:可信度评分、过期与合并策略、多领域任务集扩展。

8. 交付物

赛题要求 交付物 位置
≥3 Agent、≥3 类角色、多步骤复杂任务 4 Agent(规划/检索/执行/总结),18 任务流水线 agents/、macscore/runtime/
结构化通信协议 + 握手/能力发现/协议映射 msgpack 协议、HELLO/CAP_QUERY、能力表调度 macscore/protocol/、runtime/bus.py
纯文本 vs 结构化双模式可复现对比 text/struct 双模式实验 eval/run_experiments.py
非文本中间状态传递(生成/传递/接收/使用) 多层融合语义向量 + LLM token 嵌入软提示 macscore/statex/、llm/engine.py
共享记忆单元(ID/来源/时间/主题/摘要) SQLite + faiss,三种检索,三层复用 macscore/memory/
关键词/标签/语义检索与跨任务复用 search_keyword/tag/semantic + 三判据命中 memory/store.py、orchestrator.py
≥2 组关联连续任务验证 3 组 18 任务(含改写对)+ 热运行 eval/tasks.py
消息数/token/状态规模/时延/命中率统计 全指标 + P50/P90/P99 + 图表 + 消融 eval/
五模块架构 + ≥10 轮连续稳定执行 运行时/协议/状态/记忆/评测;54 次零失败 全仓库
源码/设计文档/部署文档/实验报告/演示视频 前四项齐备;视频按演示脚本录制 docs/
openEuler 24.03 编译运行测试 CPU 机制 + GPU 端到端容器双验证 Dockerfile*、scripts/docker_*.sh
CodeAct 沙箱执行(鼓励项) LLM 生成 Python + RLIMIT 沙箱 agents/executor.py
潜空间推理探索(附加) LatentMAS 式模块与完整对照数据 macscore/latent/

9. 文档导航

文档 内容
docs/设计文档.md 架构、协议、状态传递、记忆、设计取舍
docs/实验报告.md 完整实验数据、图表、解读、诚实声明
docs/部署文档.md 环境、配置、容器、FAQ
关于
171.9 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号