UNPKG

orchestrix

Version:

Orchestrix - Universal AI Agent Framework for Coordinated AI-Driven Development

335 lines (250 loc) 11.9 kB
# Story 状态转换参考文档 ## 概述 本文档详细说明 Orchestrix 框架中 Story 的所有状态、负责人、转换规则和常见场景,为开发团队提供完整的状态管理指南。 ## 状态定义 ### 1. Blocked - **含义**: Story 质量不达标,需要 SM 修订 - **负责人**: SM Agent - **下一步行动**: - SM 修订 Story 内容 - 重新执行质量检查 - **触发条件**: - 结构验证完成率 < 100% - 技术提取完成率 < 80% - 技术质量分数 < 6.0 - **允许转换到**: `AwaitingArchReview`, `Approved`, `Blocked` ### 2. AwaitingArchReview - **含义**: 等待 Architect 技术审查 - **负责人**: Architect Agent - **下一步行动**: - Architect 执行技术审查 - **触发条件**: - 技术质量分数 ≥ 8.0 且复杂度指标 ≥ 2 - 技术质量分数 6.0-7.9(任何复杂度) - SM 修订后需要第2轮审查 - **允许转换到**: `Approved`, `RequiresRevision`, `Escalated` ### 3. RequiresRevision - **含义**: Architect 审查发现问题,需要 SM 修订 - **负责人**: SM Agent - **下一步行动**: - SM 基于 Architect 反馈修订 Story - 重新执行质量检查 - **触发条件**: - Architect 审查评分 < 7/10 - 存在 Critical 级别问题 - **允许转换到**: `AwaitingArchReview`, `Approved`, `Blocked` ### 4. Approved - **含义**: Story 已批准,可以开始开发 - **负责人**: Dev Agent - **下一步行动**: - Dev 开始实现功能 - **触发条件**: - 技术质量分数 ≥ 8.0 且复杂度指标 ≤ 1 - Architect 审查评分 ≥ 7/10 且无 Critical 问题 - SM 修订后满足自动批准条件 - **允许转换到**: `InProgress` ### 5. InProgress - **含义**: Dev 正在实现功能或修复 QA 发现的问题 - **负责人**: Dev Agent - **下一步行动**: - Dev 完成实现 - Dev 修复 QA 问题 - **触发条件**: - Dev 开始实现功能 - QA 审查发现问题需要修复 - **允许转换到**: `Review` ### 6. Review - **含义**: 等待 QA 审查 - **负责人**: QA Agent - **下一步行动**: - QA 执行代码审查和测试 - **触发条件**: - Dev 完成所有任务和测试 - **允许转换到**: `Done`, `InProgress` ### 7. Done - **含义**: Story 已完成 - **负责人**: 无 - **下一步行动**: 无 - **触发条件**: - QA 审查通过 (Gate = PASS) - 所有验收标准满足 - 无 Critical 问题 - **允许转换到**: 无(终态) ### 8. Escalated - **含义**: 需要人工介入决策 - **负责人**: Human - **下一步行动**: - 人工评估和决策 - **触发条件**: - Architect 发现需要人工介入的复杂问题 - 审查轮次超限需要决策 - **允许转换到**: `AwaitingArchReview`, `Approved`, `Blocked` ## 状态转换矩阵 | 当前状态 | 可转换到 | 负责Agent | 触发条件 | | ---------------------- | ------------------ | --------- | ----------------------------- | | **Blocked** | AwaitingArchReview | SM | 质量检查通过,需要审查 | | **Blocked** | Approved | SM | 高质量 + 低复杂度 | | **Blocked** | Blocked | SM | 修订后仍不达标 | | **AwaitingArchReview** | Approved | Architect | 审查评分 ≥ 7,无Critical问题 | | **AwaitingArchReview** | RequiresRevision | Architect | 审查评分 < 7 或有Critical问题 | | **AwaitingArchReview** | Escalated | Architect | 需要人工介入 | | **RequiresRevision** | AwaitingArchReview | SM | 修订完成,触发第2轮审查 | | **RequiresRevision** | Approved | SM | 满足自动批准条件 | | **RequiresRevision** | Blocked | SM | 修订后质量仍不足 | | **Approved** | InProgress | Dev | 开始实现 | | **InProgress** | Review | Dev | 实现完成 | | **Review** | Done | QA | QA审查通过 | | **Review** | InProgress | QA | QA发现问题 | | **Escalated** | AwaitingArchReview | Human | 决定重新审查 | | **Escalated** | Approved | Human | 决定批准 | | **Escalated** | Blocked | Human | 决定修订 | ## 质量评估决策矩阵 ### 两阶段评估流程 ``` 阶段一:结构验证(门控条件) ├─ 通过 (100%) → 继续阶段二 └─ 不通过 (< 100%) → Status = Blocked 阶段二:技术质量评估 ├─ 技术提取 < 80% → Status = Blocked └─ 技术提取 ≥ 80% → 计算技术质量分数 (0-10) 复杂度检测:检测 7 个复杂度指标 (0-7) 决策矩阵: ├─ 技术分数 ≥ 8.0 + 复杂度 0 → Status = Approved ├─ 技术分数 ≥ 8.0 + 复杂度 1 → Status = Approved (可选审查) ├─ 技术分数 ≥ 8.0 + 复杂度 ≥ 2 → Status = AwaitingArchReview ├─ 技术分数 6.0-7.9 + 任何复杂度 → Status = AwaitingArchReview └─ 技术分数 < 6.0 → Status = Blocked ``` ### 复杂度指标 1. **API 契约变更** - 修改现有API接口 2. **数据库模式修改** - 变更数据库结构 3. **新架构模式** - 引入新的架构模式 4. **跨服务依赖** - 涉及多个服务交互 5. **安全敏感操作** - 涉及安全相关功能 6. **性能关键特性** - 对性能有重要影响 7. **核心架构文档修改** - 需要更新架构文档 ## 审查轮次管理 ### Architect 审查(最多2轮) | 轮次 | 触发条件 | 通过标准 | 失败处理 | | --------- | --------------------------- | ------------------------- | ------------------------- | | **第1轮** | Status = AwaitingArchReview | 评分 ≥ 7 + 无Critical问题 | Status = RequiresRevision | | **第2轮** | SM修订后 | 评分 ≥ 7 + 无Critical问题 | 询问用户决策 | **自动批准条件**(跳过第2轮): - 所有Critical问题已解决 - 质量分数提升 ≥ 2分 - 最终质量分数 ≥ 8.0 - 仅修订了Minor级别问题 ### QA 审查(最多3轮,渐进式标准) | 轮次 | 质量标准 | 通过条件 | 失败处理 | | --------- | -------- | ---------------------------------- | ------------------- | | **第1轮** | 严格 | 所有标准满足 + 无Critical/High问题 | Status = InProgress | | **第2轮** | 适中 | 问题减少≥50% + 无High问题 | Status = InProgress | | **第3轮** | 务实 | 无Critical问题 | 询问用户决策 | ## 常见场景的状态转换示例 ### 场景1:高质量Story直接批准 ``` SM创建Story → 质量检查 → 技术分数8.5 + 复杂度0 → Approved → Dev实现 ``` ### 场景2:需要Architect审查的Story ``` SM创建Story → 质量检查 → 技术分数7.0 + 复杂度1 → AwaitingArchReview → Architect审查通过 → Approved → Dev实现 ``` ### 场景3:需要修订的Story ``` SM创建Story → 质量检查 → 技术分数5.0 → Blocked → SM修订 → 质量检查 → 技术分数8.0 + 复杂度2 → AwaitingArchReview → Architect审查发现问题 → RequiresRevision → SM修订 → 满足自动批准条件 → Approved → Dev实现 ``` ### 场景4:QA发现问题需要修复 ``` Dev完成实现 → Review → QA第1轮审查发现问题 → InProgress → Dev修复 → Review → QA第2轮审查问题减少50% → Done ``` ### 场景5:复杂问题需要升级 ``` AwaitingArchReview → Architect发现复杂架构问题 → Escalated → 人工决策 → Approved/Blocked/AwaitingArchReview ``` ## Agent Handoff 消息格式 ### 标准消息格式 ``` Next: [Agent名称] 请执行命令 `[命令名称] [参数]` ``` ### 具体消息映射 | 状态转换 | Handoff 消息 | | ---------------------- | -------------------------------------------------------------------- | | SM → Architect | `Next: Architect 请执行命令 \`review-story {story_id}\`` | | SM → Dev (创建后) | `Next: Dev 请执行命令 \`implement-story {story_id}\`` | | Architect → SM | `Next: SM 请执行命令 \`revise {story_id}\`` | | Architect → Dev | `Next: Dev 请执行命令 \`implement-story {story_id}\`` | | SM → Architect (第2轮) | `Next: Architect 请执行命令 \`review-story {story_id}\` (第2轮审查)` | | SM → Dev (修订后) | `Next: Dev 请执行命令 \`implement-story {story_id}\`` | | Dev → QA | `Next: QA 请执行命令 \`review {story_id}\`` | | QA → Dev | `Next: Dev 请执行命令 \`review-qa {story_id}\`` | | QA → 完成 | `Story 已完成!` | ### 特殊情况消息 | 状态 | 消息 | | --------- | -------------------------------------- | | Blocked | `Story 被阻塞,需要 SM 修订后重新提交` | | Escalated | `Story 已升级,需要人工介入决策` | ## 错误处理和验证 ### 常见错误类型 1. **无效状态转换** - 错误:尝试从 `Done` 转换到其他状态 - 处理:拒绝转换,提示允许的转换目标 2. **未授权Agent操作** - 错误:Dev 尝试在 `AwaitingArchReview` 状态修改Story - 处理:拒绝操作,指示负责的Agent 3. **前置条件不满足** - 错误:质量检查未通过就尝试转换到 `Approved` - 处理:拒绝转换,列出缺失的条件 ### 验证规则 - ✅ 强制执行允许的状态转换路径 - ✅ 验证Agent权限 - ✅ 检查前置条件 - ✅ 记录所有状态转换用于审计 - ✅ 允许Human Agent手动覆盖 ## 性能和监控 ### 关键指标 - **Story生命周期**:各状态平均停留时间、总周期时长 - **质量评估**:平均质量分数、结构验证通过率 - **审查效率**:平均审查轮次、自动批准率、升级率 - **Agent性能**:SM修订成功率、Dev首次通过率 ### 告警阈值 - 平均审查轮次 > 2.0 → 检查决策矩阵阈值 - 自动批准率 < 30% → 检查质量标准 - 升级率 > 10% → 检查工作流程和培训 ## 最佳实践建议 ### 对SM Agent 1. 创建Story时确保结构完整,避免进入 `Blocked` 状态 2. 技术提取完成率保持在90%以上 3. 修订时重点关注Critical问题,争取自动批准 ### 对Architect Agent 1. 第1轮审查要严格,避免第2轮反复 2. 明确区分Critical、Medium、Minor问题级别 3. 提供具体的修订建议 ### 对Dev Agent 1. 实现前仔细阅读Dev Notes和Tasks 2. 完成后进行自检,减少QA轮次 3. 修复QA问题时要彻底,避免反复 ### 对QA Agent 1. 第1轮审查要全面,发现所有问题 2. 后续轮次关注问题解决情况 3. 第3轮后要务实,平衡质量和效率 ## 故障排除 ### Story卡在某个状态 1. 检查负责Agent是否正确 2. 验证前置条件是否满足 3. 查看错误日志确定具体问题 ### 审查轮次过多 1. 检查质量标准是否过于严格 2. 分析常见问题类型,改进模板 3. 加强Agent培训 ### 自动批准率过低 1. 调整决策矩阵阈值 2. 改进质量评估算法 3. 优化Story模板和指导 --- _本文档基于 Agent Handoff Optimization 规范 v1.0,对应需求 9 和 1.8_