Skip to content

Handoff 治理文档

本文档是平台全量 Agent 交接路径的可视化治理入口,覆盖主链串行、并行设计、Specialist 调用回路和反馈打回四类路径。

相关文档:


1. 全量 Handoff 流程图

1.1 主链路径(/team-* 串行)

mermaid
flowchart TD
    subgraph 主链串行
        A["/team-intake<br/>tech-lead"] -->|PRD draft| B["/team-plan<br/>tech-lead"]
        B -->|Requirement Challenge + Dynamic Discussion| C["/handoff<br/>tech-lead"]
        C -->|handoff-ready| D["/team-execute<br/>FE / BE"]
        D -->|Execute Log + 自测结果| E["/team-review<br/>qa-engineer"]
        E -->|放行建议| F["/team-release<br/>devops-engineer"]
        F -->|发布结果| G["tech-lead<br/>最终收口"]
    end

1.2 并行设计路径(/team-plan 阶段)

mermaid
flowchart TD
    TL["tech-lead<br/>Requirement Challenge Session"] -->|分组| DS["Dynamic Discussion Group"]
    DS -->|并行| AR["architect<br/>系统边界 + 接口"]
    DS -->|并行| UX["ui-ux-designer<br/>交互流 + 设计 token"]
    DS -->|并行| FE["frontend-engineer<br/>组件 + 响应式"]
    DS -->|并行| BE["backend-engineer<br/>数据模型 + 异常路径"]
    AR --> DRB["Design Review Board<br/>tech-lead 主持"]
    UX --> DRB
    FE --> DRB
    BE --> DRB
    DRB -->|对齐结论| TL2["tech-lead<br/>handoff-ready"]

1.2.1 动态分组规则

/team-plan 不是固定四方并行的默认直通,而是先由 tech-lead 按任务特征组装最小讨论组,再决定是否进入并行设计:

  • 业务目标或范围不清时,先拉 product-managerproject-managerarchitect
  • 架构、接口或数据模型变更时,必须拉 architectbackend-engineerproject-manager
  • UI 或体验变更时,必须拉 product-managerui-ux-designerfrontend-engineer
  • 全栈改动时,必须拉 architectfrontend-engineerbackend-engineerproject-manager
  • 每个参与角色都必须留下至少 1 条质疑记录,否则不得进入 Design Review Board

1.3 Specialist 调用回路

mermaid
flowchart LR
    subgraph "Role → Specialist → Role"
        RE1["backend-engineer"] -->|代码完成| CR["code-reviewer"]
        CR -->|发现安全问题| SR["security-reviewer"]
        SR -->|安全修复建议| RE1
        CR -->|通过| RE1

        RE2["frontend-engineer"] -->|代码完成| CR2["code-reviewer"]
        CR2 -->|通过| RE2
        CR2 -->|质量问题| RE2

        QA["qa-engineer"] -->|需要 E2E| E2E["e2e-runner"]
        E2E -->|测试结果| QA
        QA -->|需要 TDD 补充| TDD["tdd-guide"]
        TDD -->|测试建议| QA

        BE_BUILD["backend-engineer"] -->|构建失败| BER["build-error-resolver"]
        BER -->|修复建议| BE_BUILD

        TL_PLAN["tech-lead"] -->|复杂规划| PL["planner"]
        PL -->|规划结果| TL_PLAN
    end

1.4 反馈与打回路径

mermaid
flowchart TD
    subgraph 反馈闭环
        QA_R["qa-engineer<br/>发现 Bug"] -->|打回| FE_R["frontend-engineer"]
        QA_R -->|打回| BE_R["backend-engineer"]
        FE_R -->|修复后| QA_R
        BE_R -->|修复后| QA_R

        DRB_R["Design Review Board<br/>驳回设计"] -->|打回| AR_R["architect"]
        DRB_R -->|打回| UX_R["ui-ux-designer"]
        AR_R -->|修改后| DRB_R
        UX_R -->|修改后| DRB_R

        UC["Upstream Challenge<br/>质疑未解决"] -->|升级| TL_R["tech-lead"]
        TL_R -->|仲裁结论| UC
    end

1.5 端到端完整流程

