BMAD-Method终于出了个文档页 ,早期 v4 版本由于 角色众多让不熟悉敏捷流程的人无所适从,最新的 v6 alpha 版本以 workflow 为主要使用方式,大大降低了使用门槛,在群友 nick 的介绍下,我也开始使用了,而且是基于 glm 4.7 来开发。

BMAD 全称为 Breakthrough Method of Agile AI Driven Development,是一个基于 AI Agent 的开发框架(别被框架吓到,本质上它就是一系列的 prompt 集合 + 一个便于你把 prompt 放到你所用的 AI Coding 工具上的小助手)。这个框架把敏捷开发流程,方法,过程管理等,设计了大量的 AI 人设和工作流,如果你想钻研软件工程 prompt ,这个仓库你不应错过。

如果你觉得 vibe coding 的项目失去掌控感,强烈建议你深入使用体验一番 BMAD!

使用 BMAD 前,先确保你已经熟悉使用 Claude Code 之类的命令行编程工具!本教程也只在 Claude Code 中演示,但 BMAD 本身并不太挑,他可用于大多数 CLI 工具

0. 快速体验

对,又是俄罗斯方块!

1
2
3
4
5
6
mkdir bmad-learn
cd bmad-learn
npx bmad-method@alpha install
# select tools to configure: 移动到 claude code 处按空格键选中
# select modules to install: yes,选中 BMM(其他先不管)
# 其他看着办

进入 claude code 后:

  1. 调用 /bmad:bmm:workflows:workflow-init 初始化工作流

这个工作流会帮你:

  • 完成 git 仓库初始化(如果你没有)
  • 根据项目状态和你确认如项目名称,是否进入引导等一系列初始化工作(设置方式选 :Express 快速设置
  • 规划方式选择 时,输入 /clear 清除会话
  1. 输入 /bmad:bmm:agents:quick-flow-solo-dev 调用快速开发工作流

  2. 按流程选 TS 进入技术方案规则,输入“完成一个俄罗斯方块游戏”(或其他你可做的小项目)

  3. …(后面照要求填就好,如果想快速体验,在有选项时都不要选深入而是继续,否则你会陷入无穷的新知识点的包围)

我用这个办法写了个俄罗斯方块,前期干预只涉及到需求讨论(包括生成声音),仓库见:https://github.com/iptton/bricks-bmad (你也可以基于这个仓库进行 bmad 基础的二次开发,而不需要额外再安装)

和别的一句话实现 xxx 有什么不同?

  • 他不是由一句话驱动开发,而是通过和你对话用一页或多页文档进行开发
  • 类似于其他 spec 框架,他有 bmad 一系列预置的流程,方便你二次开发
  • 与其他 spec 框架不同的是,bmad 工作流里内置的方法论极丰富,用群友的话说,bmad 可以顶一个阿里 P7 产品经理

1. 名词解释

写完 hello world 还是深入了解一下吧。

Agent: 具体人设(role),能力设定的人格化的角色

Workflow: 结构化的工作流程,指定流程获取输入以期得到具体输出

Module: 包含若干 Agent 和 Workflow 的集合

人设和工作流互有交叉,一个角色可能能同时负责多个工作流的部分流程。但是,工作流的描述中,你并不能看到与人设有关的描述,个人倾向认为,角色只是用于 scrum 流程中对话之类设定场景,多数情况下,使用工作流即可

1.1 Agent

BMad 根据软件工程整个生命周期设定了不同的人设,了解这些人设背后的设定,角色分工和能力后,你可以在任务中随时调他们出来处理问题。(具体负责的职责和命令不细列了)

Agent角色阶段
Analyst调研与分析,发现商业机会Phase 1 (分析)
PM需求分析与拆解Phase 2 (规划)
Architect架构设计Phase 3 (方案)
SMSprint 编排Phase 4 (实现)
DEV代码实现Phase 4 (实现)
TEA测试架构Phases 3-4
UX Designer用户体验设计Phase 2-3
Quick Flow Solo Dev快速开发All phases (Quick Flow)

如 BMAD 命名所言,它是一个 Agile (敏捷)方法,因此使用之前,需要必须对其一些概念有个初步概念:

  • Product-Brief: 项目简要

  • Epic: 大型功能模块或史诗级任务

  • Story: 用户故事或具体功能需求

这三者的关系是从上到下的层级关系,一个项目(Product-Brief)可以包含多个Epic,一个Epic又可以包含多个Story

1.2 常用的工作流

不同场景的常用工作流:

1.2.1 快速开发原型 (一般是半小时内完成的任务)

Quick Spec Flow 是 BMad 方法的简化替代方案,适用于 Quick Flow 项目的开发。它无需经历产品简报 → 产品需求文档 → 架构设计等步骤,而是直接生成上下文相关的技术规范并开始编码。适用于 修复漏洞、开发小型功能、快速原型制作和快速改进

*quick-spec

*quick-dev

1.2.2 完整开发流程(一个完整的中大型项目)

*workflow-init

*product-brief (需要高管级别用的简报,解决高层次问题:你是谁,为了谁,做什么,有什么不同)

*research

*product-brief

*create-prd

*create-ux-design (交互设计,prd 之后即可)

*create-epics-and-stories

*create-architecture

*test-framework

*implementation-readiness(验证规划和解决方案是否已完成并保持一致)

*sprint-planning

*test-design

*create-story

*dev-story

*atdd (测试驱动开发,与 dev-story 同一层级)

*test-review

*automate

*test-review

*code-review

*nfr-assess (非功能需求,发布前执行)

1.2.3 棕地项目(Brownfield Project,历史遗留项目)

*document-project : 如果文档不全或没有

*atdd ( 或其他快速开发流程,或完整流程中从 create-story 到 code-review 的循环)

*product-brief (如果添加的特性特别大,走完整流程)

根据具体需求决定裁剪步骤

1.2.4 整个项目到现在到哪一阶段了

*workflow-status

1.2.5 具体开发到哪个冲刺了

*sprint-status

*sprint-planning

步骤太多了,最简单的步骤是什么

  1. npx bmad-method@alpha install
  2. 小项目(改动):加载 pm agent » 执行 tech spec » 实现
  3. 大项目(大改动):加载 pm agent » 执行 prd » 架构 » 实现

来自 BMAD 交流群群主的教学项目:

BMAD Showcase: https://bmad-starter-kit.surge.sh/showcase BMAD v6 学习项目: https://autoqa.lovable.app/ BMAD v6 实战聊天记录: https://autoqa-chats.lovable.app/

官方文档:

BMAD Github地址: https://github.com/bmad-code-org/BMAD-METHOD BMAD 官方文档: https://docs.bmad-method.org/