---
date: 2026-06-24
topic: 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:** A1（Lead）, 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:** A1（Lead）, 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 协同事件的具体渲染样式。
