目录

LiteTest-MAS

LiteTest-MAS 是面向多智能体协作基础设施的实验原型,重点验证结构化通信、非文本状态传递、门控共享记忆,以及可由 Windows 和 openEuler 双平台复核的正式证据。

1. 作品简介

本项目不以追求单次代码生成的最高正确率为目标,而是研究多角色协作过程能否做到:

  • 可运行:角色可独立调度,任务按冻结顺序完成;
  • 可分组启停:在固定任务、模型和参数下比较不同机制组合;
  • 可计量:记录应用层 Socket 写入量、接收端对账、消息数、令牌数和耗时;
  • 可追踪:保留角色调用、公开 Executor、状态向量、Memory 与传输收据证据;
  • 可跨平台复核:Windows 与 openEuler 24.03-LTS-SP3 使用同一冻结输入和独立校验器。

正式结论以 M11 V8R3R4 为准。它是一个固定任务、固定模型逻辑名、固定参数与固定运行拓扑下的实验观察,不外推为所有模型、任务或多智能体系统的结论。

2. 核心能力

  • 真实多角色 Worker 与 Provider Trace:Planner、Retriever、Solver、Critic、Summarizer 由独立 Worker 发起角色调用并记录请求级证据;Broker 只做调度、TCP 路由与指标收集,不代替角色推理。
  • 两种通信编码:Text 使用 UTF-8 JSON;Protocol 使用 Canonical-CBOR。两者传输同一 logical action object,接收端恢复同一逻辑对象后进入同一个 Prompt Compiler。
  • 可靠传输证据:应用层记录 ACK、pending、有限重试、断线重连和重复投递抑制;actual_bytes_written 按每次实际 Socket write 计量。
  • 非文本状态:StateVectorV2 固定为 33-byte wire format,并在正式运行中记录其创建、传递、解析和后续使用。
  • 门控共享 Memory:只允许从此前成功公开任务的脱敏摘要中生成、检索、接受、注入和复用记录,并实施 scope、self 与 future-task 隔离。
  • 公开 Executor:候选由受限执行器运行版本化的任务级公开测试;公开证据不含候选全文、原始模型回复或非公开测试内容。
  • 可核验证据包:冻结输入、Manifest、SHA256、独立 Verifier 与安全审计共同校验结果。
  • 双平台复现:Windows 与 openEuler 24.03-LTS-SP3 都完成正式四组运行和独立验证。
  • 离线展示与录屏:提供不依赖网络资源的结果看板,以及只读取既有 Windows 正式证据的终端回放工具。

3. 系统架构

Planner
  → Retriever
  → Solver(第 1 次)
  → Executor(公开测试)
  → 若首轮失败:Critic → Solver(第 2 次)→ Executor(公开测试)
  → Summarizer
  • Executor 是工具角色,不是 LLM Agent。
  • Critic 只在首轮公开测试失败时调用;每个任务最多两次 Solver 尝试。
  • Planner、Retriever、Solver、Critic 与 Summarizer 的跨角色输入输出经过 TCP 传输和记录;Broker 不直接调用 Provider。
  • Summarizer 只为已成功的公开任务生成脱敏结构化策略。通过策略、时间顺序和 scope 门控的记录,才可能写入后续可检索的 Memory。

实现入口见 正式 Runner、运行时、StateVectorV2 与 门控 Memory。

4. 四组实验配置

组别 传输方式 StateVector Memory
T UTF-8 JSON Text 关闭 关闭
P Canonical-CBOR 关闭 关闭
PS Canonical-CBOR 开启 关闭
PSM Canonical-CBOR 开启 开启

四组只有两种底层编码:T 使用 UTF-8 JSON Text,P、PS、PSM 使用 Canonical-CBOR。PS 与 PSM 的差异来自 StateVector/Memory 增强机制,而不是引入新的传输编码。Text 与 Protocol 都传输同一 logical action object,并在语义恢复后调用同一个 Prompt Compiler。

5. 正式实验设计

冻结配置为 m11_v8r3_freeze.json,固定如下条件:

  • 数据集:MBPP-Sanitized;
  • 任务总数:10;
  • 字符串处理任务族:118、16、285、565、7;
  • 数组与顺序统计任务族:101、119、223、597、733;
  • 每族 5 个任务,按冻结顺序执行;
  • 模型逻辑名:local-llama31-8b-instruct;
  • temperature=0、seed=42、max_tokens=256、超时 60 秒;
  • 每任务最多两次 Solver 尝试;
  • 评价使用版本化公开任务级 Executor 测试,版本为 m11.v8r2.public_executor.v1。

