Update README.md
多 Agent 协作基础设施原型:用结构化协议传引用、 共享内存传状态、共享记忆传经验,在 18 个连续任务的受控实验中实现 线上通信 token 降低 86.2%、LLM prompt token 降低 76.7%、相似任务 端到端时延从 28 秒降至 0.02 秒(命中记忆)。
传统多 Agent 系统通常采用自然语言作为通信媒介,Agent 之间不断复制上下文、重复传输长文本,导致通信 Token 随协作链路快速增长。 MACS 提出结构化通信协议(Structured Communication Protocol),采用 MsgPack 二进制协议 + 引用化消息机制,消息仅包含:
传统多 Agent 系统只能交换自然语言。 MACS 首次将 LLM 内部状态作为通信对象,实现非文本状态传递(Non-text State Transfer)。 系统支持两类状态:
采用 Qwen2.5-0.5B Encoder 获取全部 24 层 Hidden States,经:
将任务目标直接编码为:
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 重复编码过程。 实验累计完成:
MACS 设计统一 Memory Unit 数据结构:
MACS 并不仅实现多个 Agent,而是构建了一套完整的多 Agent 运行时。 所有 Agent 通过统一 Runtime 完成:
MACS 构建了完整的实验验证框架,而不仅提供单次实验结果。 实验包含:
多 Agent 系统普遍以自然语言作为 Agent 间通信媒介,存在通信冗长、状态 反复编解码、知识无法沉淀三个系统层问题。MACS 实现了一套原型系统: 以 msgpack 二进制结构化协议替代自然语言透传;以 POSIX 共享内存按句柄 跨进程直传 hidden-state 语义向量与 LLM token 嵌入(软提示);以 SQLite+faiss 共享记忆实现任务经验的三层复用。4 个 Agent(规划/检索/ 执行/总结)以独立进程经 Unix Socket 协作,在 3 组 18 个关联连续任务、 双模式对照、四级消融的实验设计下验证了机制的有效性,并给出了各机制 贡献的定量拆解与诚实的边界分析。
大模型应用正从”单点生成”走向”分工协作”。一个典型任务需要规划、检索、计算、总结多个角色接力完成。当前主流 多 Agent 系统的协作方式是:一个 Agent 把中间结果组织成自然语言长文本, 交给下一个 Agent 解析继续。这种方式在多轮、多 Agent、复杂任务下有三个 结构性缺陷:
本工作的研究问题是:能否用系统层机制(而非更强的模型)显著降低多 Agent 协作的通信开销与重复计算?
① 结构化通信协议:消息仅含动作/参数/引用(memory_id 12 字符、 StateHandle ~150 字符),>100 字符内容禁止内联;msgpack 二进制线格式; Agent 上线 HELLO 握手注册能力(名称/输入输出 schema/代价),协调器按 能力表完成协议映射与动态分派。
② 非文本状态直传:
③ 共享记忆复用:统一记忆单元(ID/来源/时间/主题/摘要/标签/payload/ 向量),SQLite+faiss 持久化;三层复用——答案级(语义+词汇 +数字三判据防误命中)、查询级缓存、证据级引用。
4 个 Agent 各自独立进程,LLM/编码器/记忆作为主进程服务经同一协议 RPC 调用;CodeAct 执行器以 RLIMIT 受限子进程运行 LLM 生成的 Python; 全部运行于 openEuler 24.03(容器双环境验证)。
注:主表为单轮规范运行(run1)数据;末行为 3 轮 × 18 任务 × 3 模式的 均值与置信结论(eval/results/repetition_stats.md)。 时延均值均为冷运行口径,热运行单列,不混入平均。
eval/results/repetition_stats.md
eval/results/latent_bench.md
eval/results/chart_compare.png
eval/results/chart_summary.png
eval/results/chart_ablation.png
eval/results/chart_latency.png
结构化协议 + 引用化是通信开销节省的主要贡献(-86.8%);共享记忆是时延 与重复计算消除的边际主要贡献; 非文本状态直传是二者的使能机制,其价值在语义保真与机制创新 (软提示生成)而非短内容字节节省。全部数据、脚本、图表可一键复现。
# 环境: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 端到端验证
agents/
macscore/runtime/
macscore/protocol/
runtime/bus.py
eval/run_experiments.py
macscore/statex/
llm/engine.py
macscore/memory/
memory/store.py
orchestrator.py
eval/tasks.py
eval/
docs/
Dockerfile*
scripts/docker_*.sh
agents/executor.py
macscore/latent/
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MACS:面向多智能体协作的低开销通信、状态传递与共享记忆机制
⭐ Innovation Highlights(核心创新)
MACS 并非重新设计 Agent,而是从系统层重新设计多 Agent 的协作方式。本工作围绕多智能体协作中的通信、状态共享与知识沉淀三个核心问题,提出了五项关键创新。
创新一:结构化通信协议(Protocol-first Communication)
传统多 Agent 系统通常采用自然语言作为通信媒介,Agent 之间不断复制上下文、重复传输长文本,导致通信 Token 随协作链路快速增长。 MACS 提出结构化通信协议(Structured Communication Protocol),采用 MsgPack 二进制协议 + 引用化消息机制,消息仅包含:
创新二:非文本状态传递(State-as-Reference)
传统多 Agent 系统只能交换自然语言。 MACS 首次将 LLM 内部状态作为通信对象,实现非文本状态传递(Non-text State Transfer)。 系统支持两类状态:
(1)语义状态(Embedding)
采用 Qwen2.5-0.5B Encoder 获取全部 24 层 Hidden States,经:
(2)Prompt 状态(LLM Hidden)
将任务目标直接编码为:
创新三:共享记忆机制(Shared Memory System)
MACS 设计统一 Memory Unit 数据结构:
创新四:统一 Multi-Agent Runtime
MACS 并不仅实现多个 Agent,而是构建了一套完整的多 Agent 运行时。 所有 Agent 通过统一 Runtime 完成:
创新五:完整可复现实验体系
MACS 构建了完整的实验验证框架,而不仅提供单次实验结果。 实验包含:
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、复杂任务下有三个 结构性缺陷:
本工作的研究问题是:能否用系统层机制(而非更强的模型)显著降低多 Agent 协作的通信开销与重复计算?
2. Approach
2.1 总体架构
2.2 三项核心机制
① 结构化通信协议:消息仅含动作/参数/引用(memory_id 12 字符、 StateHandle ~150 字符),>100 字符内容禁止内联;msgpack 二进制线格式; Agent 上线 HELLO 握手注册能力(名称/输入输出 schema/代价),协调器按 能力表完成协议映射与动态分派。
② 非文本状态直传:
③ 共享记忆复用:统一记忆单元(ID/来源/时间/主题/摘要/标签/payload/ 向量),SQLite+faiss 持久化;三层复用——答案级(语义+词汇 +数字三判据防误命中)、查询级缓存、证据级引用。
2.3 运行时与工程
4 个 Agent 各自独立进程,LLM/编码器/记忆作为主进程服务经同一协议 RPC 调用;CodeAct 执行器以 RLIMIT 受限子进程运行 LLM 生成的 Python; 全部运行于 openEuler 24.03(容器双环境验证)。
3. Experiments
3.1 设置
3.2 主结果(单轮规范运行 run1,18 任务)
3.3 消融
3.4 时延分布(单位秒)
3.5 增加实验
eval/results/latent_bench.md);3.6 图表
eval/results/chart_compare.pngeval/results/chart_summary.pngeval/results/chart_ablation.pngeval/results/chart_latency.png4. Summary
结构化协议 + 引用化是通信开销节省的主要贡献(-86.8%);共享记忆是时延 与重复计算消除的边际主要贡献; 非文本状态直传是二者的使能机制,其价值在语义保真与机制创新 (软提示生成)而非短内容字节节省。全部数据、脚本、图表可一键复现。
5. Limitations
6. Quick Start
7. Future Work
8. 交付物
agents/、macscore/runtime/macscore/protocol/、runtime/bus.pyeval/run_experiments.pymacscore/statex/、llm/engine.pymacscore/memory/memory/store.py、orchestrator.pyeval/tasks.pyeval/docs/Dockerfile*、scripts/docker_*.shagents/executor.pymacscore/latent/9. 文档导航