# 多智能体并行协作工作流 版本:1.0 更新时间:2026-04-02 本文档描述基于 Gitea 远程仓库的多智能体并行协作工作流。 ## 1. 工作流总览 ``` 需求/问题 → 规划智能体 → 任务拆分 → 方案对比(可选) → 并行实现 → 并行验证 → PR合并 → 文档同步 ``` ## 2. 角色定义 ### 2.1 规划智能体 (Planner) - **职责**:需求分析、任务拆分、依赖识别、方案对比组织 - **输出**:任务清单、依赖图、方案对比报告(如需要) - **触发条件**:收到新功能需求或复杂问题 ### 2.2 实现智能体 (Implementer) - **职责**:编码实现、单元测试编写 - **输出**:代码变更、测试用例 - **触发条件**:收到明确的任务描述和验收标准 ### 2.3 验证智能体 (Verifier) - **职责**:执行验证矩阵、生成验证报告 - **输出**:验证报告(通过/失败/阻塞) - **触发条件**:实现智能体完成编码后 ### 2.4 审查智能体 (Reviewer) - **职责**:代码审查、安全审查、性能审查 - **输出**:审查报告(问题清单+优先级) - **触发条件**:PR 创建后 ## 3. 任务拆分规则 ### 3.1 拆分原则 - 每个任务必须是独立的、可并行执行的单元 - 任务粒度:每个任务应在 30-120 分钟内可完成 - 前后端分离的任务必须拆分为独立任务 - 数据库变更必须单独作为一个任务 ### 3.2 依赖标注 - 任务之间如果有依赖,必须明确标注: - `依赖: TASK-XXX` - 执行顺序:`先执行 TASK-XXX,再执行 TASK-YYY` - 无依赖的任务标记为 `独立` ### 3.3 任务模板 ```markdown ### TASK-XXX: 任务名称 **优先级**: P0/P1/P2 **工作量**: S(1h)/M(2h)/L(4h) **依赖**: 无 / TASK-XXX **负责人**: 实现智能体-A **任务描述**: - 要做什么 - 为什么做 **验收标准**: - [ ] 标准1 - [ ] 标准2 **验证命令**: - 命令1 - 命令2 ``` ## 4. 方案对比流程 ### 4.1 触发条件 - 新增核心功能 - 架构变更 - 存在多种可行实现路径 - 性能优化涉及重大权衡 ### 4.2 对比流程 1. 规划智能体识别需要方案对比的任务 2. 分配 2-3 个智能体并行输出不同方案 3. 每个方案必须包含: - 实现思路 - 优缺点分析 - 预估工作量 - 风险评估 4. 决策者根据对比维度选择最优方案 5. 记录决策原因和否决原因 ### 4.3 对比维度 | 维度 | 说明 | |------|------| | 实现复杂度 | 人天/智能体时 | | 性能影响 | 对现有性能的影响 | | 可维护性 | 后续维护成本 | | 架构兼容性 | 与现有架构的匹配度 | | 测试难度 | 测试覆盖的难易程度 | ## 5. 并行实现模式 ### 5.1 无依赖并行 ``` TASK-A (前端) ──┐ ├── 并行执行 TASK-B (后端) ──┘ ``` ### 5.2 有依赖串行 ``` TASK-A (后端API) ──→ TASK-B (前端对接) ``` ### 5.3 混合模式 ``` TASK-A (数据模型) ──┬─→ TASK-B (后端Service) ──┐ │ ├── TASK-E (集成测试) └─→ TASK-C (前端页面) ──────┘ │ TASK-D (独立任务) ──┘ ``` ## 6. 冲突解决机制 ### 6.1 文件冲突预防 - 任务拆分阶段识别可能被多个任务修改的文件 - 协调修改顺序或分配不同的修改区域 - 共享文件(如路由配置、类型定义)由单一智能体统一修改 ### 6.2 合并冲突处理 - 优先保留功能完整的版本 - 手动合并差异,不自动解决 - 合并后必须重新运行验证矩阵 ## 7. 验证策略 ### 7.1 本地验证(实现智能体) - 每次提交前运行受影响的最小测试集 - 确保代码可编译、lint 通过 ### 7.2 并行验证(验证智能体) - 后端测试、前端 lint/build、E2E 测试并行执行 - 生成统一的验证报告 ### 7.3 PR 验证(审查智能体) - 代码审查 - 安全审查 - 性能审查 - 生成审查报告 ## 7. E2E 测试流程 ### 7.1 E2E 测试架构 - **Playwright CDP E2E**(主验收路径): - 命令:`cd frontend/admin && npm.cmd run e2e:full:win` - 协议:Playwright 通过 CDP 连接真实浏览器 - 数据库:隔离测试数据库(临时 SQLite 文件) - 邮件:本地 SMTP 捕获服务(验证邮件发送) - 信号收集:console errors、dialogs、popups、request failures、401 responses - 多视口:desktop 1440x960、tablet 820x1180、mobile 390x844 - **覆盖场景**: - 管理员引导(admin-bootstrap) - 公开注册(public-registration) - 邮箱激活(email-activation) - 登录表面验证(login-surface) - 认证工作流(auth-workflow) - 响应式登录(responsive-login) - 桌面/移动端导航(desktop-mobile-navigation) ### 7.2 E2E 测试规则 - 必须启动真实后端进程(隔离测试数据库) - 必须启动真实前端开发服务器 - 必须通过真实浏览器(CDP 协议)执行用户操作 - 必须验证真实 API 响应(非 mock) - 必须验证真实数据库状态变化 - 禁止使用 mock 响应替代真实 API 调用 - 禁止在测试中硬编码预期结果而不走真实业务链路 - 禁止跳过认证、权限校验等安全环节直接断言页面状态 ### 7.3 未来 E2E 增强方向 - 引入 `agent-browser`(bb browse)等浏览器自动化工具 - 补充 Playwright 未覆盖的交互场景: - 设备信任管理 - 批量操作 - 系统设置页 - 管理员管理页 - 登录日志导出 - 增加复杂业务流程的端到端验证 ## 8. 文档同步规则 ### 8.1 必须更新的文档 | 变更类型 | 必须更新的文档 | |----------|----------------| | 功能变更 | `docs/status/REAL_PROJECT_STATUS.md` | | API 变更 | `docs/API.md` | | 规则变更 | `docs/team/QUALITY_STANDARD.md` | | 经验沉淀 | `docs/team/PROJECT_EXPERIENCE_SUMMARY.md` | | 架构决策 | `docs/decisions/` | ### 8.2 文档更新时机 - 代码合并后立即更新相关文档 - 文档更新作为 PR 的一部分 ## 9. 迭代节奏 ### 9.1 迭代周期 - 每个迭代周期不超过 2 小时 - 小步快跑,持续验证 ### 9.2 迭代流程 1. **规划阶段**(10-15 分钟) - 任务拆分 - 依赖分析 - 智能体分配 2. **实现阶段**(60-90 分钟) - 并行编码 - 本地验证 3. **验证阶段**(15-30 分钟) - 并行验证 - 代码审查 - PR 合并 4. **总结阶段**(5-10 分钟) - 文档同步 - 经验沉淀 ## 10. 阻塞处理 ### 10.1 阻塞识别 - 智能体无法继续执行任务 - 验证持续失败 - 依赖任务未完成 ### 10.2 阻塞处理流程 1. 记录阻塞原因和影响范围 2. 寻找替代方案 3. 阻塞超过 30 分钟上报 4. 调整任务优先级或拆分方式 ## 11. 知识沉淀 ### 11.1 必须记录的内容 - 解决方案(每次解决的问题) - 避免方法(每次踩过的坑) - 验证结果(每次验证通过的命令) ### 11.2 沉淀位置 - 短期经验:`docs/sprints/` - 长期经验:`docs/team/PROJECT_EXPERIENCE_SUMMARY.md` - 架构决策:`docs/decisions/`