摘要: 本文基于团队两个月的实际使用经验,对比三大 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)
  • 命名约定(如 camelCase vs snake_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%

除了这些可量化的指标,还有几个意想不到的好处:

  1. 文档自动化:BMAD 工作流本身就在持续生成 PRD、架构方案、Sprint 状态、代码审查报告。文档终于跟上代码了
  2. 知识传承project-context.md 成了项目的"活文档",新人看这份文件就能快速理解项目全貌
  3. 决策可追溯:每个技术决策都有 AI 代理的分析记录,后续回顾时有据可查

💡 BMAD 的本质不是让 AI 替代工程师,而是让 AI 扮演一群专家同事来辅助你。官方原话:“传统 AI 工具代替你思考,结果平庸;BMAD 代理充当专家合作者,指导你完成结构化过程。”


六、总结与建议

选型建议

场景 推荐方案 原因
全新项目 + 需要 Jira 集成 spec-kit GitHub 官方,扩展生态丰富
个人项目/小团队快速迭代 OpenSpec 上手简单,三步流程
老项目维护 + 团队协作 BMAD-METHOD 棕地支持最完整,专业代理分工
企业合规系统 BMAD Enterprise 内置安全+DevOps 审查

资源汇总


📢 你在老项目上用 AI 编程遇到过什么坑?试过 Spec Coding 框架吗?欢迎评论区交流!

如果本文有帮助,欢迎 点赞 👍 收藏 ⭐ 关注,持续输出 AI 工程化实战干货!

更多 AI 实战干货,关注公众号「一粒黑子」,扫码关注不迷路 👇

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