一、前言 📝

当下AI辅助开发(Cursor、Claude Code)普遍存在需求跑偏、上下文丢失、交付不可控问题,行业主流两套解决方案:BMAD-METHOD 敏捷拆解方法论、OpenSpec 规格驱动SDD框架。
本文对比两者底层逻辑、适用场景、命令/代码示例,给出清晰选型标准。

二、核心概念基础介绍

2.1 BMAD-METHOD是什么 🧩

BMAD 是面向AI开发的四阶段敏捷执行方法论,全称:

  • Breakdown:需求拆解
  • Merge:模块合并校验
  • Adjust:迭代调优
  • Deploy:上线交付

核心思路:先拆分任务,再批量生成代码,最后统一整合校验,轻量化无文件约束,纯对话流程。

2.2 OpenSpec是什么 📜

Fission AI开源**SDD(规格驱动开发)** 工具框架,配套CLI与AI对话指令。
核心:先写标准化Spec规格文档,AI严格按文档编码,落地永久留存变更档案,解决AI上下文遗忘、需求漂移问题。

三、两者完整工作流Mermaid流程图(带配色)

3.1 BMAD-METHOD 流程

业务需求输入

Breakdown 拆解需求

分模块生成代码片段

Merge 合并代码+契约校验

校验通过?

Adjust 修正逻辑/类型

Deploy 单元测试+上线

3.2 OpenSpec 标准SDD流程

初始化项目 /opsx:init

/opsx:propose 创建变更提案

自动生成specs/design/tasks文档

人工审核规格文档

规格确认?

/opsx:continue 修改规格

/opsx:apply AI批量编码

自测验证

/opsx:archive 归档变更

四、核心命令&实战代码示例

4.1 BMAD-METHOD 对话示例(无CLI,纯提示词)

标准BMAD完整提示词模板
# BMAD标准执行指令,直接发给Claude Code/Cursor
## Breakdown阶段
请使用BMAD-METHOD处理【用户管理分页接口】需求
1. Breakdown:拆分3个独立子任务
   任务1:创建User实体类(id/name/phone/status)
   任务2:编写分页查询Controller接口
   任务3:实现Mapper分页SQL
2. Merge:生成代码后统一校验参数、返回体类型一致性
3. Adjust:自动捕获空指针、分页参数越界异常处理
4. Deploy:附带完整单元测试代码
BMAD产出代码片段示例(Java)
// Breakdown拆分任务1:User实体
public class User {
    private Long id;
    private String username;
    private String phone;
    private Integer status;
    // getter/setter
}

4.2 OpenSpec CLI&对话指令实战

1)项目初始化命令
# 全局安装openspec工具
npm install -g openspec-cli
# 项目初始化,生成openspec目录结构
openspec init
2)核心AI对话斜杠指令(开发全流程)
# 1. 创建变更提案,生成全套spec文档
/opsx:propose user-page-api "实现用户分页查询后端接口,支持姓名模糊、状态筛选"

# 2. 修改、迭代规格文档
/opsx:continue 补充分页总条数返回、参数非空校验规则

# 3. AI按照spec文档执行编码
/opsx:apply

# 4. 开发完成归档变更,永久留存spec记录
/opsx:archive
OpenSpec生成的spec目录结构
openspec/
├── project.md        # 项目全局技术栈规范
└── changes/
    └── user-page-api/
        ├── proposal.md  # 需求提案
        ├── specs/       # 接口/数据规格定义
        ├── design.md    # 架构设计
        └── tasks.md     # 开发任务清单

五、两者核心特性对比表 📊

对比维度 BMAD-METHOD OpenSpec
定位 轻量化AI敏捷执行方法论 标准化SDD工具框架
文件产出 无持久化文件,仅对话临时代码 自动生成完整spec归档文档
上手成本 极低,复制提示词即可使用 中等,需熟悉一套固定指令
协作能力 单人快速原型,多人同步差 多人协作友好,变更可追溯审计
遗留系统适配 适合短期小需求迭代 适配大型老项目、金融强监管系统
上下文稳定性 对话过长容易丢失需求 Spec文档永久固化需求,无漂移
自动化能力 仅代码生成,无标准化校验 内置规格校验、变更版本管理

六、分场景技术选型指南 ✅

场景1:个人快速原型、临时小需求 → 选 BMAD-METHOD

适用特征:

  • 个人开发者、临时写工具函数/简单页面
  • 需求简单、一次交付,无长期维护诉求
  • 不想新增项目目录、不希望引入额外工具依赖

落地案例:前端临时弹窗组件、后端简单CRUD接口脚本。

场景2:企业团队、遗留系统改造、强监管项目 → 选 OpenSpec

适用特征:

  • 多人协作开发、迭代周期长
  • 金融/政务等需要变更审计、需求留痕
  • 老项目重构,需要控制AI不破坏原有逻辑
  • 频繁长对话AI编码,频繁出现需求跑偏

落地案例:微服务后端迭代、企业管理系统新增功能、大型存量代码改造。

场景3:混合最佳实践(推荐大中型团队)

新需求快速验证

BMAD-METHOD快速出原型

需求确认稳定后

OpenSpec固化Spec规范+正式开发归档

流程:先用**BMAD-METHOD快速试错原型,需求稳定后切换OpenSpec**标准化落地,兼顾效率与规范。

七、落地实战案例

案例1:小型独立工具脚本(BMAD落地)

需求:Python写日志清洗脚本,过滤ERROR日志并输出文件。
直接使用BMAD提示词一键生成完整可运行代码,无需新建任何配置文件,5分钟完成开发。

案例2:金融后台用户权限模块迭代(OpenSpec落地)

  1. 执行openspec init初始化项目规范;
  2. /opsx:propose user-auth "新增角色权限分配接口,兼容原有RBAC体系"
  3. AI自动输出接口参数、数据库表变更、异常处理Spec;
  4. 评审确认规格后/opsx:apply生成Controller/Service/Mapper;
  5. 上线执行/opsx:archive,完整变更记录留存,满足审计要求。

八、总结 💡

  1. 追求极简、快速原型、单人开发:优先 BMAD-METHOD,零工具成本、开箱即用;
  2. 团队协作、长期维护、存量系统、合规审计:优先 OpenSpec,用Spec锁定需求,根治AI编码幻觉;
  3. 生产最优方案:BMAD快速验证 + OpenSpec标准化落地 组合使用,平衡开发效率与工程规范。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