BMAD-METHOD 深度调研报告
BMAD-METHOD 深度调研报告
一、项目概述
1.1 基本信息
| 属性 | 内容 |
|---|---|
| 项目名称 | BMAD-METHOD |
| 全称 | Breakthrough Method for Agile AI-Driven Development |
| 别名 | Build More Architect Dreams |
| GitHub | https://github.com/bmad-code-org/BMAD-METHOD |
| Stars | 32,000+ |
| License | MIT |
| 主要语言 | JavaScript/TypeScript |
1.2 项目定位
BMAD-METHOD 是一个AI 驱动的敏捷开发方法论框架,通过模拟完整软件开发团队的方式,让 AI Agent 扮演不同角色(产品经理、架构师、开发者、测试工程师等),实现从需求分析到代码交付的全流程自动化。
核心理念: - Spec-Oriented Development(规格驱动开发):通过结构化文档驱动 AI 开发 - Context Engineering(上下文工程):保持项目上下文的一致性和完整性 - Agentic Planning(代理规划):AI Agent 自主规划和执行任务
二、核心架构
2.1 AI Agent 体系
BMAD-METHOD 定义了 12+ 个专业 AI Agent,每个 Agent 有明确的职责边界:
| Agent | 角色代号 | 职责 |
|---|---|---|
| Analyst | /analyst |
业务分析师,负责需求收集和业务分析 |
| Product Manager | /pm |
产品经理,负责 PRD 编写和功能规划 |
| Architect | /architect |
架构师,负责系统设计和技术选型 |
| Scrum Master | /sm |
敏捷教练,负责任务分解和进度管理 |
| Developer | /dev |
开发者,负责代码实现 |
| QA Engineer | /qa |
测试工程师(Quinn),负责测试用例和质量保证 |
| UX Designer | /ux |
用户体验设计师,负责交互设计 |
| Product Owner | /po |
产品负责人,负责验收和优先级决策 |
| Design Architect | /da |
设计架构师,负责 UI/UX 架构 |
| Game Designer | /gd |
游戏设计师(BMGD 模块) |
| Creative Director | /cd |
创意总监(CIS 模块) |
2.2 两阶段工作流
┌─────────────────────────────────────────────────────────────────┐
│ Phase 1: Agentic Planning │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Analyst │ -> │ PM │ -> │Architect│ -> │ SM │ │
│ │ 需求分析 │ │ PRD编写 │ │ 架构设计 │ │ 任务拆分 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │ │ │ │ │
│ v v v v │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 输出:项目规格文档 │ │
│ │ - PRD (Product Requirements Document) │ │
│ │ - Architecture Design │ │
│ │ - Story Files (任务故事) │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
v
┌─────────────────────────────────────────────────────────────────┐
│ Phase 2: Context-Engineered Development │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Story-Based Development │ │
│ │ │ │
│ │ Story 1.1 → Story 1.2 → Story 2.1 → ... │ │
│ │ │ │ │ │ │
│ │ v v v │ │
│ │ /dev 实现 /dev 实现 /dev 实现 │ │
│ │ │ │ │ │ │
│ │ v v v │ │
│ │ /qa 测试 /qa 测试 /qa 测试 │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ 核心机制:Document Sharding + Context Preservation │
└─────────────────────────────────────────────────────────────────┘
三、核心模块
3.1 模块概览
| 模块 | 全称 | 用途 |
|---|---|---|
| BMM | BMad Method | 核心框架,通用软件开发 |
| BMB | BMad Builder | 构建自定义 Agent 和模块 |
| TEA | Test Architect | 测试架构师,专注测试策略 |
| BMGD | BMad Game Dev Studio | 游戏开发工作室 |
| CIS | Creative Intelligence Suite | 创意智能套件 |
3.2 BMM 核心模块
BMM 是最常用的核心模块,包含完整的软件开发 Agent 体系:
核心功能: - 完整的 8 个核心 Agent - 标准 Story 模板 - 项目文档结构 - 验证和测试流程
适用场景: - Web 应用开发 - CLI 工具开发 - API 服务开发 - 通用软件项目
3.3 BMB 构建器模块
BMB 用于创建自定义模块和 Agent:
功能: - 定义新的 Agent 角色 - 创建行业特定的模块 - 自定义工作流程 - 扩展现有功能
3.4 TEA 测试架构师模块
TEA 专注于测试驱动的开发流程:
功能: - 测试策略设计 - 测试用例生成 - 自动化测试框架 - 质量门禁控制
四、安装与配置
4.1 前置要求
- Node.js 18+
- npm 或 yarn
- 支持的 IDE/工具
4.2 安装命令
# 交互式安装
npx bmad-method install
# 非交互式安装(CI/CD)
npx bmad-method install \
--directory /path/to/project \
--modules bmm \
--tools claude-code \
--yes
# 安装多个模块
npx bmad-method install \
--modules bmm,tea \
--tools cursor,windsurf \
--yes
4.3 支持的工具
| 工具 | 类型 | 支持程度 |
|---|---|---|
| Claude Code | CLI | 完全支持 |
| Cursor | IDE | 完全支持 |
| Windsurf | IDE | 完全支持 |
| VS Code + Cline | IDE 扩展 | 完全支持 |
| VS Code + RooCode | IDE 扩展 | 完全支持 |
| Aider | CLI | 完全支持 |
4.4 项目结构
安装后的项目结构:
project/
├── .bmad-core/
│ ├── agents/ # Agent 定义
│ │ ├── analyst.md
│ │ ├── pm.md
│ │ ├── architect.md
│ │ ├── developer.md
│ │ └── ...
│ ├── templates/ # 模板文件
│ │ ├── prd.md
│ │ ├── architecture.md
│ │ └── story.md
│ └── workflows/ # 工作流定义
├── docs/
│ ├── prd.md # 产品需求文档
│ ├── architecture.md # 架构设计文档
│ └── stories/ # Story 文件
│ ├── 1.1.user-auth.md
│ ├── 1.2.user-login.md
│ └── ...
└── src/ # 源代码
五、核心概念详解
5.1 Story 文件
Story 是 BMAD-METHOD 的核心工作单元,格式为:
{epicNum}.{storyNum}.{storyTitle}.md
示例:
- 1.1.user-authentication.md - Epic 1, Story 1, 用户认证
- 1.2.user-login.md - Epic 1, Story 2, 用户登录
- 2.1.product-crud.md - Epic 2, Story 1, 产品 CRUD
Story 文件结构:
# Story 1.1: User Authentication
## Context
- Epic: User Management
- Priority: High
- Dependencies: None
## Acceptance Criteria
- [ ] User can register with email/password
- [ ] Password is hashed before storage
- [ ] Email verification is sent
## Technical Notes
- Use bcrypt for password hashing
- JWT for session management
## Tasks
- [ ] Create User model
- [ ] Implement registration endpoint
- [ ] Add email verification
5.2 Document Sharding
Document Sharding 是上下文工程的核心技术:
问题:大型项目的文档可能超过 LLM 的上下文窗口
解决方案: 1. 将大文档拆分为小文件 2. 每个 Story 只加载相关上下文 3. 通过引用链接保持一致性
示例:
docs/
├── architecture/
│ ├── overview.md # 架构概览
│ ├── database.md # 数据库设计
│ ├── api.md # API 设计
│ └── frontend.md # 前端架构
├── prd/
│ ├── overview.md # PRD 概览
│ ├── features/ # 功能详情
│ │ ├── auth.md
│ │ └── products.md
│ └── constraints.md # 约束条件
└── stories/
└── ... # Story 文件
5.3 Context Preservation
上下文保持机制确保 AI Agent 始终了解项目全貌:
技术手段: 1. 系统提示词注入:自动加载项目上下文 2. 增量更新:只更新变化的部分 3. 引用链:通过链接追踪依赖关系 4. 状态文件:记录当前进度和状态
六、工作流程详解
6.1 Phase 1: Agentic Planning
Step 1: 需求分析 (Analyst)
/analyst
Analyst Agent 会: - 收集业务需求 - 识别关键干系人 - 分析业务流程 - 输出需求文档
Step 2: PRD 编写 (PM)
/pm
PM Agent 会: - 编写产品需求文档 - 定义功能清单 - 设定优先级 - 输出 PRD 文档
Step 3: 架构设计 (Architect)
/architect
Architect Agent 会: - 设计系统架构 - 选择技术栈 - 定义数据模型 - 输出架构文档
Step 4: 任务拆分 (Scrum Master)
/sm
SM Agent 会: - 将功能拆分为 Epic - 将 Epic 拆分为 Story - 估算工作量 - 输出 Story 文件
6.2 Phase 2: Context-Engineered Development
开发流程:
# 开始开发某个 Story
/dev story 1.1
# 完成后进行测试
/qa story 1.1
# 标记完成,进入下一个 Story
/sm complete 1.1
/dev story 1.2
上下文加载机制:
每个 Story 开发时,系统会自动加载: 1. 相关的架构文档 2. 相关的 PRD 章节 3. 前置 Story 的实现摘要 4. 当前项目的代码结构
七、与其他框架对比
7.1 vs GitHub Copilot
| 维度 | BMAD-METHOD | GitHub Copilot |
|---|---|---|
| 定位 | 全流程开发框架 | 代码补全工具 |
| Agent 数量 | 12+ 专业 Agent | 单一补全模型 |
| 工作流 | 完整 SDLC | 编码阶段 |
| 上下文 | 项目级上下文 | 文件级上下文 |
| 文档生成 | 自动生成 PRD/架构 | 无 |
| 学习曲线 | 中等 | 低 |
7.2 vs Cursor Composer
| 维度 | BMAD-METHOD | Cursor Composer |
|---|---|---|
| Agent 角色 | 多角色协作 | 单一 Agent |
| 流程管理 | 内置敏捷流程 | 无 |
| 文档结构 | 标准化文档 | 自由格式 |
| 团队模拟 | 完整团队角色 | 无 |
| 可扩展性 | 模块化架构 | 插件系统 |
7.3 vs AutoGen
| 维度 | BMAD-METHOD | AutoGen |
|---|---|---|
| 类型 | 方法论框架 | Agent 框架 |
| 实现 | 基于提示词 | 基于代码 |
| 部署 | 无需后端 | 需要运行时 |
| IDE 集成 | 原生支持 | 需要适配 |
| 适用场景 | 软件开发 | 通用 Agent |
八、最佳实践
8.1 项目初始化
- 选择合适的模块:
- 通用项目:BMM
- 游戏开发:BMGD
- 测试驱动:TEA
-
创意项目:CIS
-
明确项目范围:
- 定义清晰的 MVP
- 设定合理的迭代周期
-
识别技术约束
-
准备项目上下文:
- 整理现有文档
- 收集需求资料
- 明确技术选型
8.2 规划阶段
- Analyst 阶段:
- 充分沟通需求
- 识别边界条件
-
记录决策原因
-
PM 阶段:
- PRD 要具体可测试
- 功能点要原子化
-
优先级要明确
-
Architect 阶段:
- 架构要可演进
- 技术选型要务实
-
文档要持续更新
-
SM 阶段:
- Story 要独立可测试
- 依赖关系要明确
- 估算要留有余量
8.3 开发阶段
- 按顺序开发:
- 遵循 Story 依赖顺序
- 每完成一个 Story 进行验证
-
及时更新文档
-
保持上下文:
- 定期同步架构变更
- 更新 Story 状态
-
记录技术决策
-
质量保证:
- 每个 Story 都要测试
- 使用 QA Agent 验证
- 保持代码质量
九、常见问题
9.1 如何选择模块?
- BMM:大多数通用项目
- BMGD:游戏开发项目
- TEA:测试密集型项目
- CIS:创意/设计项目
- BMB:需要自定义 Agent 时
9.2 如何处理大型项目?
- 使用 Document Sharding 拆分文档
- 按 Epic 分组管理 Story
- 使用增量开发策略
- 定期归档完成的 Story
9.3 如何与现有项目集成?
- 在现有项目目录安装 BMAD
- 将现有文档迁移到 BMAD 结构
- 创建追溯性 Story
- 逐步采用 BMAD 工作流
9.4 如何自定义 Agent?
使用 BMB 模块创建自定义 Agent:
# .bmad-core/agents/custom-agent.md
## Role
Custom Agent for specific domain
## Responsibilities
- Analyze domain-specific requirements
- Generate domain-specific code
## Skills
- Domain expertise
- Code generation
## Interaction
- Works with /architect for design
- Works with /dev for implementation
十、总结
10.1 优势
- 完整的开发流程:从需求到交付的全覆盖
- 专业的角色分工:12+ 专业 Agent 协作
- 上下文工程:有效管理大型项目上下文
- 工具无关:支持多种 IDE 和工具
- 模块化设计:可根据需求选择模块
- 开源免费:MIT 许可证
10.2 局限
- 学习曲线:需要理解方法论和流程
- 初期投入:规划阶段需要时间
- AI 依赖:依赖 LLM 的能力
- 文档维护:需要持续更新文档
10.3 适用场景
- 中大型软件项目
- 需要规范化流程的团队
- AI 辅助开发实践
- 快速原型开发
- 敏捷开发项目
参考资源
- GitHub 仓库:https://github.com/bmad-code-org/BMAD-METHOD
- 官方文档:https://docs.bmad-method.org/
- 社区讨论:GitHub Discussions
- 示例项目:官方仓库 examples 目录
报告生成时间:2026-03-21