docx update
MAOS-Lite 是一个完全离线、确定性运行的多智能体协作原型,围绕赛题要求实现四项核心能力:四 Agent 协同、纯文本与结构化协议对比、共享内存非文本状态传递、SQLite 跨任务共享记忆。
本版本以“可复现、可解释、能在 openEuler 24.03-LTS-SP3 上部署”为目标,不依赖在线大模型、API Key、外部数据库或 Docker。
CapabilityRegistry
text
struct
AgentMessage
float32
/dev/shm
mmap
UDSBus
CodeTool
CapabilityDescriptor
TextBus
StructBus
StateRef
MemoryItem
configs/scenarios.yaml
scripts/init_env.sh
scripts/verify_openeuler.sh
CLI / EvalRunner │ ▼ Runtime ── Handshake ── CapabilityRegistry ── TraceManager │ ▼ FixedPipelineScheduler │ ├── PlannerAgent ├── RetrieverAgent ── HybridRetriever ── SQLite / VectorIndex │ │ │ └── evidence text │ │ embedding │ ▼ │ SharedMemoryStateStore │ │ StateRef ├── ExecutorAgent ◄─────────────────┘ └── SummarizerAgent ── MemoryWriter │ ▼ TextBus / StructBus / UDSBus
详细设计、部署方法和实验结果见随提交材料提供的 项目说明书.docx。
项目说明书.docx
openEuler 首次准备系统依赖:
sudo dnf install -y python3 python3-pip python3-devel gcc gcc-c++ git
进入项目根目录:
bash scripts/init_env.sh source .venv/bin/activate
手动安装等价命令:
python3 -m venv .venv .venv/bin/python -m pip install --upgrade pip setuptools wheel .venv/bin/python -m pip install -r requirements.txt .venv/bin/python -m pip install -e .
.venv/bin/python -m maos.main init .venv/bin/python -m maos.main compare \ --task "分析赛题通信协议、状态传递和共享记忆要求" .venv/bin/python -m maos.main run \ --mode text \ --task "分析赛题通信协议、状态传递和共享记忆要求" .venv/bin/python -m maos.main run \ --mode struct_state_memory \ --task "分析赛题通信协议、状态传递和共享记忆要求" .venv/bin/python -m maos.main scenario \ --scenario contest_analysis \ --mode struct_state_memory
四种模式:
struct_state
struct_state_memory
.venv/bin/python -m pytest -q .venv/bin/python -m maos.main eval \ --modes text,struct,struct_state,struct_state_memory \ --rounds 10 \ --scenarios configs/scenarios.yaml \ --out reports/eval_report.md
完整 openEuler 验收:
bash scripts/verify_openeuler.sh
在非 openEuler Linux 上预验证:
REQUIRE_OPENEULER=0 bash scripts/verify_openeuler.sh
本项目已在以下目标环境完成验收:
openEuler 24.03 (LTS-SP3) x86_64 Python 3.11.6
验收包括:
pip check
REQUIRE_OPENEULER=1 bash scripts/verify_openeuler.sh 已完整输出 === 验收通过 ===。具体数值以 reports/eval_summary.json 和逐轮 CSV 为准。
REQUIRE_OPENEULER=1 bash scripts/verify_openeuler.sh
=== 验收通过 ===
完整 openEuler 实机验收日志:reports/openeuler_validation.log。评审可通过同一脚本复验。
configs/ 默认配置与十轮场景 reports/ 评测 CSV、JSON 数据 scripts/ 环境初始化与 openEuler 验证 src/maos/agents/ 四类 Agent src/maos/protocol/ 协议、编解码、握手 src/maos/runtime/ Bus、调度、注册、Trace、运行装配 src/maos/state/ embedding、共享内存、mmap、StateRef 生命周期 src/maos/memory/ SQLite、混合检索、向量索引、写入 src/maos/tools/ 本地分析和轻量 CodeTool src/maos/eval/ 场景、指标、报告 tests/ 单元、集成、负例和 CLI 测试
token_estimate
Apache License 2.0。第三方依赖分别遵循其自身许可证。
GitLink 仓库包含完整项目源码、README、测试、配置、评测数据和以下三份正式文档:
scripts/verify_openeuler.sh 会在验收过程中构建并检查 wheel。演示视频由参赛队按赛事平台要求录制和提交。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MAOS-Lite
MAOS-Lite 是一个完全离线、确定性运行的多智能体协作原型,围绕赛题要求实现四项核心能力:四 Agent 协同、纯文本与结构化协议对比、共享内存非文本状态传递、SQLite 跨任务共享记忆。
本版本以“可复现、可解释、能在 openEuler 24.03-LTS-SP3 上部署”为目标,不依赖在线大模型、API Key、外部数据库或 Docker。
1. 已实现功能
CapabilityRegistry注册后才允许调度。text使用带必要路由头部的自然语言文本信封;struct使用紧凑AgentMessageJSON,只发送接收方实际需要的语义字段。float32embedding,写入 Linux/dev/shm内存文件,并通过mmap供 Executor 读取;Executor 计算余弦相似度,结果实际参与记忆复用决策。UDSBus使用 AF_UNIX、长度前缀帧和 Socket 文件清理完成本地结构化消息往返。CodeTool对代码进行规则校验,在独立子进程中执行,并提供超时终止机制。2. 赛题要求对应关系
AgentMessage与CapabilityDescriptorCapabilityRegistryTextBus与StructBusStateRef、Executor 相似度使用MemoryItem完整字段与 SQLite 持久化configs/scenarios.yaml固定 10 轮scripts/init_env.sh、scripts/verify_openeuler.sh,已在 24.03-LTS-SP3 实机通过3. 架构
详细设计、部署方法和实验结果见随提交材料提供的
项目说明书.docx。4. 环境要求
/dev/shm可用。5. Linux/openEuler 安装
openEuler 首次准备系统依赖:
进入项目根目录:
手动安装等价命令:
6. 快速运行
四种模式:
textstructstruct_statestruct_state_memory7. 测试与完整评测
完整 openEuler 验收:
在非 openEuler Linux 上预验证:
8. openEuler 验收结果
本项目已在以下目标环境完成验收:
验收包括:
pip check;REQUIRE_OPENEULER=1 bash scripts/verify_openeuler.sh已完整输出=== 验收通过 ===。具体数值以 reports/eval_summary.json 和逐轮 CSV 为准。完整 openEuler 实机验收日志:reports/openeuler_validation.log。评审可通过同一脚本复验。
9. 目录结构
10. 实验口径与实现范围
token_estimate用统一公式近似;通信结论以可直接复核的字符数和 UTF-8 字节数为主。11. 许可证
Apache License 2.0。第三方依赖分别遵循其自身许可证。
12. 仓库交付内容
GitLink 仓库包含完整项目源码、README、测试、配置、评测数据和以下三份正式文档:
scripts/verify_openeuler.sh会在验收过程中构建并检查 wheel。演示视频由参赛队按赛事平台要求录制和提交。