提交材料以及修正链接
面向多智能体协作的结构化通信、非文本状态接力与跨任务共享记忆系统。
NeuroBus 由 Planner、Retriever、Executor、Summarizer 四个 Agent 组成。它用 SACP 结构化交接单约束协作,用 WorkingMemoryRef 在 Agent 之间接力模型服务端 KV 状态,用 MemoryUnit 将前序任务结论保存、检索并实际用于后续任务。
正式运行环境为 openEuler 24.03-LTS-SP3 Docker。GPU 发布验证使用 NVIDIA A40 GPU 0、本地 Qwen3-8B,以及同一个已加载模型实例完成 E0/E2 公平对照。
主展示是一条包含两组、六个连续任务的 service-x 生命周期:
组一 service_fault 健康基线:连接池 32 → 故障定位:发布把连接池从 32 降至 8 → 实际恢复:生成 8→32 补丁并验证 组二 release_prevention 采用组一恢复结论,生成最低连接池 32 的发布门禁 → 阻止连接池为 12 的风险候选 → 修正为 32,回归通过并批准发布
每项任务都从声明的真实输入开始,在隔离工作区执行 service_lab 受控工具,生成可检查的 JSON、Markdown、配置或补丁成果。第二组首任务必须采用第一组末任务产生的 MemoryUnit。
service_lab
网页先展示任务输入、完成状态、工具结果和最终成果,再展开 Agent 过程、三种机制产物和 E0/E2 对比数据。网页不提供任意任务输入、Agent 拖拽、登录、多用户并发或 KV 张量展示。
service_lab.operation
实验环境:openEuler 24.03-LTS-SP3 Docker、NVIDIA A40 GPU 0、Qwen3-8B、transformers、bfloat16。
transformers
bfloat16
公平性结论门 valid_for_same_model_claim=true。实验同时满足:
valid_for_same_model_claim=true
enum
const
在本任务集和本实验条件下,E2 的通信字符、模型输入 token 和平均端到端时延均更低。两侧正确率同为 100%,因此本项目不声称 E2 的任务质量或正确率高于 E0。
CPU/MockModelServer 在同一 openEuler 24.03-LTS-SP3 镜像中完成 10 轮稳定性实验:E0 60/60、E2 60/60。该结果用于证明六任务链和三种机制可重复运行,不用于同模型性能结论。
正式实验摘要、任务级数据和必要日志归档在 experiments/final/。临时服务输出仍写入 runs/,但 runs/ 不是唯一交付证据。
experiments/final/
runs/
SACPEnvelope
resume_success
adopted_memory_refs
三种机制位于同一任务链:Retriever 采用 MemoryUnit 后生成 W1,Executor 消费 W1、执行 ActionSpec 和工具并生成 W2,Summarizer 消费 W2、输出答案并写入新的 MemoryUnit。
模型不进入仓库或镜像,启动时只读挂载。NEUROBUS_MODEL_PATH 必须是绝对路径,且直接指向包含 config.json、tokenizer 和权重分片的目录。
NEUROBUS_MODEL_PATH
config.json
export NEUROBUS_DEMO_MODE=gpu export NEUROBUS_DEMO_IMAGE=neurobus-demo:openeuler-gpu export NEUROBUS_DEMO_CONTAINER=neurobus-demo-gpu export NEUROBUS_DEMO_PORT=8765 export NEUROBUS_GPU_DEVICE=0 export NEUROBUS_MODEL_PATH=/absolute/path/to/Qwen3-8B export NEUROBUS_DEMO_OUTPUT_DIR="$PWD/runs/demo-gpu" test "${NEUROBUS_MODEL_PATH#/}" != "$NEUROBUS_MODEL_PATH" test -f "$NEUROBUS_MODEL_PATH/config.json"
bash deploy/openeuler/demo.sh build bash deploy/openeuler/demo.sh verify
verify 在镜像内打印 /etc/openEuler-release,验证两组任务配置并运行受影响测试。真实 GPU 推理由后续 start、run-all 和公平实验验证。
verify
/etc/openEuler-release
start
run-all
bash deploy/openeuler/demo.sh start
成功后终端打印网页、服务日志和结果目录。浏览器打开:
http://127.0.0.1:8765/
共享服务器建议使用 SSH 隧道:
ssh -N -L 8765:127.0.0.1:8765 <服务器账号与地址>
bash deploy/openeuler/demo.sh run service_fault
也可请求第二组;脚本会自动带上其前置组:
bash deploy/openeuler/demo.sh run release_prevention
bash deploy/openeuler/demo.sh run-all
公平实验与网页服务使用同一张 GPU 时,先停止网页容器:
bash deploy/openeuler/demo.sh stop mkdir -p "$PWD/runs/fair-qwen" test ! -e "$PWD/runs/fair-qwen/experiment-2round" docker run --rm \ --gpus "device=$NEUROBUS_GPU_DEVICE" \ -e TRANSFORMERS_OFFLINE=1 \ -e HF_HUB_OFFLINE=1 \ -v "$NEUROBUS_MODEL_PATH:/models/Qwen3-8B:ro" \ -v "$PWD/runs/fair-qwen:/output" \ "$NEUROBUS_DEMO_IMAGE" \ sh -lc 'cat /etc/openEuler-release && \ python3 -m scripts.eval.service_release_experiment \ --backend qwen \ --model-path /models/Qwen3-8B \ --device cuda:0 \ --dtype bfloat16 \ --warmup-rounds 1 \ --rounds 2 \ --seed 20260729 \ --output-dir /output/experiment-2round'
实验目录不可复用;重跑时更换最后一级目录名。成功退出同时要求两侧任务全部完成且 fairness_gate.valid_for_same_model_claim=true。
fairness_gate.valid_for_same_model_claim=true
网页运行输出:
runs/demo-gpu/ ├── openeuler-verify.log ├── service.log └── runs/<DEMO-RUN-ID>/ ├── result.json ├── service_release_lifecycle-E2_SACP_KV.sqlite └── workspaces/<mode>/tasks/<TASK-ID>/{input,artifacts}
公平实验归档:
experiments/final/ ├── fair-qwen-gpu/ # E0/E2 汇总、逐任务记录、执行日志、对比图 ├── stability-mock-10round/ # openEuler CPU 10 轮稳定性证据 ├── demo-run/ # 输入、最终成果与三种机制的可检查产物 └── checksums.sha256
result.json 包含任务输入、最终答案、独立验收、ActionSpec、工具回执、真实成果、SACP 轨迹、状态接力、MemoryUnit 和 E0/E2 指标。summary.json 包含同模型公平性门、聚合指标与 E2 相对 E0 的变化。
result.json
summary.json
常用检查:
bash deploy/openeuler/demo.sh status bash deploy/openeuler/demo.sh logs bash deploy/openeuler/demo.sh stop
CPU 与 GPU Dockerfile 都直接基于:
openeuler/openeuler:24.03-lts-sp3
源码、依赖安装、Python 编译、pytest、服务、六任务链和公平实验均在该 openEuler 容器用户态内运行。Docker 是共享服务器上的正式隔离部署方式;宿主机只提供 Docker、NVIDIA 驱动、端口、模型目录和输出目录,不需要修改共享服务器的 Python 或系统配置。
Task / Web ↓ Runtime ── AgentRegistry / Router / TaskContext ├── PlannerAgent ├── RetrieverAgent ── SMS / MemoryUnit ├── ExecutorAgent ── ActionSpec / ToolRegistry / service_lab └── SummarizerAgent ── SMS / MemoryUnit │ └── BaseModelServer ├── MockModelServer └── CRuntimeModelServerAdapter └── QwenModelServer / Qwen3-8B / KV cache
src/neurobus/runtime/
src/neurobus/protocol/
src/neurobus/model/
src/neurobus/memory/
src/neurobus/actions/
src/neurobus/tools/service_lab.py
tasks/continuous/
demo/dashboard/
scripts/run/demo_service.py
scripts/eval/continuous_tasks.py
scripts/eval/service_release_experiment.py
deploy/openeuler/demo.sh
docs/final/
宿主机原生开发不是正式部署要求。需要本地开发时可执行:
python3 -m pip install -e . python3 -m pip install -r requirements/cpu.txt -r requirements/dev.txt python3 -m pytest ruff check --select E9,F63,F7,F82 src scripts tests
完整 Ruff 与 mypy 可用于持续治理历史质量债务,但不属于本次正式版发布门;本次发布门以全量 pytest、致命 Ruff 规则、源码编译、Dashboard/部署脚本语法和 openEuler 容器实跑为准。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
NeuroBus
NeuroBus 由 Planner、Retriever、Executor、Summarizer 四个 Agent 组成。它用 SACP 结构化交接单约束协作,用 WorkingMemoryRef 在 Agent 之间接力模型服务端 KV 状态,用 MemoryUnit 将前序任务结论保存、检索并实际用于后续任务。
正式运行环境为 openEuler 24.03-LTS-SP3 Docker。GPU 发布验证使用 NVIDIA A40 GPU 0、本地 Qwen3-8B,以及同一个已加载模型实例完成 E0/E2 公平对照。
作品简介
主展示是一条包含两组、六个连续任务的 service-x 生命周期:
每项任务都从声明的真实输入开始,在隔离工作区执行
service_lab受控工具,生成可检查的 JSON、Markdown、配置或补丁成果。第二组首任务必须采用第一组末任务产生的 MemoryUnit。网页先展示任务输入、完成状态、工具结果和最终成果,再展开 Agent 过程、三种机制产物和 E0/E2 对比数据。网页不提供任意任务输入、Agent 拖拽、登录、多用户并发或 KV 张量展示。
正式实跑结果
同模型 GPU 公平实验
service_lab.operation正确率实验环境:openEuler 24.03-LTS-SP3 Docker、NVIDIA A40 GPU 0、Qwen3-8B、
transformers、bfloat16。公平性结论门
valid_for_same_model_claim=true。实验同时满足:enum,不使用任务答案const绑定;在本任务集和本实验条件下,E2 的通信字符、模型输入 token 和平均端到端时延均更低。两侧正确率同为 100%,因此本项目不声称 E2 的任务质量或正确率高于 E0。
openEuler CPU 稳定性
CPU/MockModelServer 在同一 openEuler 24.03-LTS-SP3 镜像中完成 10 轮稳定性实验:E0 60/60、E2 60/60。该结果用于证明六任务链和三种机制可重复运行,不用于同模型性能结论。
正式实验摘要、任务级数据和必要日志归档在
experiments/final/。临时服务输出仍写入runs/,但runs/不是唯一交付证据。三个核心机制
SACPEnvelope、能力发现、消息轨迹、真实序列化字节与字符resume_successadopted_memory_refs三种机制位于同一任务链:Retriever 采用 MemoryUnit 后生成 W1,Executor 消费 W1、执行 ActionSpec 和工具并生成 W2,Summarizer 消费 W2、输出答案并写入新的 MemoryUnit。
最短 GPU 复现
环境要求
模型不进入仓库或镜像,启动时只读挂载。
NEUROBUS_MODEL_PATH必须是绝对路径,且直接指向包含config.json、tokenizer 和权重分片的目录。1. 构建并验证 openEuler 镜像
verify在镜像内打印/etc/openEuler-release,验证两组任务配置并运行受影响测试。真实 GPU 推理由后续start、run-all和公平实验验证。2. 启动服务和网页
成功后终端打印网页、服务日志和结果目录。浏览器打开:
共享服务器建议使用 SSH 隧道:
3. 运行一组任务
也可请求第二组;脚本会自动带上其前置组:
4. 连续运行两组任务
5. 运行 GPU 同模型公平实验
公平实验与网页服务使用同一张 GPU 时,先停止网页容器:
实验目录不可复用;重跑时更换最后一级目录名。成功退出同时要求两侧任务全部完成且
fairness_gate.valid_for_same_model_claim=true。输出与证据
网页运行输出:
公平实验归档:
result.json包含任务输入、最终答案、独立验收、ActionSpec、工具回执、真实成果、SACP 轨迹、状态接力、MemoryUnit 和 E0/E2 指标。summary.json包含同模型公平性门、聚合指标与 E2 相对 E0 的变化。常用检查:
openEuler 兼容性
CPU 与 GPU Dockerfile 都直接基于:
源码、依赖安装、Python 编译、pytest、服务、六任务链和公平实验均在该 openEuler 容器用户态内运行。Docker 是共享服务器上的正式隔离部署方式;宿主机只提供 Docker、NVIDIA 驱动、端口、模型目录和输出目录,不需要修改共享服务器的 Python 或系统配置。
系统结构
仓库导航
src/neurobus/runtime/src/neurobus/protocol/src/neurobus/model/src/neurobus/memory/src/neurobus/actions/src/neurobus/tools/service_lab.pytasks/continuous/demo/dashboard/scripts/run/demo_service.pyscripts/eval/continuous_tasks.pyscripts/eval/service_release_experiment.pydeploy/openeuler/demo.shexperiments/final/docs/final/开发检查
宿主机原生开发不是正式部署要求。需要本地开发时可执行:
完整 Ruff 与 mypy 可用于持续治理历史质量债务,但不属于本次正式版发布门;本次发布门以全量 pytest、致命 Ruff 规则、源码编译、Dashboard/部署脚本语法和 openEuler 容器实跑为准。
赛题要求对齐
文档
结论边界