--- title: "为什么解决方案阶段很重要" description: 理解为什么解决方案阶段对于多史诗项目至关重要 sidebar: order: 3 --- 阶段 3(解决方案)将构建**什么**(来自规划)转化为**如何**构建(技术设计)。该阶段通过在实施开始前记录架构决策,防止多史诗项目中的智能体冲突。 ## 没有解决方案阶段的问题 ```text 智能体 1 使用 REST API 实现史诗 1 智能体 2 使用 GraphQL 实现史诗 2 结果:API 设计不一致,集成噩梦 ``` 当多个智能体在没有共享架构指导的情况下实现系统的不同部分时,它们会做出可能冲突的独立技术决策。 ## 有解决方案阶段的解决方案 ```text 架构工作流决定:"所有 API 使用 GraphQL" 所有智能体遵循架构决策 结果:实现一致,无冲突 ``` 通过明确记录技术决策,所有智能体都能一致地实现,集成变得简单直接。 ## 解决方案阶段 vs 规划阶段 | 方面 | 规划(阶段 2) | 解决方案(阶段 3) | | -------- | ----------------------- | --------------------------------- | | 问题 | 做什么和为什么? | 如何做?然后是什么工作单元? | | 输出 | FRs/NFRs(需求) | 架构 + 史诗/用户故事 | | 智能体 | PM | 架构师 → PM | | 受众 | 利益相关者 | 开发人员 | | 文档 | PRD(FRs/NFRs) | 架构 + 史诗文件 | | 层级 | 业务逻辑 | 技术设计 + 工作分解 | ## 核心原则 **使技术决策明确且有文档记录**,以便所有智能体一致地实现。 这可以防止: - API 风格冲突(REST vs GraphQL) - 数据库设计不一致 - 状态管理分歧 - 命名约定不匹配 - 安全方法差异 ## 何时需要解决方案阶段 | 流程 | 需要解决方案阶段? | |-------|----------------------| | Quick Flow | 否 - 完全跳过 | | BMad Method Simple | 可选 | | BMad Method Complex | 是 | | Enterprise | 是 | :::tip[经验法则] 如果你有多个可能由不同智能体实现的史诗,你需要解决方案阶段。 ::: ## 跳过的代价 在复杂项目中跳过解决方案阶段会导致: - **集成问题**在冲刺中期发现 - **返工**由于实现冲突 - **开发时间更长**整体 - **技术债务**来自不一致模式 :::caution[成本倍增] 在解决方案阶段发现对齐问题比在实施期间发现要快 10 倍。 ::: --- ## 术语说明 - **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。 - **epic**:史诗。在敏捷开发中,指一个大型的工作项,可分解为多个用户故事。 - **REST API**:表述性状态传递应用程序接口。一种基于 HTTP 协议的 Web API 设计风格。 - **GraphQL**:一种用于 API 的查询语言和运行时环境。 - **FRs/NFRs**:功能需求/非功能需求。Functional Requirements/Non-Functional Requirements 的缩写。 - **PRD**:产品需求文档。Product Requirements Document 的缩写。 - **PM**:产品经理。Product Manager 的缩写。 - **sprint**:冲刺。敏捷开发中的固定时间周期,通常为 1-4 周。 - **technical debt**:技术债务。指为了短期目标而选择的不完美技术方案,未来需要付出额外成本来修复。