mermaid
flowchart TD
    START["业务方需求"] --> INTAKE["/team-intake<br/>tech-lead"]

    INTAKE -->|"upstream_challenge<br/>质疑业务目标"| INTAKE
    INTAKE -->|涉及 UI| UXI["ui-ux-designer<br/>初步体验约束"]
    UXI --> INTAKE
    INTAKE --> PLAN["/team-plan<br/>tech-lead"]

    PLAN -->|需求挑战会| RCS["PM + Architect + PM<br/>Requirement Challenge"]
    RCS --> PLAN
    PLAN -->|动态分组讨论| PAR{"design-swarm"}
    PAR --> AR2["architect"]
    PAR --> UX2["ui-ux-designer"]
    PAR --> FE2["frontend-engineer"]
    PAR --> BE2["backend-engineer"]
    AR2 --> DRB2["Design Review Board"]
    UX2 --> DRB2
    FE2 --> DRB2
    BE2 --> DRB2
    DRB2 --> HH["/handoff<br/>handoff-ready"]

    HH --> EXEC["/team-execute"]
    EXEC -->|"upstream_challenge<br/>质疑方案"| EXEC
    EXEC -->|构建失败| BER2["build-error-resolver"]
    BER2 --> EXEC
    EXEC -->|代码完成| CRB["Code Review Board"]
    CRB -->|安全问题| SR2["security-reviewer"]
    SR2 --> CRB
    CRB --> EXEC

    EXEC --> REVIEW["/team-review<br/>qa-engineer"]
    REVIEW -->|"upstream_challenge<br/>质疑自测充分性"| REVIEW
    REVIEW -->|Bug 打回| EXEC
    REVIEW -->|放行| RELEASE["/team-release<br/>devops-engineer"]

    RELEASE -->|"upstream_challenge<br/>质疑发布可行性"| RELEASE
    RELEASE --> CLOSE["tech-lead 收口"]

2. Handoff 矩阵表

2.1 Role → Role 交接

发送方接收方触发条件必须传递的产物接收方质量门禁常见失败模式
product-managertech-leadPRD 完成PRD、用户故事、验收标准、UI/UX 约束摘要PRD 有明确的 In/Out Scope 和可测验收标准PRD 太模糊,缺少反例分析
tech-leadarchitect/team-plan 进入 design-swarm需求简报、约束、设计方向输入有明确的业务边界和技术约束约束不完整导致方案偏离
tech-leadui-ux-designer/team-plan 进入 design-swarm(涉及 UI)PRD、产品类型、目标端、关键页面意图PRD 包含 UI 方向说明缺少产品类型和信息密度说明
tech-leadfrontend-engineer/team-plan 进入 design-swarm 或 /team-execute架构方案、UI/UX Design Spec、设计 tokenDesign Spec 已通过 Review Board设计与架构不对齐
tech-leadbackend-engineer/team-plan 进入 design-swarm 或 /team-execute架构方案、接口契约、数据模型接口契约有完整的请求/响应/错误定义接口契约不完整或版本冲突
tech-leadproject-managerPRD 完成PRD、技术约束、资源信息有可排期的任务粒度任务粒度太粗无法排期
tech-leadqa-engineer/team-execute 完成PRD、Execute Log、前后端自测结果有可验证的验收标准和自测证据自测不充分,缺少边界态
tech-leaddevops-engineer/team-review 放行放行建议、变更清单、配置差异放行建议无阻塞项环境配置遗漏
architecttech-lead架构设计完成ADR、组件拆分、接口约定、风险清单方案可执行且风险已标注过度设计或风险被低估
ui-ux-designertech-leadDesign Spec 完成UI/UX Design Spec、设计 token 决策、体验风险清单Spec 包含状态定义和响应式策略缺少异常态和边界态设计
frontend-engineerqa-engineer前端实现完成代码变更、自测结果、UI Review Checklist四态(loading/empty/error/success)完整只有成功态,缺少异常态
backend-engineerqa-engineer后端实现完成代码变更、自测结果、接口实际行为接口契约和实际行为一致接口行为与契约漂移
qa-engineertech-lead测试完成测试计划、执行结果、放行建议核心路径全部通过边界态覆盖不足
qa-engineerfrontend-engineerBug 打回Bug 描述、复现步骤、期望行为Bug 可复现且有明确预期Bug 描述模糊
qa-engineerbackend-engineerBug 打回Bug 描述、复现步骤、期望行为Bug 可复现且有明确预期Bug 描述模糊
devops-engineertech-lead发布完成发布结果、监控状态、异常项发布成功且监控正常发布后监控缺失

