# 研讨协议（导演参考）

与 `SKILL.md` **七阶段（含阶段 0）**模型对齐；下表为各阶段目的与停止条件。

## 角色与任务

- **角色人数不固定**：有几个任务上**不可缺少、且能形成有效张力**的视角，就设几个角色；不得为凑「标准人数」硬加角色。
- 角色集合在 **阶段 2** 按任务重新选定；**运营/产品/技术**仅为「通用功能需求」的常见组合，非默认。
- 若互评中某角色明显**不对题**（例如短视频任务却只有后端视角），应**中断阶段 4**，回到阶段 2～3 修正角色卡后再继续。

## 七阶段定义（0～6）

| 序号 | 阶段 | phase key | 目的 | 停止条件 |
|------|------|-----------|------|----------|
| 0 | 任务澄清 | `phase_0_intake` | 锁定**交付物类型**（方案 vs 成稿 vs 混合等）与非目标 | `state.md` 阶段 0 含交付物类型 + 成功标准 + 与用户原话对齐 |
| 1 | 任务理解 | `phase_1_understanding` | 对齐需求细节、约束、迫问 | `state.md` 含原始需求与假设 |
| 2 | 角色拆解 | `phase_2_roles` | 定参与视角与人数（**人数随任务**，无固定值） | 角色列表、职责、**为何是 N 个**已写 |
| 3 | 角色创建 | `phase_3_role_cards` | 每角色有可注入的立场文档 | 每角色有 session 角色卡（`references/sample-roles/` 可参考） |
| 4 | 任务讨论 | `phase_4_discussion` | 观点轮 + 互评轮 | 摘要进 `state.md`，或导演提前收束并说明 |
| 5 | plan 建立 | `phase_5_plan` → `awaiting_approval` | 产出 `plan.md` 并等待确认 | `plan.md` 按模板完整；用户未确认不进阶段 6 |
| 6 | plan 执行 | `phase_6_execution` | 按清单执行并勾选 | 清单完成或用户叫停 |

## 与旧版阶段名的对照（仅供读旧 session 时参考）

| 旧 key | 现归属 |
|--------|--------|
| opening | 阶段 0～1 + 阶段 4a 开头上下文 |
| debate | 阶段 4a 观点轮 |
| critique | 阶段 4b 互评轮 |
| synthesis | 阶段 5 写 plan |
| execution | 阶段 6 |

## 提前收束（节省 token）

- 连续两轮无新增可验证命题 → 可跳过部分互评，**阶段 4** 直接收束进 **阶段 5**，并在 `plan.md`「风险」中说明。
- 用户要求「尽快给方案」→ 同上。

## 角色冲突处理

- **范围**：产品 MVP vs 技术不可行 → plan 必须写「砍 scope」或「加时间/资源」二选一。
- **指标**：运营 vs 产品指标冲突 → plan 写**主指标 + 守护指标**与衡量周期。

## 僵局与升级（导演必须执行其一）

- **优先**：将僵持点写入 `plan.md` **共识表的未决项**或 **风险表**，不得假装已共识。
- **次选**：在对话中 **@用户 / 明确提问**，请人类裁决（二选一或补充信息）。
- **禁止**：导演在无新证据时强行「和稀泥」抹平定量冲突（如工期、预算、指标）。

若用户长时间无响应：`awaiting_approval` 状态下暂停阶段 6，不在未确认下执行高风险工具。

## 会话续跑

- 继续同一 `session_id` 时，**不得**在未读既有 `state.md` / `plan.md` 的情况下覆盖阶段结论。  
- 新需求若与原任务**主题不一致**，应新建 `session_id`，避免 `state` 语义混杂。

## 输出语言

默认中文；用户要求英文则全链路切换。