任务输入、Memory policy、运行时、StateVector 与 Canonical-CBOR 的 SHA256 都写入冻结输入清单。公开测试只依赖公开任务描述、签名与版本化公开测试向量;不将隐藏、官方参考或私有测试作为公开评价依据。

6. 最终正式结果

以下结果直接汇总自 Windows 与 openEuler 的 PUBLIC_REPORT.json。通过任务数由 final_task_success_rate × 10 换算。

Windows

Group Socket bytes Receiver total Messages 通过任务数 State Solver use Memory injected/reused Latency
T 229330 229330 56 2/10 0 0/0 76.3815 s
P 215792 215792 56 2/10 0 0/0 71.0312 s
PS 222358 222358 54 3/10 10 0/0 73.8249 s
PSM 214295 214295 52 4/10 10 1/1 69.6812 s

openEuler 24.03-LTS-SP3

Group Socket bytes Receiver total Messages 通过任务数 State Solver use Memory injected/reused Latency
T 229220 229220 56 2/10 0 0/0 77.5976 s
P 215750 215750 56 2/10 0 0/0 72.1106 s
PS 222306 222306 54 3/10 10 0/0 74.9019 s
PSM 223199 223199 54 3/10 10 1/1 74.3709 s

在 Windows 中,P 相比 T 少 13,538 bytes,约 5.90%;在 openEuler 中,P 相比 T 少 13,470 bytes,约 5.88%。

actual_bytes_written 是应用层实际 Socket 写入量,包含相应 frame 的 header 与 payload 一次,不包含 TCP/IP 或以太网首部。ACK、retry 与 reconnect 若发生实际写入,按独立 write 计入。Receiver total 只用于对账,不与 sender 重复相加。以上数值仅适用于本仓库冻结的任务、模型逻辑名、参数和运行拓扑;不能据此宣称 Canonical-CBOR 在所有系统中都固定节省约 5.9%。

7. StateVector 与 Memory 证据

StateVectorV2 保持固定 33-byte wire format。正式运行中记录的生命周期为:

created → registered → sent → received → resolved → validated → used_in_solver

Windows 与 openEuler 的 PS、PSM 都记录了 state_solver_use_count=10,且独立 Verifier 均报告 statevector_verified=true。这说明 StateVector 在正式角色链中被实际使用,而不只是编码样例或组件单测;但不说明它单独提升了总体成功率。

PSM 的 Memory 审计记录如下:

平台 query hit accept injected reuse
Windows 10 4 1 1 1
openEuler 10 2 1 1 1

实际复用来源任务为 mbpp_sanitized:223,目标任务为 mbpp_sanitized:733,两端均记录 future_task_blindness_valid=true。这证明存在真实注入和复用,但不证明 Memory 必然或普遍提高任务质量。

本轮四组的修复成功数均为 0。任务 mbpp_sanitized:733 首轮公开测试失败,Critic 与第二次 Solver 确实发生,但第二轮仍失败;该负结果被保留,不能据此宣称 Critic 提升了成功任务数量。

8. 环境要求

Python 与依赖

项目以 Python 运行。冻结实验所需的锁定依赖在 requirements.txt:

cbor2==5.6.5
pytest==9.0.3

安装命令:

python -m pip install -r requirements.txt

平台与 Provider 边界

  • Windows:执行 Windows Runner、Worker、协议、StateVector、Memory、公开 Executor 与验证链。
  • openEuler 24.03-LTS-SP3:执行同一 Runner、Worker、协议栈、StateVector、Memory、公开 Executor 与评测链。
  • Provider:实验需要兼容 OpenAI 接口、并可提供冻结模型逻辑名的模型服务;模型权重不随仓库提交,仓库也不使用 Git LFS 管理模型权重。

openEuler 正式复现的模型推理由 Windows-hosted remote provider 提供。它证明 openEuler 上的 Runner、协议、评测与证据链复现,不表示 Linux 来宾本机加载了模型权重。

9. 快速开始

以下命令均使用仓库根目录下的相对路径。

安装依赖

python -m pip install -r requirements.txt

检查正式证据

verify_m11_v8r3_formal.py 会写出 independent_verifier.json,因此请先复制正式证据目录,再对副本运行校验;不要在冻结正式 evidence 目录上直接运行该命令。

