Delete download
面向多智能体协作的低开销通信、状态传递与共享记忆系统
MAS-Light 面向多智能体协作场景,围绕自然语言通信冗余、中间状态反复文本化、历史经验难以跨运行复用,以及真实系统任务缺少确定性验证等问题,构建了一套可运行、可评测、可追踪的四 Agent 协作框架。
系统由 Planner、Retriever、Executor 和 Summarizer 四个 Agent 组成,并通过 A/B/C/D 四种消融模式,在相同任务、工具、Judge 和重复规则下比较文本通信、结构化通信、StateRef 状态传递与共享 Memory 复用效果。
链接:https://pan.baidu.com/s/1ByR6HQNvuZEP9CJwZ4uWuA 提取码:9981
最终代码版本在develop分支下面
本项目早期开发阶段曾使用 Gitee 进行代码协作,后根据大赛作品提交要求迁移至 GitLink。
当前 GitLink 仓库为项目唯一正式开发、提交与评审仓库。后续分支管理、版本发布及竞赛作品材料均以本仓库为准,原 Gitee 仓库仅保留为历史开发记录,不作为当前作品提交基线。
正式 GitLink 仓库:
https://gitlink.org.cn/IxjP7CtKTu/yzmxdzntxzddkxtxztcdygxjyjz
HTTPS 克隆地址:
git clone https://gitlink.org.cn/IxjP7CtKTu/yzmxdzntxzddkxtxztcdygxjyjz.git mas-light
结构化通信使用 TaskPlan、ToolCall、ExecutionResult 等结构化对象组织动作、参数和执行结果,减少自然语言重复描述与二次解析。
StateRef 状态传递Agent 消息仅传递轻量状态引用,真实 StateObject 由 StateStore 保存、加载、复用和清理。
共享 MemoryD 模式按任务保存经 Judge 验证的经验,并在后续运行中完成检索、复用与反馈更新。
四 Agent 协作Planner 负责任务规划,Retriever 负责证据检索,Executor 负责受控执行,Summarizer 负责结果归纳与可复用经验整理。
受控工具边界通过工具注册、Schema 校验、路径限制、风险等级、超时和结构化错误,阻止越界或不规范调用。
确定性评测使用 Benchmark、Judge、Trace、Cleanup、Residue、Manifest 和 SHA256 构成完整证据链。
真实 systemd 场景覆盖环境变量缺失、文件权限异常和端口占用等受控系统服务故障。
四种模式共享相同任务、工具能力、Judge、重复次数、稳定性设置和终止条件,仅改变通信形式、State 和 Memory 三类变量。
MAS-Light 的主要组成包括:
任务合同 └── Benchmark 配置 / TaskPlan / 模式参数 四 Agent Runtime ├── Planner ├── Retriever ├── Executor └── Summarizer 状态与记忆 ├── StateRef ├── StateStore └── shared_memory.db 执行与安全 ├── ToolRegistry ├── 路径与命令边界 ├── 风险等级 └── Timeout 评测与证据 ├── Evaluation ├── Judge ├── Trace ├── Cleanup ├── Residue ├── Manifest └── SHA256
系统遵循以下责任边界:
推荐环境:
真实 Task Group B systemd 测试还需要:
sudo
mas-demo.service
git clone https://gitlink.org.cn/IxjP7CtKTu/yzmxdzntxzddkxtxztcdygxjyjz.git mas-light cd mas-light
python3.11 -m venv .venv source .venv/bin/activate
python -m pip install --upgrade pip python -m pip install -r requirements-lock.txt python -m pip install -e .
python -m pip check
source .venv/bin/activate python -m pytest -q
bash scripts/run_benchmark.sh --help
下面的命令只检查任务计划、入口和环境合同,不执行完整实验矩阵:
bash scripts/run_benchmark.sh --tasks A1,B1 --modes A,B,C,D --repeats 3 --stability-rounds 10 --output-dir /tmp/mas-light-benchmark-check --experiment-id readme-check --check-only
下面以 B1 环境变量缺失任务和 D 模式为例,运行 3 次重复,用于观察首轮 Memory 建立和后续跨运行复用。
执行真实 systemd 演示前,请确认当前环境允许使用 sudo。请勿在生产主机或包含重要业务服务的环境中运行。
source .venv/bin/activate sudo -v STAMP="$(date +%Y%m%d-%H%M%S)" DEMO_ROOT="/tmp/mas-light-b1-d-${STAMP}" bash scripts/run_benchmark.sh --tasks B1 --modes D --repeats 3 --stability-rounds 10 --output-dir "${DEMO_ROOT}" --experiment-id "readme-b1-d-${STAMP}" --real-systemd --cleanup
成功完成时,终端应出现类似结果:
passed_runs=3 failed_runs=0 infrastructure_error_count=0 status=completed BENCHMARK_RUN=COMPLETED
一次 Benchmark 运行通常会生成以下证据:
<output_dir>/ ├── benchmark_plan.json ├── tasks/ │ └── <task_id>/ │ └── runs/ │ └── <mode>/ │ └── <run_id>/ │ ├── run.json │ ├── judge.json │ ├── raw_trace.jsonl │ ├── stdout.txt │ ├── stderr.txt │ ├── post_run_cleanup.json │ └── post_run_residue_evidence.json ├── summary.csv ├── final_cleanup.json ├── system_residue_evidence.json ├── manifest.tsv └── SHA256 校验文件
关键文件说明:
run.json
judge.json
raw_trace.jsonl
post_run_cleanup.json
post_run_residue_evidence.json
final_cleanup.json
system_residue_evidence.json
summary.csv
manifest.tsv
. ├── src/ # MAS-Light 核心实现 ├── tests/ # 单元测试与集成测试 ├── benchmarks/ # Task Group A/B 与任务合同 ├── scripts/ # Benchmark 和辅助运行脚本 ├── demo/ # 示例与演示入口 ├── docs/ # 设计与技术文档 ├── requirements-lock.txt # 锁定依赖 ├── pyproject.toml # 项目配置 ├── pytest.ini # 测试配置 └── README.md
现有实验结果包括:
以上“72/72”仅表示任务结果层面通过。
历史 A 组和 B 组来自不同执行提交,原始 B 组产物也未完整保存逐 run Cleanup/Residue 映射证据。因此当前状态为:
JOINT_72_RUN_ELIGIBILITY=BLOCKED FINAL_JOINT_RESULT_ISSUED=NO
后续干净环境复现证明当前代码可以正确安装、运行、测试和清理,但不能反向替代历史运行证据。
最终代码已在全新 openEuler 24.03 LTS-SP3、x86_64、SELinux Enforcing 环境中完成复现。
主要结果包括:
该复现用于验证最终代码的可安装、可运行和可清理能力,不属于历史 72-run 的重新执行。
根据大赛要求,master 分支根目录应包含以下材料:
master
README.md MAS-Light_项目说明书.pdf MAS-Light_参赛承诺书.pdf MAS-Light_演示PPT.pptx MAS-Light_演示视频.mp4
其中:
README.md
MAS-Light_项目说明书.pdf
MAS-Light_参赛承诺书.pdf
MAS-Light_演示PPT.pptx
演示视频.mp4
GitLink 平台不使用 Git LFS 存放本项目视频。演示视频采用普通 Git 文件提交。
项目使用 Python 标准库及公开开源依赖。最终版本以 requirements-lock.txt 和项目说明书中的依赖清单为准。
requirements-lock.txt
核心依赖类别包括:
第三方依赖通过系统环境或包管理方式引入,不作为团队自研代码统计。直接引用或修改的第三方源码、许可证及引用范围,应在项目说明书“代码原创说明”中单独列明。
benchmarks/task_group_b/README.md
docs/
MAS-Light:面向多智能体协作的低开销通信、状态传递与共享记忆系统
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MAS-Light
面向多智能体协作的低开销通信、状态传递与共享记忆系统
MAS-Light 面向多智能体协作场景,围绕自然语言通信冗余、中间状态反复文本化、历史经验难以跨运行复用,以及真实系统任务缺少确定性验证等问题,构建了一套可运行、可评测、可追踪的四 Agent 协作框架。
系统由 Planner、Retriever、Executor 和 Summarizer 四个 Agent 组成,并通过 A/B/C/D 四种消融模式,在相同任务、工具、Judge 和重复规则下比较文本通信、结构化通信、StateRef 状态传递与共享 Memory 复用效果。
. 演示作品视频链接名称
链接:https://pan.baidu.com/s/1ByR6HQNvuZEP9CJwZ4uWuA 提取码:9981
. 最终代码地址位置
最终代码版本在develop分支下面
1. 仓库说明
本项目早期开发阶段曾使用 Gitee 进行代码协作,后根据大赛作品提交要求迁移至 GitLink。
当前 GitLink 仓库为项目唯一正式开发、提交与评审仓库。后续分支管理、版本发布及竞赛作品材料均以本仓库为准,原 Gitee 仓库仅保留为历史开发记录,不作为当前作品提交基线。
正式 GitLink 仓库:
HTTPS 克隆地址:
2. 核心功能
结构化通信
使用 TaskPlan、ToolCall、ExecutionResult 等结构化对象组织动作、参数和执行结果,减少自然语言重复描述与二次解析。
StateRef 状态传递
Agent 消息仅传递轻量状态引用,真实 StateObject 由 StateStore 保存、加载、复用和清理。
共享 Memory
D 模式按任务保存经 Judge 验证的经验,并在后续运行中完成检索、复用与反馈更新。
四 Agent 协作
Planner 负责任务规划,Retriever 负责证据检索,Executor 负责受控执行,Summarizer 负责结果归纳与可复用经验整理。
受控工具边界
通过工具注册、Schema 校验、路径限制、风险等级、超时和结构化错误,阻止越界或不规范调用。
确定性评测
使用 Benchmark、Judge、Trace、Cleanup、Residue、Manifest 和 SHA256 构成完整证据链。
真实 systemd 场景
覆盖环境变量缺失、文件权限异常和端口占用等受控系统服务故障。
3. A/B/C/D 消融模式
四种模式共享相同任务、工具能力、Judge、重复次数、稳定性设置和终止条件,仅改变通信形式、State 和 Memory 三类变量。
4. 系统架构
MAS-Light 的主要组成包括:
系统遵循以下责任边界:
5. 运行环境
推荐环境:
真实 Task Group B systemd 测试还需要:
sudo;mas-demo.service;6. 安装
6.1 克隆仓库
6.2 创建虚拟环境
6.3 安装依赖
6.4 检查依赖完整性
7. 快速验证
7.1 全项目非特权回归
7.2 查看 Benchmark 参数
7.3 Benchmark 环境预检
下面的命令只检查任务计划、入口和环境合同,不执行完整实验矩阵:
8. 真实 systemd 演示
下面以 B1 环境变量缺失任务和 D 模式为例,运行 3 次重复,用于观察首轮 Memory 建立和后续跨运行复用。
成功完成时,终端应出现类似结果:
9. 结果与证据目录
一次 Benchmark 运行通常会生成以下证据:
关键文件说明:
run.jsonjudge.jsonraw_trace.jsonlpost_run_cleanup.jsonpost_run_residue_evidence.jsonfinal_cleanup.jsonsystem_residue_evidence.jsonsummary.csvmanifest.tsv与 SHA25610. 项目目录
11. 实验结果摘要
现有实验结果包括:
11.1 结果边界
以上“72/72”仅表示任务结果层面通过。
历史 A 组和 B 组来自不同执行提交,原始 B 组产物也未完整保存逐 run Cleanup/Residue 映射证据。因此当前状态为:
后续干净环境复现证明当前代码可以正确安装、运行、测试和清理,但不能反向替代历史运行证据。
12. 干净环境复现结果
最终代码已在全新 openEuler 24.03 LTS-SP3、x86_64、SELinux Enforcing 环境中完成复现。
主要结果包括:
该复现用于验证最终代码的可安装、可运行和可清理能力,不属于历史 72-run 的重新执行。
13. 竞赛提交材料
根据大赛要求,
master分支根目录应包含以下材料:其中:
README.md:作品简介、安装和运行说明;MAS-Light_项目说明书.pdf:按照大赛官方模板编写,同时覆盖系统设计文档与技术报告内容;MAS-Light_参赛承诺书.pdf:使用大赛官方模板填写并完成手写承诺;MAS-Light_演示PPT.pptx:项目介绍、亮点、难点、测试与作品演示;演示视频.mp4:时长不超过 5 分钟,文件大小不超过 100 MB。14. 第三方组件与许可证
项目使用 Python 标准库及公开开源依赖。最终版本以
requirements-lock.txt和项目说明书中的依赖清单为准。核心依赖类别包括:
第三方依赖通过系统环境或包管理方式引入,不作为团队自研代码统计。直接引用或修改的第三方源码、许可证及引用范围,应在项目说明书“代码原创说明”中单独列明。
15. 安全说明
benchmarks/task_group_b/README.md;system_residue_evidence.json,确认 unit、目录、进程和端口均已清理;16. 文档
MAS-Light_项目说明书.pdfMAS-Light_演示PPT.pptx演示视频.mp4docs/benchmarks/task_group_b/README.md17. 已知限制
18. 作品名称
MAS-Light:面向多智能体协作的低开销通信、状态传递与共享记忆系统
19. 演示作品视频链接名称
链接:https://pan.baidu.com/s/1ByR6HQNvuZEP9CJwZ4uWuA 提取码:9981
20. 最终代码在地址
最终代码版本在develop分支下面