fischer-agentkit/docs/brainstorms/2026-06-24-expert-team-proj...

10 KiB
Raw Permalink Blame History

date topic
2026-06-24 expert-team-project-manager-collaboration

专家团项目经理模式协同 — 需求文档

Summary

将专家团ExpertTeam的 Lead 从"甩手掌柜"重新定义为"项目经理"——全程主导制定计划、安排任务、冲突协调、成果验收。专家间通过协作契约实现"可见+可协助"的实质性数据交换。前端以协作关系图可视化专家间互动与私董会Board的平等讨论模式形成明确区分。

Problem Frame

当前专家团的执行模式是"Lead 分解任务 → 专家孤立执行 → Lead 汇总结果"。Lead 是甩手掌柜分解完就等结果汇总完就交付。专家之间没有直接通信Lead 持有所有状态(src/agentkit/experts/team.py 注释明确写了"专家间无直接通信")。

U1-U6 的辩论功能在"分歧检测"时引入了一个互动点,但辩论是异常处理,不是常态协作。用户的核心痛点是:当前体现不出多 agent 协同工作——无论是实际执行效果还是用户看到的 UI/UE。

用户期望专家团像"项目实施团队"运作:项目经理统筹协调,制定计划,安排任务,冲突协调,成果验收。这与私董会(多轮平等讨论、观点碰撞)是两种根本不同的协同方式,必须明确区分。

Key Decisions

项目经理模式 over 共享黑板模式。 Lead 从"甩手掌柜"变为"全程参与的项目经理",保持 Lead 权威和结构化协作。共享黑板模式(去中心化、专家自主)与私董会界限模糊,不符合"项目实施团队"定位。

Lead 动态选择流程 over 固定 5 步模板。 Lead 根据任务性质从"信息收集→制定计划→规划方案→具体实施→验证回测"中选择/组合阶段,而非强制走固定流程。保留灵活性,适应不同类型的复杂任务。

协作契约作为协同结构。 Lead 分解任务时为每个阶段定义"协作契约"——明确哪些专家需要协作、协作内容是什么。让"可见+可协助"有明确结构,而非专家自主判断何时互动。

复用 U1-U6 辩论机制做冲突协调。 Lead 发现专家间冲突时触发辩论(复用已有 DEBATE phase 机制),避免重复建设。

打破上下文隔离KTD3 专家需看到协作契约中相关专家的工作输出,不再完全上下文隔离。这是"可见+可协助"的前提,但增加了上下文复杂度——需控制可见范围避免信息过载。

Actors

  • A1. Lead项目经理 — 统筹协调、制定计划(含协作契约)、安排任务、冲突协调、成果验收。全程主导,不再是甩手掌柜。
  • A2. 专家(团队成员) — 执行分配的任务、按协作契约主动协助相关专家、可标记风险、可请求协助。
  • A3. 用户 — 发起专家团任务、可通过 U4 干预通道介入(/stop/debate、纯文本注入上下文)。

Requirements

Lead 项目经理角色

  • R1. Lead 全程主导任务执行,职责从"分解+汇总"扩展为"制定计划、安排任务、冲突协调、成果验收"五个方面。
  • R2. Lead 制定计划时为每个阶段定义"协作契约"——明确该阶段哪些专家需要协作、协作内容是什么(如"后端向前端提供 API 定义")。
  • R3. Lead 执行过程中监控各专家进展,主动向协作契约中的相关专家推送进展信息。
  • R4. Lead 发现专家间冲突时触发协调,复用 U1-U6 的 DEBATE phase 机制。
  • R5. Lead 在每个阶段完成后进行验收,验收结果决定是否进入下一阶段。

专家协作行为

  • R6. 专家执行任务时能看到协作契约中相关专家的工作输出(打破当前上下文隔离)。
  • R7. 专家完成自己的输出后,按协作契约主动通知相关专家(实质性数据交换)。
  • R8. 专家可主动标记风险Lead 收到风险标记后决定是否调整计划或触发协调。
  • R9. 专家可向其他专家请求协助,请求通过 Lead 中转或按协作契约直接通信。

验收与返工

  • R10. 验收不合格时Lead 可要求负责专家返工,返工需明确修改要求。
  • R11. 返工次数有上限(建议 2 次),超过上限则标记阶段失败,触发 fallback 机制。

前端可视化

  • R12. 前端以协作关系图展示专家间互动——节点为专家,边为协作关系和数据流向,替代当前的扁平阶段列表。
  • R13. 验收状态在协作关系图上可见(通过/返工/待验收),用户一眼看出团队进展。
  • R14. 专家间的协助、风险标记、请求等互动事件实时呈现在协作关系图上,让用户看到"团队在协作"而非"机器在跑任务"。

与私董会的区分

  • R15. 专家团始终保持 Lead 主导的结构化分工协作,不退化为私董会的平等讨论模式。
  • R16. 专家团的协同围绕"完成任务"展开(有验收、有返工),私董会的协同围绕"达成共识"展开(多轮发言、主持人小结)。

CLI 支持

  • R17. CLI 支持项目经理模式的协同事件渲染(协作通知、验收结果、风险标记等),延续 U6 的 Rich 渲染模式。

