决赛版本:PPT 复查修订(附录 A2 任务描述统一、备注口径) Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
决赛版本:PPT 复查修订(附录 A2 任务描述统一、备注口径)
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
第三届中国研究生操作系统开源创新大赛 · 赛题:一种面向多智能体协作的低开销通信、状态传递与共享记忆机制(社区赛题)
MASLink 是一个运行在通用 Linux / openEuler 上的多智能体协作运行时。四个 Agent(规划 Planner、检索 Retriever、执行 Executor、总结 Summarizer)作为独立进程运行,协作被拆成三个平面:
StructuredMessage
所有结论都对应机器可读的证据。系统侧主要实验(测试、Demo、四模式消融、会话基准、公平记忆对照、10 轮稳定性)与 Formal 实验(OpenRCA 上的真实大模型正式对照实验)的聚合重算可用一条命令离线复现(见测试方法);Formal 的完整离线重放需要封存的模型调用录制与评测数据,不在公开仓库中(见已知限制第 6 条)。
多个 Agent 分工处理多步骤任务、且相邻任务之间存在关联的场景,例如:运维故障根因分析(本项目的基准任务与 OpenRCA 实验)、检索增强问答中的多角色流水线、代码协作中的规划—检索—执行—总结链路。MASLink 关注的是这些场景共同的系统层问题:Agent 间通信冗长、中间状态反复文本编解码、相似任务重复计算。
tests/evidence/final_round/openeuler_public_20261004/
/dev/shm
tests/evidence/fsa/state/
tests/evidence/formal/
tests/evidence/final_round/phase6_full_session_20261001/
demo/reproduce_all.sh
其余全部使用 Python 标准库(multiprocessing、multiprocessing.shared_memory、sqlite3 等)。tiktoken 首次使用时会下载 cl100k_base 编码文件;离线环境可预先下载后用 TIKTOKEN_CACHE_DIR 指定缓存目录。
multiprocessing
multiprocessing.shared_memory
sqlite3
cl100k_base
TIKTOKEN_CACHE_DIR
本项目为纯 Python 实现,无需编译。在 openEuler 24.03-LTS-SP3 上:
sudo dnf install -y python3 python3-pip git git clone <本仓库地址> maslink && cd maslink python3 -m venv .venv .venv/bin/python -m pip install -e '.[dev]'
不安装本项目也可以运行:python3 -m pip install pytest==8.4.2 tiktoken==0.14.0 后设置 export PYTHONPATH=$PWD/src:$PWD。一键复现脚本会自动设置 PYTHONPATH,并按 $PYTHON、.venv/bin/python、python3 的顺序选择解释器。
python3 -m pip install pytest==8.4.2 tiktoken==0.14.0
export PYTHONPATH=$PWD/src:$PWD
PYTHONPATH
$PYTHON
.venv/bin/python
python3
# 1. 离线演示:启动 4 个 Agent 进程运行公平变体 Chain A(A1–A4、A5F),验证 A5F 对 4 个先决任务摘要的实际复用 # 与一次非文本状态生命周期,并生成证据页面 .venv/bin/python demo/demo_offline.py --out demo_output # 浏览器打开 demo_output/cockpit/cockpit.html(单文件、无网络依赖);演示顺序见 demo/DEMO_WALKTHROUGH.md # 2. 四模式消融:纯文本 / 结构化会话 / +非文本状态 / +共享记忆,10 个连续任务,5 次平衡顺序重复 .venv/bin/python -m tools.phase6_2_final_ablation --repeats 5 --context-policy mode_native \ --expected-source-sha "$(.venv/bin/python -m tools.phase6_2_final_ablation --print-source-sha | cut -d' ' -f1)" # 3. 会话摊薄基准:N = 1、2、5、10 个任务下纯文本、逐任务结构化与会话结构化的消息、载荷与耗时 .venv/bin/python -m tools.phase5_session_benchmark --repeats 1 # 4. 公平记忆对照:公平任务集的 10 个关联任务,记忆关闭 / 开启各 3 次配对 .venv/bin/python -m tools.phase6_full_session_benchmark --repeats 3 # 5. 10 轮稳定性:每轮新建记忆库,连续运行公平任务集的 10 个任务 .venv/bin/python -m tools.fsa.stability --root results/stability --rounds 10 # 6. 单个模式跑完两组关联连续任务(A1–A5、B1–B5),模式可选 text / structured / structured_state / full .venv/bin/python -m agent_runtime.cli benchmark --provider fixture --mode full --results-dir results/full_run
结果写入 04_evidence/local_verification/ 或 results/ 下的新目录(均已被 .gitignore 忽略),命令结束时打印路径;demo/summarize_ablation.py <summary.json> 打印消融中位数表。
04_evidence/local_verification/
results/
.gitignore
demo/summarize_ablation.py <summary.json>
一键复现(推荐):
bash demo/reproduce_all.sh # 可选参数:输出目录;默认 results/reproduce_<时间>/
依次运行:公开测试集(916 项)→ 离线 Demo 与 Cockpit 核验 → Formal 聚合重算(由逐任务脱敏结果重算 12 对任务,0 次模型调用)→ 四模式消融 → 会话摊薄基准 → 公平记忆对照 → 10 轮稳定性,最后打印结果表与 REPRODUCE PASS/FAIL。运行前需按构建方法安装依赖;离线环境另需 tiktoken 编码缓存(见 docs/部署与复现说明.md 2.3 节)。
REPRODUCE PASS/FAIL
docs/部署与复现说明.md
提交前,在 openEuler 24.03-LTS-SP3 容器(无网络)中对提交树执行了这条命令并全部通过,完整输出见 tests/evidence/final_round/openeuler_public_submission_20261005/。其中 TREE_SHA256SUMS.txt 是被验证树的逐文件哈希;此后没有改动任何代码、测试或脚本,只加入了该运行记录,并修订了文档类文件(README、说明文档、PPT、视频与字幕)的措辞;手写声明扫描件也属于文档类文件。
tests/evidence/final_round/openeuler_public_submission_20261005/
TREE_SHA256SUMS.txt
只运行测试:.venv/bin/python -m pytest -q -p no:cacheprovider。
.venv/bin/python -m pytest -q -p no:cacheprovider
测试与验证材料的组织方式、每类证据能支持哪些结论,见 tests/README.md。
tests/README.md
本仓库按决赛作品提交规范组织:
README.md
src/agent_runtime/
docs/
docs/sources/
tests/
tests/evidence/
demo/
presentation/
作品原创承诺书.pdf
bench/
config/
tools/
third_party/
scripts/
bench/、config/、tools/、third_party/、scripts/ 被源代码通过相对路径直接引用,因此保留在根目录以保证仓库克隆后即可运行。
Copyright (c) 2026 MASLink 项目贡献者。MASLink 第一方代码以木兰宽松许可证第 2 版(MulanPSL-2.0)开源。第三方代码与数据的来源和许可证见 THIRD_PARTY_NOTICES.md 与 docs/人工智能及第三方工具使用说明.pdf。
THIRD_PARTY_NOTICES.md
docs/人工智能及第三方工具使用说明.pdf
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MASLink:面向多智能体协作的低开销通信、状态传递与共享记忆机制
项目简介
MASLink 是一个运行在通用 Linux / openEuler 上的多智能体协作运行时。四个 Agent(规划 Planner、检索 Retriever、执行 Executor、总结 Summarizer)作为独立进程运行,协作被拆成三个平面:
StructuredMessage,收敛为动作类型、输入参数、返回结果、能力描述四类语义单元,支持握手、能力发现与作用域校验;决赛新增会话级持久运行时,四个进程每会话只启动、握手一次。所有结论都对应机器可读的证据。系统侧主要实验(测试、Demo、四模式消融、会话基准、公平记忆对照、10 轮稳定性)与 Formal 实验(OpenRCA 上的真实大模型正式对照实验)的聚合重算可用一条命令离线复现(见测试方法);Formal 的完整离线重放需要封存的模型调用录制与评测数据,不在公开仓库中(见已知限制第 6 条)。
应用场景
多个 Agent 分工处理多步骤任务、且相邻任务之间存在关联的场景,例如:运维故障根因分析(本项目的基准任务与 OpenRCA 实验)、检索增强问答中的多角色流水线、代码协作中的规划—检索—执行—总结链路。MASLink 关注的是这些场景共同的系统层问题:Agent 间通信冗长、中间状态反复文本编解码、相似任务重复计算。
主要功能与结果
tests/evidence/final_round/openeuler_public_20261004/)/dev/shm残留 0(tests/evidence/fsa/state/)tests/evidence/formal/)tests/evidence/final_round/phase6_full_session_20261001/)demo/reproduce_all.sh(系统侧实验与 Formal 聚合重算);Cockpit 页面数值逐项核验系统环境
/dev/shm)与多进程支持。依赖要求
其余全部使用 Python 标准库(
multiprocessing、multiprocessing.shared_memory、sqlite3等)。tiktoken 首次使用时会下载cl100k_base编码文件;离线环境可预先下载后用TIKTOKEN_CACHE_DIR指定缓存目录。构建方法
本项目为纯 Python 实现,无需编译。在 openEuler 24.03-LTS-SP3 上:
不安装本项目也可以运行:
python3 -m pip install pytest==8.4.2 tiktoken==0.14.0后设置export PYTHONPATH=$PWD/src:$PWD。一键复现脚本会自动设置PYTHONPATH,并按$PYTHON、.venv/bin/python、python3的顺序选择解释器。运行方法
结果写入
04_evidence/local_verification/或results/下的新目录(均已被.gitignore忽略),命令结束时打印路径;demo/summarize_ablation.py <summary.json>打印消融中位数表。测试方法
一键复现(推荐):
依次运行:公开测试集(916 项)→ 离线 Demo 与 Cockpit 核验 → Formal 聚合重算(由逐任务脱敏结果重算 12 对任务,0 次模型调用)→ 四模式消融 → 会话摊薄基准 → 公平记忆对照 → 10 轮稳定性,最后打印结果表与
REPRODUCE PASS/FAIL。运行前需按构建方法安装依赖;离线环境另需 tiktoken 编码缓存(见docs/部署与复现说明.md2.3 节)。提交前,在 openEuler 24.03-LTS-SP3 容器(无网络)中对提交树执行了这条命令并全部通过,完整输出见
tests/evidence/final_round/openeuler_public_submission_20261005/。其中TREE_SHA256SUMS.txt是被验证树的逐文件哈希;此后没有改动任何代码、测试或脚本,只加入了该运行记录,并修订了文档类文件(README、说明文档、PPT、视频与字幕)的措辞;手写声明扫描件也属于文档类文件。只运行测试:
.venv/bin/python -m pytest -q -p no:cacheprovider。测试与验证材料的组织方式、每类证据能支持哪些结论,见
tests/README.md。目录结构
本仓库按决赛作品提交规范组织:
README.mdsrc/agent_runtime/docs/docs/部署与复现说明.md;docs/sources/为文档源稿与图tests/tests/evidence/为封存的实验结果、运行日志与失败记录demo/presentation/作品原创承诺书.pdfbench/、config/tools/third_party/scripts/bench/、config/、tools/、third_party/、scripts/被源代码通过相对路径直接引用,因此保留在根目录以保证仓库克隆后即可运行。已知限制
许可证
Copyright (c) 2026 MASLink 项目贡献者。MASLink 第一方代码以木兰宽松许可证第 2 版(MulanPSL-2.0)开源。第三方代码与数据的来源和许可证见
THIRD_PARTY_NOTICES.md与docs/人工智能及第三方工具使用说明.pdf。