2.2 Role → Specialist 调用

发送方(Role)接收方(Specialist)触发条件必须传递的产物结论回落
tech-leadplanner复杂需求拆解需求背景、约束回落到 /team-plan 输出
tech-leadharness-optimizer平台审计当前配置回落到 docs/memory/
backend-engineercode-reviewer代码完成代码变更 diff回落到 Execute Log
backend-engineerbuild-error-resolver构建失败错误日志回落到 /team-execute
backend-engineerjava-build-resolverJava 构建失败错误日志回落到 /team-execute
frontend-engineercode-reviewer代码完成代码变更 diff回落到 Execute Log
frontend-engineerbuild-error-resolver构建失败错误日志回落到 /team-execute
qa-engineertdd-guide测试策略制定PRD、代码结构回落到 Test Plan
qa-engineere2e-runnerE2E 测试执行测试场景回落到 /team-review
qa-engineersecurity-reviewer安全相关变更代码变更回落到 /team-review
devops-engineerchief-of-staff跨角色同步发布状态回落到 /team-release

2.3 Specialist → Specialist 级联

发送方接收方触发条件常见失败模式
code-reviewersecurity-reviewer代码评审中发现安全风险安全问题被标记为"低优先级"跳过
code-reviewerperformance-optimizer评审中发现性能瓶颈性能问题延后处理后被遗忘
build-error-resolver语言专项 resolver通用 resolver 无法定位语言特有问题错误选择了 resolver 类型
plannerarchitect规划中发现架构决策点架构决策未同步回 Role Agent
tdd-guidee2e-runner单元测试后需要 E2E 验证E2E 环境不可用

3. Upstream Challenge(反向推理)交接规则

每次 handoff 的接收方必须执行 upstream_challenge 协议,并把它视为阶段切换前置条件:

  1. 接收方阅读上游产出后,必须对至少 1 个输入提出质疑
  2. 质疑记录追加到 handoff 文档的「下游质疑记录」字段(handoff-contract.md 第 12 项)
  3. 质疑结论为以下三种之一:接受原方案 / 要求上游修改 / 升级给 tech-lead
  4. 门禁:未完成质疑记录的 handoff 视为不合格交接
  5. 阶段门禁:未达到 handoff-ready 的 handoff 不得触发 /team-execute

各角色的质疑维度定义在 roles/*/role.yamlupstream_challenge 字段中,具体包含:

  • trigger:何时触发质疑
  • mandatory_questions:必须质疑的问题列表
  • output:质疑记录的标准输出
  • gate:未完成质疑时的阻断规则

4. 质量门禁总览

检查点门禁内容未通过的处理
Handoff 交接接收方完成 upstream_challenge,质疑记录不为空,且状态可达 handoff-ready打回,要求补充
Design Review Board四方设计对齐,无阻塞冲突打回冲突方,tech-lead 仲裁
Code Review Board无 CRITICAL/HIGH 问题打回实现角色
Security Review无 CRITICAL 安全漏洞阻断发布流程
QA 放行核心路径通过,无阻塞 Bug打回实现角色或升级 tech-lead
Release Gate回滚方案可行,监控覆盖推迟发布

5. 失败模式与防范

失败模式表现防范措施
空气交接只说"我做完了",没有结构化产物handoff-contract.md 强制字段校验
质疑缺失接收方未挑战上游输入就开始工作upstream_challenge gate 阻断
Specialist 脱轨specialist 结论未回落到 role agentagent-governance.md 约束
并行冲突并行 agent 写同一文件file ownership locking
升级黑洞问题升级给 tech-lead 后无回应升级必须有超时和备选方案
Bug 打回循环Bug 在 QA 和开发间反复打回第 3 次打回升级到 tech-lead

Released under the MIT License.