Key Flows

  • F1. 项目经理模式执行流程

    • Trigger: 用户发送 @team <task> 消息。
    • Actors: A1Lead, A2专家, A3用户
    • Steps:
      1. Lead 制定计划,分解为阶段,为每个阶段定义协作契约。
      2. 按拓扑排序执行阶段,同层并行、层间串行。
      3. 专家执行时按协作契约看到相关专家输出,完成后主动通知相关专家。
      4. Lead 监控进展,发现冲突时触发辩论协调。
      5. 每个阶段完成后 Lead 验收,合格则进入下一阶段,不合格则要求返工。
      6. 所有阶段完成后 Lead 汇总结果,团队解散。
    • Outcome: 任务完成,用户看到全程协作过程和最终成果。
    • Covered by: R1, R2, R3, R5, R6, R7.
  • F2. 专家主动协助

    • Trigger: 专家完成自己的输出,协作契约中指定了需通知的相关专家。
    • Actors: A2专家
    • Steps:
      1. 专家完成阶段输出。
      2. 按协作契约,将输出推送给相关专家。
      3. 相关专家收到通知,可读取输出用于自己的任务。
      4. 前端协作关系图上显示数据流向。
    • Outcome: 专家间实现实质性数据交换,协同可见。
    • Covered by: R6, R7, R12, R14.
  • F3. 验收与返工

    • Trigger: 阶段执行完成Lead 进行验收。
    • Actors: A1Lead, A2专家
    • Steps:
      1. Lead 检查阶段输出是否满足要求。
      2. 合格 → 标记阶段完成,进入下一阶段。
      3. 不合格 → 向负责专家发出返工要求,明确修改点。
      4. 专家返工Lead 再次验收。
      5. 返工次数超过上限 → 标记阶段失败,触发 fallback。
    • Outcome: 阶段质量得到保证,或触发降级处理。
    • Covered by: R5, R10, R11, R13.

Acceptance Examples

  • AE1. 验收不合格触发返工

    • Covers R5, R10, R11.
    • Given: 一个阶段执行完成Lead 验收发现输出不满足要求。
    • When: Lead 发出返工要求,明确修改点。
    • Then: 负责专家返工Lead 再次验收。若返工 2 次仍不合格,标记阶段失败。
  • AE2. 专家按协作契约主动协助

    • Covers R2, R6, R7.
    • Given: Lead 分解任务时定义了协作契约:"后端阶段完成后向前端提供 API 定义"。
    • When: 后端专家完成 API 定义。
    • Then: 前端专家收到 API 定义通知,可读取用于前端实现。协作关系图上显示后端→前端的数据流向。
  • AE3. 专家标记风险触发 Lead 调整

    • Covers R8, R3.
    • Given: 专家执行时发现上游输出有问题。
    • When: 专家标记风险。
    • Then: Lead 收到风险标记,决定是否调整计划(如插入辩论阶段、要求上游返工、或接受风险继续)。
  • AE4. 与私董会的区分

    • Covers R15, R16.
    • Given: 用户分别发起 @team@board 任务。
    • When: 两者执行时。
    • Then: @team 显示协作关系图Lead 主导、分工协作、有验收);@board 显示发言流(平等讨论、主持人小结、无验收)。两者可视化形态明确不同。

Scope Boundaries

Deferred for later

  • 实时协作面板Figma/Google Docs 式)——协作关系图已满足当前可视化需求,实时面板是后续迭代方向。
  • 专家完全自主互动(无固定协议)——当前保持协作契约的结构化协作,自主互动作为后续探索。

Outside this product's identity

  • 私董会模式融合——专家团和私董会是两种根本不同的协同方式,不合并。专家团围绕"完成任务",私董会围绕"达成共识"。
  • 去中心化协作(共享黑板模式)——与私董会界限模糊,不符合"项目实施团队"定位。

Dependencies / Assumptions

  • 依赖 U1-U6 辩论机制:冲突协调复用 DEBATE phase 机制,不重新建设。
  • 依赖 U4 用户干预通道:用户介入复用已有的 /stop/debate、纯文本注入机制。
  • LLM 调用次数显著增加Lead 不只分解+汇总,还要定义协作契约、监控进展、协调冲突、验收成果。需评估成本影响。
  • 上下文隔离被打破专家需看到相关专家的工作KTD3 的完全隔离不再成立。需控制可见范围(仅协作契约内的专家),避免信息过载。
  • 协作契约质量依赖 Lead 能力:如果 Lead 定义的协作契约不好,协同会退化回当前的孤立执行。

Outstanding Questions

Resolve Before Planning

(无——实现层面的问题已移至 Deferred to Planning

Deferred to Planning

  • 协作契约的数据结构如何设计?是嵌入 PlanPhase 还是独立实体?(影响架构设计)
  • 专家间的"可见"是实时推送还是按需读取?(影响性能和复杂度)
  • 返工上限的具体数值(建议 2 次,需在实现时验证)。
  • 协作关系图的前端技术选型SVG/Canvas/WebGL
  • CLI 协同事件的具体渲染样式。