回应 Fasthei 终审三点: 1) [P1 文档/代码冲突 + 死代码] 删除从不被调用的 *_enabled() helper(autonomous_tasks.proposals_enabled / task_competition.task_competition_enabled / convergence.convergence_report_enabled)及其 import os;模块 docstring 与四份协议文档(autonomous-task-generation / task-competition-protocol / review-loop-protocol / convergence-protocol)从"默认关/未接入/待 PR/cutover 转无条件"全部改为 "无条件接入(无开关)",删除引用死 helper 的过时集成代码样例;同步删除三个模块单测里的 "flag default OFF" 断言。 2) [P1 验收] #6 "Closes" 降为 "Refs":#6 DoD 需 ARB 决策记录链接,当前只有 owner 指示断言、无链接。 product-positioning.md 改为如实记录决策来源(owner 指示 + 本 PR + 文档)并把"补 ARB 记录链接(或 owner 明确接受断言)"列为关闭 #6 的前置;纠正其"flag 门控、默认行为不变"的过时表述(重构已无条件)。 3) [P2 契约卫生] assess_swarm_health 不再 emit_event("swarm.health")(避免向订阅全部的 Manager 回调 投递未注册事件);改为存 run.metadata["health"] + 内部 health_log。test-swarm-guard 相应断言 "无 swarm.health 外发 + 内部 health_log 已记"。 本地受影响 11 套全绿。影响范围:agent_swarm(orchestrator 模块/文档/测试);不改 Manager↔Swarm 契约。 Refs #6 Refs #7 Refs #8 Refs #11 Refs #12 Refs #18 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
43 lines
4.9 KiB
Markdown
43 lines
4.9 KiB
Markdown
# 产品定位说明(Product Positioning)
|
||
|
||
> 状态:**已选定 Path B 并完成去中心化重构(owner 指示)**。本文回应工单 #6「蜂群模式产品定义偏差」:原实现为 **Master 中心化**,heicodeDocs 蜂群定义为**弱中心**;现已按 **Path B** 重构为弱中心自组织并设为**唯一行为**(无开关;计划见 [swarm/decentralized-rework-plan.md](./swarm/decentralized-rework-plan.md))。
|
||
>
|
||
> **决策记录与 #6 关闭口径**:路径选择的依据 = owner 在工单/会话中的指示 + 本重构 PR + 本文 + [swarm-definition-gap.md](./swarm-definition-gap.md)。但**尚无形式 ARB 决策记录的链接**。故重构 PR 以 **`Refs #6`**(不自动关闭)引用本单;待补 ARB 记录链接(或 owner 明确接受上述断言为准)后由 owner 关闭 #6。两条路径取舍保留如下以备追溯。
|
||
>
|
||
> 配套:[`swarm-definition-gap.md`](./swarm-definition-gap.md)(逐条差距与文件/行号引用)、[README.md](../README.md)(能力边界表)、[`integration/runtime-contract.md`](./integration/runtime-contract.md)、[`benchmark/IMPORTANT-metric-coverage-gaps.md`](./benchmark/IMPORTANT-metric-coverage-gaps.md)。
|
||
|
||
## 1. 本系统当前「是什么」
|
||
|
||
- 一个**可运行的多 Agent 工作流运行时**(multi-agent workflow runtime):分解 → 派发 → 执行 → peer 协作/移交 → 评审/重做 → 汇总,仓内可端到端跑通(见 README 工作流)。
|
||
- 一个 **Master 中心化**编排系统:认知决策(分解 / 评审 / 汇总)集中于单一主控实体 `MasterAgent`(`orchestrator/master_agent.py`),由编排器 `task_dispatch_loop`(`orchestrator/main.py:290`)执行其决策。
|
||
- 任务规划在无 Manager 分工时由**单一 planner 回退**生成(`orchestrator/planner.py:62-85` 静态计划、`:87-116` LLM 计划),受 `ENABLE_PLANNER_FALLBACK` 门控。
|
||
|
||
## 2. 本系统当前「不是什么」
|
||
|
||
- **不是** Heicode 主链路的正式 Runtime Backend:尚未按 `heicode-am-contract` 注册接入(README 能力边界表标 🟡「待接入」;`docs/integration/runtime-contract.md`)。
|
||
- **不是 heicodeDocs 定义的弱中心蜂群**:当前不存在「Agent 感知共享态势 → 自主生成/竞争任务 → peer 交叉评审 → 自组织收敛」的去中心机制。派发是中心驱动的能力子集匹配(`orchestrator/task_queue.py:181-186` `can_agent_run_task`、`:140-168` 候选枚举),评审是中心化单点裁决(`planner.py:118-171` `review`)。
|
||
- **不是**已自证「优于基线」的蜂群:`gain / S_swarm / Benchmark_Agent` 仍 `NaN`(`benchmark/IMPORTANT-metric-coverage-gaps.md` §2)。
|
||
- 详见 [`swarm-definition-gap.md`](./swarm-definition-gap.md)。
|
||
|
||
## 3. 两条 ARB 路径(取舍并列,不预设结论)
|
||
|
||
| 维度 | Path A:对齐文档到现状 | Path B:构建弱中心能力 |
|
||
|---|---|---|
|
||
| 做什么 | 把对外定位/文档收敛为「Master 中心化多 Agent 工作流运行时」,不再宣称弱中心蜂群 | 落地弱中心机制,使实现向 heicodeDocs 定义收敛(对应工单 #7/#8/#9/#11/#12) |
|
||
| 改动面 | 仅文档与定位口径,**零代码** | 编排器派发/评审/态势/收敛的实质性架构改造 |
|
||
| 成本 | 低(数小时级文档工作) | 高(跨多工单的架构与验证工作,含基线对比) |
|
||
| 风险 | 放弃「弃中心蜂群」对外叙事;需确认与 heicodeDocs 标准不冲突(冲突须按 CLAUDE.md 输出冲突点,不得自行选边) | 周期长、引入分布式一致性/收敛终止/防活锁等新风险;需 Benchmark 自证 |
|
||
| 诚实性影响 | 立刻消除「宣称弱中心、实现中心化」的偏差(组织规则 #9) | 偏差在 Path B 完成并验收前持续存在,期间文档须保持 🟡/🔴 标注 |
|
||
| 可逆性 | 高(后续仍可转 Path B) | 中(架构改造沉没成本较高) |
|
||
|
||
> 说明:两条路径并非互斥的二选一终局——可先取 Path A 止血定位偏差,再按工单排期推进 Path B。但**采用哪条、是否并行、排期与验收门**均属产品/架构决策,不在本仓 docs 自行决定。
|
||
|
||
## 4. 待裁定项(ARB 决策,非本仓自决)
|
||
|
||
- [x] **已选定 Path B(owner 指示)并完成重构** —— 见 `swarm/decentralized-rework-plan.md`(swarm 已是唯一行为,无开关)。
|
||
- [ ] **关闭 #6 前置**:补一个**形式 ARB 决策记录链接**(或 owner 明确接受「owner 指示 + 本 PR + 本文」为决策记录)。在此之前重构 PR 用 `Refs #6` 不自动关闭。
|
||
- [ ] 若选 Path A:确认收敛后的对外定位口径与 heicodeDocs 标准无冲突(如有冲突,按 CLAUDE.md 输出冲突点交标准源裁定)。
|
||
- [ ] 若选 Path B:确认 #7/#8/#9/#11/#12 的范围、依赖顺序与 Benchmark 验收门(基线对比,见 `benchmark/IMPORTANT-metric-coverage-gaps.md` §5)。
|
||
|
||
> 本文不代行 ARB 裁定;上述路径选择**仍为 OPEN**,由人类 owner 决定。
|