四块互相交织的 benchmark 覆盖增量,统一提交: 1) 通信遥测(#23):orchestrator 路由 peer 消息时按 correlation_id 计请求/应答到 SwarmRun.collaboration(内部状态,不进 Manager 事件流);collector 算 s_communication。 治理计数由 run.approvals 派生(合规/总数)→ s_governance。 2) Q_quality 掩码归一(v2.1 裁定):metrics.quality_score 改为对 present 输入加权归一, 非编码任务自动忽略 TestPassRate,全缺 → NaN(不伪造)。 3) 质量插桩 / Group B:新增 Pod 内代码测试沙箱(orchestrator/sandbox.py,环境清洗 + 超时强杀 + 资源限额 + 路径越界校验,门控 ENABLE_QUALITY_EVAL)与 held-out fixture (benchmark/fixtures/);run 完成时用留出测试评分得 TestPassRate → Q_quality → collector 合成 reward。安全边界见 docs/integration/security-boundary.md §8.1。 4) 决策引擎 / Group A(#10,Option A score-at-pull):新增 orchestrator/decision_engine.py —— 信息素 τ(Redis 持久、(role,agent) 键控、冷启动 0.5、ρ 蒸发、夹紧、学习常开)+ η 启发式评分 + ε-greedy 概率采样;每次 dispatch 产一条 DecisionTrace → SwarmRun.decisions;collector 算 tau/eta/p_decision。概率选择门控 ENABLE_ACO_DISPATCH (默认关,CI 用 ACO_SEED 固定)。 覆盖:单次 run 真实可算字段由 4 提升至最多 10/15(新增 communication/reward/tau/eta/ p_decision,外加 governance 有条件)。 测试:新增 test-sandbox / test-quality / test-decision-engine;扩充 collector/metrics 用例; CI 纳入全部 benchmark 套件 + flag-on 的 ACO e2e。本地 11 项 gate 全绿。 诚实边界(未越界声称): - Group A 为单边匹配(Option B 待 Group C);概率派发优于贪心未证;默认关闭。 - reward 的 CodeReview/UserAcceptance 未采集(掩码忽略);P_risk 为审批派生低估。 - s_gain/s_swarm/g_e/g_e_cost/benchmark 仍 NaN —— 需基线(#21/#13),本 PR 不动验收。 影响范围:Swarm(orchestrator + benchmark + docs + CI)。不改 Manager↔Swarm 事件契约 (遥测均为运行时内部状态);不影响 Client/计费/密钥/发布链路。新增 ENABLE_QUALITY_EVAL / ENABLE_ACO_DISPATCH 两个开关,默认关闭。 Closes #10 Closes #23 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
benchmark/ —— 蜂群基准(骨架)
对应 docs/benchmark/ 的标准实现入口。依据 Agent 蜂群指标量化与标准 v2.0。
实现状态
| 模块 | 内容 | 状态 |
|---|---|---|
metrics.py |
v2.0 SwarmMetrics(15 字段)+ 纯公式(pheromone/heuristic/p_decision/reward/completion/collaboration/communication/cost/robustness/governance/swarm_score/emergence_gain/swarm_cost/cost_normalized_gain/benchmark_agent)+ v2.0 推荐权重常量 |
✅ 已实现、可单测(test-benchmark-metrics.py) |
collectors/ |
base SwarmMetricsCollector + SwarmRunMetricsCollector(无条件计算 s_completion/s_collaboration/s_robustness,有条件计算 s_cost/s_governance/s_communication/reward/tau/eta/p_decision;其余标记 NaN + coverage=False) |
🟡 部分落地(单次 run 最多 10/15 字段真实可算) |
fixtures/ |
留出(held-out)任务 fixture + 加载器;reward 的 Q_quality 评分源 |
🟡 1 个示例 fixture(add_function),统一任务集待扩充 |
| 决策引擎 | orchestrator/decision_engine.py(τ trail + η 评分 + ε-greedy 采样,ENABLE_ACO_DISPATCH 门控;见 docs/benchmark/decision-engine.md) |
🟡 Option A 单边已落地;Option B 与决策质量验证待 Group C |
baselines/ |
Single / Chain / Sub-Agent / Strong 基线运行器 | 🔴 未落地 |
replay/ |
执行回放 | 🔴 未落地 |
leaderboard/ |
排行榜聚合 | 🔴 未落地 |
公式可计算 ≠ 能自证。数据采集(collectors)与基线(baselines)未落地前,不得宣称已具备 Agent Swarm 量化自证能力(不能证明
Swarm > Single/Chain/Sub-Agent/Strong,也无法输出完整Benchmark_Agent)。
待落地(按依赖顺序)
collectors/:接入事件流 / Prometheus / OTel / 任务与用量(telemetry-architecture)。baselines/:四类基线 + 统一任务集(emergence-evaluation / baseline-comparison)。replay/、leaderboard/。- 权重 v2.0 已给定(
λ/w*/γ*,Σλ=1.0);α/β/ρ/N_agent/ε用THETA_DEFAULTS推荐初值,调优口径待定。