单交换载荷基准(Single-Exchange Load Benchmark) —— 跨协议评测 MCP / A2A / ACP 三种 agent 通信协议的空白填补。
三协议的唯一共同交互基元是单次同步无状态交换(MCP tools/call、A2A task/send sync、ACP session/action)。LSE-Bench 把"任务"定义为单次交换的载荷:程序入/结果出,消息数恒为 2,复杂度无上界。
| # | 宣称 | 可验证项 |
|---|---|---|
| L1 | 三协议载荷槽位(MCP arguments / A2A input / ACP input)都是 JSON 可承载,程序入/结果出可无语义解释放入 | 载荷信封构造/还原测试 |
| L2 | 单次同步交换 = 2 条消息(三协议语义等价;ACP 会话摊销后每任务恒 2 条) | 消息数断言 |
| L3 | judge 外置:ground truth 外部供给,判定 = 精确逐位相等;±1e-9 仅显式豁免,默认豁免数 0 | judge 判定测试 |
| L4 | 任务派生:exact=True 100%(float 输出被剔除——精确可表示准则) | 派生任务集过滤测试 |
| L5 | 投递矩阵:6 单元(3 协议 × 2 适配器)× 2 重复 = 12 投递/任务 | 矩阵枚举测试 |
| L6 | trace = 消息流纯派生函数 f(msg),无独立存储 schema(additive-only,可重放重建) | 派生/重放一致性测试 |
| L7 | ANOVA(ISO 5725-2):每协议 ≥2 适配器 → σ²_adapter 与 σ²_protocol 可分离(条件数 κ<10) | 方差分离可辨识性测试 |
- 交集基数 = 1:三协议唯一共同基元是单次同步交换——多轮/流式/会话态/多智能体任务按构造即协议绑定,不可三协议同分
- 判定 1 bit 下界:协议无关任务描述携带 0 bit 语义,完成判定 ≥1 bit 必须由任务外供给 → judge 外置是唯一出路
python -m pytest tests/ -v
python -m lsebench.tasks.derive --out store/tasks/v1.json # 派生任务集
python -m lsebench.runner --smoke # 240 交换门禁
python -m lsebench.analysis.anova --run-id run-001 # ANOVA 可辨识性lsebench/
tasks.py 任务派生(程序入/结果出,exact 可表示过滤)
envelopes.py 三协议消息信封(载荷槽位映射)
judge.py 外部 judge(精确逐位相等 + 显式豁免)
adapters.py 3 协议 × 2 适配器 registry + 投递矩阵
trace.py f(msg) 纯派生(additive-only)
anova.py ISO 5725-2 方差分离(纯 Python)
tests/ 宣称 L1-L7 验证
灾变引擎(cataclysm-v3, run-v32-cross-protocol)跑出的设计: 5 路碰撞(交集基数 1 / Boehm 30× 冻结瓶颈 / AgentBench 8/8 harness 绑定 / ANOVA ≥2 适配器 / Shannon 1bit)→ 天花板双层钉死(集合论 + 信息论)→ proposition"粒度误读"挑战 → cataclysm"judge 即规格" → review PASS → materialize(91 行接口伪代码)。
代码实现中——宣称 L1-L7 由 tests/ 逐一验证。