Add a concrete 0-100 swarmness/compliance score, local large-scale stress, and 3000 TPM budget acceptance so the repo can say when it is a swarm by measured criteria instead of prose alone. Constraint: user required Chinese docs, explicit scenarios, parameters, formulas, pass/fail lines, and git upload. Rejected: prose-only PASS reports | they did not answer whether the system is a swarm with a concrete score. Confidence: high Scope-risk: moderate Directive: keep production runtime claims separate from local minimal swarm acceptance scores. Tested: py_compile swarm_minimal examples tests; unittest discover -s tests 45 tests; run_swarm_compliance_score.py; run_tpm_budget_acceptance.py; run_academic_standard_evaluation.py; git diff --check; docs/script secret-pattern scan. Not-tested: live S07 and production Kubernetes/NewAPI provider-rate-limit stress were not rerun in this upload step. Co-authored-by: OmX <omx@oh-my-codex.dev>
8.2 KiB
8.2 KiB
蜂群六特征验收标准
对象: swarm-minimal 最小蜂群原型
版本: swarm-six-characteristics-v1
日期: 2026-05-17
目的: 把蜂群 Agent 的验收指标从泛泛的“多 Agent 能跑”收敛到六个核心蜂群特征:去中心化、自组织、涌现性、鲁棒性、可扩展性、隐式协作。
1. 总体口径
蜂群系统不能只用普通软件质量门或单 Agent 指标验收。当前项目把蜂群验收主指标设为:
SWARM_PASS =
decentralization_pass
∧ self_organization_pass
∧ emergence_pass
∧ robustness_pass
∧ scalability_pass
∧ implicit_collaboration_pass
当前验收限定在本地最小蜂群原型,证明 Agent 层共享环境、自主 claim、信息素和收敛行为已经具备六特征。它不等同于“完全无协调器的生产级分布式 runtime”,真实 Kubernetes worker runtime 仍是下一阶段。
六特征的完整指标矩阵见 AGENT_SWARM_INDICATOR_TEST_MATRIX.zh-CN.md。本文件保留六特征的定义、场景、公式和当前结论。
2. 六特征场景与成功值总览
| ID | 特征 | 设计场景 | 成功值 |
|---|---|---|---|
| F01 | 去中心化 | 4 个 Agent 自主 claim 8 个任务 | participating_agents >= 4;duplicate_claims = 0;control_keys = 0;decision_records = 8 |
| F02 | 自组织 | 5 个局部信号写入 shared_state,初始不预置 dominant cluster | dominant_cluster = api;local_interaction_count >= 5;cluster:api:count = 3 |
| F03 | 涌现性 | beta 两个弱信号累计超过单个 gamma:0.45 强信号 |
candidate:beta:score = 0.67;accepted_score > 0.45;最终接受 beta |
| F04 | 鲁棒性 | 1 个 Agent 故意失败,2 个 backup Agent 继续完成 | failed_tasks = 1;completed_tasks >= 2;存在负反馈;run_status = converged |
| F05 | 可扩展性 | 分别用 3/5/7 个 Agent 跑同一 shared task pool |
对每个 n:completed_tasks = 2n;failed_tasks = 0;duplicate_claims = 0;participating_agents = n |
| F06 | 隐式协作 | 3 个任务按信息素 0.9/0.4/0.1 排序,无直接消息 |
direct_message_keys = 0;first_claim = high-signal;存在 environment:trail;高信号最终信息素仍高于中信号 |
3. F01 去中心化
定义:
无单一 Agent 控制节点;每个 Agent 基于局部任务和共享环境自主决策。
验收指标:
| 指标 | 合格条件 |
|---|---|
| 参与 Agent 数 | participating_agents >= 4 |
| 重复领取 | duplicate_claims = 0 |
| 单一控制痕迹 | control_keys = 0,即 shared_state 中不出现 leader/controller 控制键 |
| 决策记录 | 每个任务都有独立 decision:* 记录 |
通过公式:
decentralization_pass =
participating_agents >= 4
∧ duplicate_claims = ∅
∧ control_keys = ∅
∧ decision_records = task_count
当前证据入口:
tests.test_swarm_characteristics_acceptance
.test_decentralization_has_no_single_agent_control_node
4. F02 自组织
定义:
Agent 通过局部交互自发形成有序结构,无需预设全局分类或全局排序。
验收指标:
| 指标 | 合格条件 |
|---|---|
| 初始状态 | 不预置 dominant_cluster |
| 局部交互 | 每个 Agent 只处理当前 task.input 和 shared_state |
| 有序结构 | 最终形成 run:{run_id}:dominant_cluster |
| 结构正确性 | dominant cluster 与累计局部信号最高的类别一致 |
通过公式:
self_organization_pass =
no_preseeded_global_plan
∧ local_interaction_count >= 5
∧ dominant_cluster = argmax(cluster_score)
当前证据入口:
tests.test_swarm_characteristics_acceptance
.test_self_organization_forms_order_from_local_interactions
5. F03 涌现性
定义:
全局智能行为不是单个 Agent 局部输出的直接复制,而是多个局部信号聚合后的群体结果。
验收指标:
| 指标 | 合格条件 |
|---|---|
| 局部信号 | 单个局部信号都不足以直接成为最佳整体解释 |
| 聚合结果 | 多个弱信号聚合后超过单个强局部信号 |
| 最终选择 | accepted_output 指向聚合胜出的候选 |
通过公式:
emergence_pass =
global_score(candidate_group) > max(local_signal_i)
∧ accepted_candidate = argmax(global_score)
当前证据入口:
tests.test_swarm_characteristics_acceptance
.test_emergence_global_result_exceeds_single_local_signal
6. F04 鲁棒性
定义:
单个 Agent 失效不影响整体功能,失败可观测,系统能继续收敛。
验收指标:
| 指标 | 合格条件 |
|---|---|
| 失败隔离 | 至少一个 Agent 失败被记录为 failed task |
| 继续执行 | 其他 Agent 仍完成任务 |
| 负反馈 | 失败产生负 observation 或负信息素 |
| 最终状态 | run 仍进入 converged |
通过公式:
robustness_pass =
failed_tasks >= 1
∧ completed_tasks >= 2
∧ negative_observation_exists
∧ run_status = converged
当前证据入口:
tests.test_swarm_characteristics_acceptance
.test_robustness_single_agent_failure_does_not_stop_convergence
7. F05 可扩展性
定义:
新增或移除 Agent 不改变系统架构,任务 claim、完成、失败恢复和收敛保持稳定。
验收指标:
| 指标 | 合格条件 |
|---|---|
| Agent 数 | 覆盖 3/5/7 |
| 架构一致 | 都使用同一 shared task pool + shared state |
| 任务完成 | completed_tasks = 2 × agent_count |
| 失败 | failed_tasks = 0 |
| 重复领取 | duplicate_claims = 0 |
| 参与度 | participating_agents = agent_count |
通过公式:
scalability_pass =
∀ n ∈ {3, 5, 7},
completed_tasks_n = 2n
∧ failed_tasks_n = 0
∧ duplicate_claims_n = ∅
∧ participating_agents_n = n
∧ architecture_n = shared_task_pool
当前证据入口:
tests.test_swarm_characteristics_acceptance
.test_scalability_three_five_seven_agents_keep_same_architecture
8. F06 隐式协作
定义:
Agent 之间不依赖直接消息或人工协调,而是通过环境变化、信息素和 shared_state 间接协作。
验收指标:
| 指标 | 合格条件 |
|---|---|
| 直接消息 | message:* 直接通信键数量为 0 |
| 环境痕迹 | 存在 environment:trail |
| 信息素影响 | 最高信息素任务优先被 claim |
| 正反馈 | 高信号任务完成后信息素继续高于中低信号任务 |
通过公式:
implicit_collaboration_pass =
direct_message_keys = ∅
∧ environment_trail_exists
∧ first_claim = argmax(initial_pheromone)
∧ final_pheromone_high > final_pheromone_medium
当前证据入口:
tests.test_swarm_characteristics_acceptance
.test_implicit_collaboration_uses_environment_not_direct_messages
9. 标准矩阵接入
六特征验收进入两个总入口:
| 入口 | 新增项 | 命令 |
|---|---|---|
| 学术化本地门禁 | A07 | python3 -u -B examples/run_swarm_characteristics_acceptance.py |
| 标准矩阵 | S10 | python3 -u -B examples/run_swarm_characteristics_acceptance.py |
完整本地验收:
python3 -B -m unittest tests.test_swarm_characteristics_acceptance
python3 -u -B examples/run_swarm_characteristics_acceptance.py
10. 当前结论
当前代码层已经具备六特征的本地最小验收:
| 特征 | 当前结论 |
|---|---|
| 去中心化 | PASS,多个 Agent 自主 claim,无单一 Agent 控制键,无重复领取 |
| 自组织 | PASS,局部环境更新形成 dominant cluster |
| 涌现性 | PASS,聚合候选超过单个局部强信号 |
| 鲁棒性 | PASS,单 Agent 失败后其他任务继续完成并收敛 |
| 可扩展性 | PASS,3/5/7 Agent 规模下架构不变、无重复 claim、无失败任务 |
| 隐式协作 | PASS,通过信息素和 shared_state 环境痕迹间接协调,无直接消息键 |
边界说明:
- 已满足本仓库的最小蜂群六特征验收。
- 仍未声称满足生产级无中心调度 runtime。
- 下一阶段需要在真实 Kubernetes worker、Redis Stream 消费、动态任务图和生产监控指标下重复六特征验收。