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 项目初始化

  1. 选择合适的模块
  2. 通用项目:BMM
  3. 游戏开发:BMGD
  4. 测试驱动:TEA
  5. 创意项目:CIS

  6. 明确项目范围

  7. 定义清晰的 MVP
  8. 设定合理的迭代周期
  9. 识别技术约束

  10. 准备项目上下文

  11. 整理现有文档
  12. 收集需求资料
  13. 明确技术选型

8.2 规划阶段

  1. Analyst 阶段
  2. 充分沟通需求
  3. 识别边界条件
  4. 记录决策原因

  5. PM 阶段

  6. PRD 要具体可测试
  7. 功能点要原子化
  8. 优先级要明确

  9. Architect 阶段

  10. 架构要可演进
  11. 技术选型要务实
  12. 文档要持续更新

  13. SM 阶段

  14. Story 要独立可测试
  15. 依赖关系要明确
  16. 估算要留有余量

8.3 开发阶段

  1. 按顺序开发
  2. 遵循 Story 依赖顺序
  3. 每完成一个 Story 进行验证
  4. 及时更新文档

  5. 保持上下文

  6. 定期同步架构变更
  7. 更新 Story 状态
  8. 记录技术决策

  9. 质量保证

  10. 每个 Story 都要测试
  11. 使用 QA Agent 验证
  12. 保持代码质量

九、常见问题

9.1 如何选择模块?

  • BMM:大多数通用项目
  • BMGD:游戏开发项目
  • TEA:测试密集型项目
  • CIS:创意/设计项目
  • BMB:需要自定义 Agent 时

9.2 如何处理大型项目?

  1. 使用 Document Sharding 拆分文档
  2. 按 Epic 分组管理 Story
  3. 使用增量开发策略
  4. 定期归档完成的 Story

9.3 如何与现有项目集成?

  1. 在现有项目目录安装 BMAD
  2. 将现有文档迁移到 BMAD 结构
  3. 创建追溯性 Story
  4. 逐步采用 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 优势

  1. 完整的开发流程:从需求到交付的全覆盖
  2. 专业的角色分工:12+ 专业 Agent 协作
  3. 上下文工程:有效管理大型项目上下文
  4. 工具无关:支持多种 IDE 和工具
  5. 模块化设计:可根据需求选择模块
  6. 开源免费:MIT 许可证

10.2 局限

  1. 学习曲线:需要理解方法论和流程
  2. 初期投入:规划阶段需要时间
  3. AI 依赖:依赖 LLM 的能力
  4. 文档维护:需要持续更新文档

10.3 适用场景

  • 中大型软件项目
  • 需要规范化流程的团队
  • AI 辅助开发实践
  • 快速原型开发
  • 敏捷开发项目

参考资源

  • GitHub 仓库:https://github.com/bmad-code-org/BMAD-METHOD
  • 官方文档:https://docs.bmad-method.org/
  • 社区讨论:GitHub Discussions
  • 示例项目:官方仓库 examples 目录

报告生成时间:2026-03-21