Files
Agentswarm/benchmark
Songhaoz666andClaude Opus 4.8 baa67350e6 benchmark Group C:基线运行器 + 统一 BenchmarkRunRecord + 报告/回放(Closes #21)
在去中心化重构之上落地 benchmark 对比管线:5 个系统(single/strong/chain/sub_agent/swarm)
跑同一任务集、同一执行后端,产出统一 BenchmarkRunRecord → 评估器算 G_E/G_E,c → 报告 + 回放。

- benchmark/runners/:backend(Offline 确定性 / OpenAI 真实)+ base + 5 个 runner。各 runner
  用 held-out fixture 测试在 Group B 沙箱里评分得 TestPassRate(权威,非自评)。
- benchmark/tasksets/:统一任务集 + 加载器(coding-set-1,1 个 fixture)。
- benchmark/reports/、benchmark/replay/:G_E/G_E,c/coverage/confidence + 归档。
- benchmark/baselines/comparison.py:BenchmarkRunRecord 的 CodeReview/UserAcceptance 改为
  Optional(掩码归一,未采集即 None,规则 #9)。
- scripts/run-benchmark-suite.py harness + scripts/test-benchmark-runners.py。

与去中心化重构对齐:swarm runner 拓扑已**重指向去中心化流程**(种子→自选→自主分解→竞争→
同伴交叉评审→收敛,calls=6/review=1),非旧 Master「分解→派发→单评审」。仍用同一离线后端
建模以保证公平对比(驱动活体编排器会换后端→记录不可比;活体全流程由 test-workflow-e2e 验证)。

沙箱适配:runner 评分走 fail-closed 沙箱(#24),故 test + CI 步骤设 HEICODE_SANDBOX_ISOLATED=1
(仅 CI/隔离 Pod)。

影响范围:agent_swarm(benchmark 层 + 测试 + docs + CI)。不碰 orchestrator 编排逻辑、
不改 Manager↔Swarm 契约、不影响 Client/计费/密钥/审计/发布链路。

诚实边界:
- **离线后端只验证管线**:所有系统拿同一参考解 → quality 相同 → G_E=0、swarm_valid=False,
  刻意不显示蜂群优势(反造假)。真实 G_E>0 需 --backend openai + 足量冻结任务集 + 多次运行。
- 故 Closes #21(运行器 + 统一记录已落地并产出合规非 NaN 记录);Refs #20(仅 1/5 场景)、
  Refs #22(评估器/报告/回放已建,但 Quality 仅 TestPassRate,CodeReview/UserAcceptance 缺)、
  Refs #13(验收 EPIC,需真实 run 证明 Swarm>baselines,未满足)。

Closes #21
Refs #20
Refs #22
Refs #13

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 17:44:34 +08:00
..

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/ BenchmarkRunRecord + compare/evaluate(G_E/G_E,c) ✅ 已实现
tasksets/ 统一基准任务集(coding-set-1) 🟡 1 个示例任务集(#20)
runners/ single/strong/chain/sub_agent/swarm + 共享 backend(Offline/OpenAI) 🟡 管线已落地;真实数值需 key(#21)
reports/ G_E/G_E,c/coverage/confidence + Markdown ✅ 已实现(#22 部分)
replay/ 记录/报告归档(records/report/md/meta) 🟡 最小回放(#22 部分)
leaderboard/ 排行榜聚合 🔴 未落地

公式可计算 ≠ 能自证。基线运行管线(runners/tasksets/reports/replay)已落地,但 Offline 仅验证管线 (无偏、G_E=0),真实 G_E>0 需 --backend openai + 冻结任务集 + 多次运行。在拿到真实结果前, 不得宣称已具备 Agent Swarm 量化自证能力(不能证明 Swarm > Single/Chain/Sub/Strong,也无法输出完整 Benchmark_Agent)。入口 scripts/run-benchmark-suite.py,说明见 docs/benchmark/baseline-runners.md。

待落地(按依赖顺序)

  1. collectors/:接入事件流 / Prometheus / OTel / 任务与用量(telemetry-architecture)。
  2. baselines/:四类基线 + 统一任务集(emergence-evaluation / baseline-comparison)。
  3. replay/、leaderboard/。
  4. 权重 v2.0 已给定(λ/w*/γ*,Σλ=1.0);α/β/ρ/N_agent/ε 用 THETA_DEFAULTS 推荐初值,调优口径待定。