【研发必看】规约编程的最佳实践BMAD-METHOD(多agent 一人即团队)
摘要: 本文基于团队两个月的实际使用经验,对比三大 Spec Coding 框架在棕地项目上的表现,重点介绍 BMAD-METHOD 的落地方法与收益数据。适合正在或准备用 AI 辅助编码的后端/全栈团队。
目录
前言
💡 AI 可以加速优秀的工程师,但绝不能替代他们。
说实话,这篇文章的起因有点丢人——我们团队年初搞 Vibe Coding 翻车了。
Vibe Coding 这个概念相信大家都不陌生。简单讲就是用自然语言描述需求,让 AI 直接生成代码,开发者基本不怎么介入。2025 年初的时候这东西火的一塌糊涂,Andrej Karpathy 还专门给它取了名字。我们也跟风试了,一开始确实快,三天就能出原型,老板看了拍桌子叫好。
然后就开始还债了。
这篇文章记录了我们从 Vibe Coding 翻车,到调研三大 Spec Coding 框架,再到选择 BMAD-METHOD 在老项目上成功落地的完整过程。不吹不黑,全是踩坑记录和真实数据。
一、Vibe Coding 到底哪里出了问题?
1.1 我们踩过的坑
先说几个我们自己遇到的具体问题:
- 数据模型混乱:AI 生成的代码没有统一的数据模型设计,每次生成都可能用不同的字段名和类型。同事加一个字段搞了两天,追到根上发现数据结构是临时拼凑的
- 安全漏洞频出:有个接口没做任何权限校验,如果不是上线前安全扫描扫出来,后果不敢想
- 维护成本爆炸:代码看着能跑,但牵一发动全身。想改一个小功能,经常要连带改好几个文件,因为 AI 之前生成的时候根本没考虑模块化
- 测试形同虚设:AI 生成的测试用例大部分是 happy path,边界条件和异常场景基本没覆盖
1.2 行业数据佐证
我们的经历不是个例。TechStartups 在 2025 年 12 月发了一篇深度报道,数据触目惊心:
| 指标 | 数据 |
|---|---|
| AI 编码使用量变化 | 12 周内暴跌 76% |
| 需要"救援工程"重建的公司 | 10000 家中 8000+ |
| 单家重建成本 | $20~30 万 + 4~8 个月 |
| 清理技术债总成本预估 | $4~40 亿 |
| AI 试点项目未产生收益 | 95%(MIT, 2025) |
Groove 创始人 Alex Turnbull 花了一整年用 AI 工具构建两个企业级产品,最后公开承认 Vibe Coding 是"一场灾难"。他的原话:“Vibe Coding 没能帮我们达成目标,只有真正的工程才能。”
⚠️ 核心问题总结:Vibe Coding 只管"生成"不管"维护"。AI 不理解业务上下文,不考虑扩展性,不做安全防护,不留维护接口。生成的代码被形容为"穿着软件外衣的高级 Figma 文件"。
1.3 Vibe Coding 适用边界
说白了,Vibe Coding 不是不能用,只是有边界:
- ✅ 适合:原型验证、Demo 演示、概念探索、Hackathon
- ❌ 不适合:任何要上生产的东西,涉及用户数据/支付/合规的场景
二、三大 Spec Coding 框架横评
Vibe Coding 翻车之后,团队开始调研 Spec Coding(规范驱动开发)——先写规范,再让 AI 按规范写代码。目前市面上三个主流框架:GitHub 的 spec-kit、Fission AI 的 OpenSpec、社区的 BMAD-METHOD。我都用了至少两周,下面是真实感受。
2.1 GitHub spec-kit(⭐82.9k)
基本信息:
- 出品方:GitHub 官方
- 语言:Python(87.1%)
- 最新版本:v0.4.3(2026-03-26)
- 安装方式:
uv tool install specify-cli
核心流程:
# 1. 初始化项目
specify init my-project --ai claude
# 2. 建立项目治理原则
/speckit.constitution
# 3. 定义需求
/speckit.specify
# 4. 制定技术方案
/speckit.plan
# 5. 分解任务
/speckit.tasks
# 6. 执行实现
/speckit.implement
优点:
- GitHub 官方背书,社区活跃度最高
- 支持 20+ 种 AI 编码助手(Claude Code, Copilot, Cursor, Codex 等)
- 有企业离线安装方案,大厂友好
- 扩展系统成熟,支持 Jira/Azure DevOps 集成
缺点:
- 没有专业的 AI 代理角色划分,所有事情都是一个 AI 在干
- 对棕地项目支持一般,没有自动扫描现有代码模式的能力
- 不支持规模自适应,小 Bug 和大功能走一样的流程
- 没有内置的 Sprint 管理和代码审查
2.2 Fission AI OpenSpec(⭐34.8k)
基本信息:
- 出品方:Fission AI
- 语言:TypeScript(98.7%)
- 最新版本:v1.2.0(2026-02-23)
- 安装方式:
npm install -g @fission-ai/openspec@latest
核心流程:
# 1. 初始化
cd your-project && openspec init
# 2. 提议新功能
/opsx:propose <描述>
# 3. 执行实现
/opsx:apply
# 4. 归档变更
/opsx:archive
优点:
- 上手极简,三个核心命令搞定一切
- 理念先进——“Fluid not rigid”,“Built for brownfield”
- 每个变更独立文件夹(proposal.md + specs/ + design.md + tasks.md),结构清晰
- 支持扩展工作流配置
缺点:
- 号称支持棕地但实际缺少自动代码库扫描
- 没有专业代理角色,也是一个 AI 全干
- 对模型要求高(推荐 Opus 4.5 和 GPT 5.2)
- 没有 Sprint 管理和代码审查
- 收集匿名遥测数据,需手动关闭
2.3 BMAD-METHOD(⭐42.5k)
基本信息:
- 出品方:社区开源(bmad-code-org)
- 语言:JavaScript(84.0%)
- 最新版本:v6.2.2(2026-03-26)
- 安装方式:
npx bmad-method install
核心特性:
- 12+ 专业 AI 代理(PM、架构师、开发者、SM、UX 设计师等)
- 规模自适应:Quick Flow / BMad Method / Enterprise 三档自动切换
- 完整的棕地项目支持工作流
- 内置 Sprint 规划和代码审查
- Party Mode(多代理协作讨论)
- 100% 免费开源,MIT 协议,无付费墙
2.4 综合对比
| 维度 | spec-kit | OpenSpec | BMAD-METHOD |
|---|---|---|---|
| Stars | 82.9k | 34.8k | 42.5k |
| 语言 | Python | TypeScript | JavaScript |
| AI 代理 | 无专业代理 | 无专业代理 | 12+ 域专家 ✅ |
| 绿地项目 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 棕地项目 | ⭐⭐⭐ | ⭐⭐⭐☆ | ⭐⭐⭐⭐⭐ ✅ |
| 规模自适应 | 手动选择 | 手动配置 | 自动检测 ✅ |
| Sprint 管理 | ❌ | ❌ | 完整跟踪 ✅ |
| 代码审查 | 需扩展 | ❌ | 内置 ✅ |
| 多代理协作 | ❌ | ❌ | Party Mode ✅ |
| 企业支持 | 离线安装 | ❌ | Enterprise 模式 |
三、为什么我们选了 BMAD-METHOD
说到选型,其实我们最开始是偏向 spec-kit 的。GitHub 官方出品,82.9k star 摆在那,谁看了不心动对吧。但试用一周后团队投票,BMAD 以绝对优势胜出。
3.1 核心决策因素
1. 老项目支持是硬需求
我们团队 80% 的工作是在已有代码库上做迭代和维护。spec-kit 的六步流程对新项目很友好,但面对几十万行的老代码库,它缺少关键的一步——自动扫描现有代码模式并生成上下文。BMAD 的 bmad-generate-project-context 直接解决了这个痛点。
2. 专业代理角色划分
不是所有事都该一个 AI 来干。BMAD 的 PM 代理写 PRD,架构师代理做设计,开发代理写代码,SM 代理管 Sprint,各司其职。这种分工让每个环节的输出质量都比"一个 AI 全干"高不少。
3. 规模自适应
Bug 修复/小功能(1-15 stories) → Quick Flow(一个工作流搞定)
产品/平台/复杂功能(10-50+ stories)→ BMad Method(完整四阶段)
合规/多租户系统(30+ stories) → Enterprise(额外安全+DevOps)
不同规模的任务自动走不同流程,不需要手动判断。spec-kit 和 OpenSpec 都只有一套流程。
3.2 我们没选 spec-kit 的原因
别误会,spec-kit 是个很好的工具。如果你的团队主要做新项目,或者需要跟 Jira/Azure DevOps 深度集成,spec-kit 可能比 BMAD 更合适。我们不选它纯粹是因为老项目支持不够。
四、BMAD-METHOD 棕地项目落地全流程(重点)
这是本文的核心部分。网上关于 BMAD 的教程大多聚焦在绿地项目上,棕地项目的内容非常少。以下是我们在一个 Go 后端项目(约 15 万行,3 年历史)上的完整实战经验。
4.1 安装 BMAD
# 进入现有项目目录
cd /path/to/your-existing-project
# 一键安装(需要 Node.js 20+)
npx bmad-method install
# 交互式选择:
# - 模块:选择 "BMad Method"
# - AI 工具:选择 "Claude Code"(或 Cursor)
安装后会创建两个目录:
_bmad/:代理配置、工作流定义、任务模板_bmad-output/:初始为空,存放后续生成的产物
⚠️ 重要:安装过程不会修改你的任何现有代码,只是添加配置目录。可以放心在生产项目上安装。
4.2 扫描现有代码库(最关键的一步)
# 在 AI IDE 中运行
bmad-generate-project-context
这个命令会自动扫描整个代码库,识别并记录:
- 技术栈和版本号(如 Go 1.24, gin-gonic/gin v1.9, gorm v2 等)
- 代码组织模式(如 clean architecture / layered architecture)
- 命名约定(如
camelCasevssnake_case,包命名规则) - 测试方法(如使用 testify / gomock / 表驱动测试等)
- 框架特定模式(如中间件链、错误处理方式、日志规范)
扫描结果保存为 _bmad-output/project-context.md。后续所有 AI 代理在工作时都会自动加载这份文件,确保它们遵循你现有的代码风格。
# project-context.md 内容示例(自动生成)
## Tech Stack
- Go 1.24.0 with gin-gonic/gin v1.9
- GORM v2 for ORM
- Redis for caching
- PostgreSQL 16
## Code Organization
- Clean Architecture: handler → service → repository
- Internal packages for domain logic
- Proto definitions in /api/proto/
## Naming Conventions
- Package names: lowercase single word
- Interfaces: prefixed with behavior (Writer, Reader)
- Test files: *_test.go with table-driven tests
## Error Handling
- Custom error types in pkg/errors/
- Wrap errors with context using fmt.Errorf("%w", err)
4.3 生成项目文档(可选但强烈推荐)
# 深度扫描,生成完整项目知识库
bmad-document-project
三种运行模式:
| 模式 | 场景 | 说明 |
|---|---|---|
| 初始扫描 | 首次使用 | 分析整个代码库,生成初始分类文档 |
| 全量重扫 | 定期更新 | 用最新代码变更更新文档 |
| 深度剖析 | 针对性分析 | 只扫描指定模块/目录,生成详尽文档 |
这对于那种"文档年久失修"的老项目来说简直是救命。我们项目的 docs/ 目录里的文档基本是两三年前的,和代码早就对不上了。跑完 document-project 之后,AI 终于能搞清楚系统现在的真实状态。
4.4 日常开发工作流
小改动/Bug 修复
# 一个工作流搞定:意图澄清 → 规划 → 实施 → 审查
bmad-quick-dev
Quick Flow 会自动检测项目技术栈,询问是遵循现有模式还是建立新标准,然后生成尊重现有代码的上下文丰富的规范。
大功能开发
# Phase 1: 分析(可选)
bmad-brainstorming # 构思新功能
bmad-create-product-brief # 生成产品简介
# Phase 2: 规划
bmad-agent-pm # 切换到 PM 代理
bmad-create-prd # 生成 PRD(自动读取 project-context.md)
# Phase 3: 设计
bmad-agent-architect # 切换到架构师代理
bmad-create-architecture # 生成架构方案(会扫描现有代码库,避免冲突)
bmad-agent-pm
bmad-create-epics-and-stories # 拆分 Epics 和 Stories
# Phase 4: 实施
bmad-agent-sm # Scrum Master 代理
bmad-sprint-planning # 创建 sprint-status.yaml
# 对每个 Story 循环:
bmad-create-story # SM 创建 Story 文件
bmad-dev-story # DEV 代理实现
bmad-code-review # 代码审查
💡 关键提示:每个工作流要在新的对话窗口中运行(防止上下文溢出),工作流结束时
bmad-help会自动告诉你下一步该干什么。
4.5 需求变更处理
开发到一半需求变了?这在我们这很常见。BMAD 有个专门的命令:
bmad-correct-course
它会分析变更对现有 PRD、架构和 UX 文档的影响,然后自动同步所有相关产物。再也不用担心文档和代码对不上了。
4.6 棕地开发最佳实践小结
| 步骤 | 命令 | 目的 |
|---|---|---|
| ① 发现 | bmad-generate-project-context |
识别现有代码约定 |
| ② 记录 | bmad-document-project |
生成完整项目知识库 |
| ③ 实施 | bmad-quick-dev 或完整 BMM |
按规模选择工作流 |
| ④ 纠偏 | bmad-correct-course |
需求变更时同步产物 |
五、落地两个月的收益数据
最后说说实际收益。我们在一个 Go 后端项目上用了两个月 BMAD,以下是真实数据:
| 指标 | 使用前 | 使用后 | 变化 |
|---|---|---|---|
| 代码审核驳回率 | 40% | 12% | ↓70% |
| 需求返工率 | 35% | 8% | ↓77% |
| 新人上手时间 | 2 周 | 3 天 | ↓79% |
| 安全漏洞(上线前高危) | 平均 2-3 个/次 | 0 | ↓100% |
| 需求评审会时间 | 2 小时 | 45 分钟 | ↓62% |
除了这些可量化的指标,还有几个意想不到的好处:
- 文档自动化:BMAD 工作流本身就在持续生成 PRD、架构方案、Sprint 状态、代码审查报告。文档终于跟上代码了
- 知识传承:
project-context.md成了项目的"活文档",新人看这份文件就能快速理解项目全貌 - 决策可追溯:每个技术决策都有 AI 代理的分析记录,后续回顾时有据可查
💡 BMAD 的本质不是让 AI 替代工程师,而是让 AI 扮演一群专家同事来辅助你。官方原话:“传统 AI 工具代替你思考,结果平庸;BMAD 代理充当专家合作者,指导你完成结构化过程。”
六、总结与建议
选型建议
| 场景 | 推荐方案 | 原因 |
|---|---|---|
| 全新项目 + 需要 Jira 集成 | spec-kit | GitHub 官方,扩展生态丰富 |
| 个人项目/小团队快速迭代 | OpenSpec | 上手简单,三步流程 |
| 老项目维护 + 团队协作 | BMAD-METHOD | 棕地支持最完整,专业代理分工 |
| 企业合规系统 | BMAD Enterprise | 内置安全+DevOps 审查 |
资源汇总
📢 你在老项目上用 AI 编程遇到过什么坑?试过 Spec Coding 框架吗?欢迎评论区交流!
如果本文有帮助,欢迎 点赞 👍 收藏 ⭐ 关注,持续输出 AI 工程化实战干货!
更多 AI 实战干货,关注公众号「一粒黑子」,扫码关注不迷路 👇
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)