mkdir -p verification-copy
cp -a runs/m11/stage2_5_v8r3r4_windows_formal_20260725 verification-copy/windows
python scripts/verify_m11_v8r3_formal.py verification-copy/windows

在 openEuler 或其他 POSIX 环境中,可同样对导入结果副本执行:

mkdir -p verification-copy
cp -a runs/m11/stage2_5_v8r3r4_openeuler_formal_20260725_import/stage2_5_v8r3r4_openeuler_formal_20260725 verification-copy/openeuler
python scripts/verify_m11_v8r3_formal.py verification-copy/openeuler

校验离线 Linux bundle 的结构、Checksum、wheelhouse 和入口文件:

python scripts/verify_m11_v8r3_openeuler_bundle.py release/private/m11_openeuler_v8r3r4_bundle_20260725.tar.gz

核验 openEuler 结果包 SHA256:

sha256sum release/private/m11_openeuler_v8r3r4_results_20260725.tar.gz

Windows PowerShell 可使用:

Get-FileHash release\private\m11_openeuler_v8r3r4_results_20260725.tar.gz -Algorithm SHA256

只读演示回放

回放工具仅读取既有 Windows 正式证据,不调用模型、不重新执行实验,也不写入 runs/ 或 release/:

python scripts/replay_m11_v8r3_demo.py --list-candidates
python scripts/replay_m11_v8r3_demo.py --group PSM --task-id auto --delay 1.0 --compact

默认选择的任务为 mbpp_sanitized:733,用于如实展示首次失败、Critic、第二次 Solver、StateVector Solver 使用和 Memory 注入。完整录屏说明见 M11_V8R3R4_VIDEO_DEMO_ZH.md。

10. 证据索引与离线看板

用途 位置
冻结配置 experiments/m11/m11_v8r3_freeze.json
正式 Runner scripts/run_m11_v8r3_formal.py
独立 Verifier scripts/verify_m11_v8r3_formal.py
Windows 公共报告 PUBLIC_REPORT.json
Windows Verifier / security independent_verifier.json / security_audit.json
openEuler 公共报告 PUBLIC_REPORT.json
openEuler Verifier / security independent_verifier.json / security_audit.json
Stage 3 审查 STAGE3_REVIEW_ZH.md / stage3_status.json
openEuler 结果包 release/private/m11_openeuler_v8r3r4_results_20260725.tar.gz
离线看板 dashboard-output/m11-v8r3r4/index.html

双击 dashboard-output/m11-v8r3r4/index.html 即可断网查看双平台四组正式结果。看板构建与验证入口分别为 scripts/build_m11_v8r3r4_dashboard.py 和 scripts/verify_m11_v8r3r4_dashboard.py;它们只消费既有公开证据,不重跑实验。

openEuler 结果包大小为 239190 bytes,SHA256 为:

db097c5658e269d08387190d2a7608de68eb5d73905aacedfec07136996c81a7

11. 审查状态与已知限制

Stage 3 状态 记录:

  • stage3_review_passed=true
  • eligible_for_freeze_candidate=true
  • Windows/openEuler 的独立 Verifier、Manifest 与安全审计均通过;
  • freeze_created=false
  • real_canary_started=false
  • ten_task_experiment_started=false

边界如下:

  • 结果仅覆盖 10 个冻结公开任务,不能替代更大规模、不同任务类型或不同模型的评估。
  • openEuler 是远程 Provider 拓扑下的 Runner/协议/评测复现,不是 Linux 本机模型加载证明。
  • StateVector 的实际使用和 Memory 的真实注入/复用均已记录,但二者都不单独构成普遍的质量提升因果证明。
  • actual_bytes_written 是应用层 Socket 指标,不包含下层网络首部,也不等同于 Provider token。
  • 正式 evidence、结果包与其哈希均为既有产物;本 README 不重跑或改写它们。

12. 项目目录

agents/        多角色逻辑组件
protocol/      Text、Canonical-CBOR 与传输收据
runtime/       Worker、Prompt Compiler 与端到端运行时
state/         StateVector V2
memory/        门控共享 Memory
experiments/   冻结配置与公开实验输入
scripts/       Runner、Verifier、审计与回放工具
runs/          Windows/openEuler 正式 evidence
release/       离线 bundle 与结果 archive
dashboard-output/ 离线公开结果看板
docs/          设计、状态、Stage 3 审查与演示说明
关于
32.7 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号