大概从去年秋天开始,我手头带的几个项目陆续把 AI 接入到开发流程里。一开始大家用得都很浅,无非是让它补注释、写正则、生成个接口文档。直到有次在内部复盘时才发现:工具用得挺热闹,交付效率并没有本质提升。那时候我开始认真琢磨一个东西——BMAD-METHOD 筑梦架构。它是一套开源的、AI 驱动的敏捷开发方法,核心思路不是“让 AI 帮你写某段代码”,而是把 AI 的生成能力嵌到敏捷开发的每个关键节点上,让需求拆解、模型设计、编码实现、测试交付变成一条能自动产出的流水线,人只负责评审和决策。
这套方法我第一次在社区看到时,第一反应是“又是个造概念的”。但实际在团队里跑了两三个迭代后,我发现它真正解决的是敏捷落地中最痛的问题:流程环节之间靠人肉传递信息,谁状态不好,链条就断在谁手里。AI 介入后,每个环节都有产物沉淀,评审有依据,迭代有反馈,整个开发过程从“靠感觉”变成“靠数据”。这篇文章不吹概念,把我实际试跑 BMAD-METHOD 的思路、配置、踩坑和调整过程完整写出来,给想引入 AI 到研发流程中的团队做个参考。
1. BMAD-METHOD 筑梦架构:先搞清楚它解决的是哪堵墙
1.1 传统敏捷开发这几个环节,越跑越拧巴
敏捷开发不是什么新鲜事,但跑到今天,很多团队其实卡在几个老问题上。
第一个是需求拆解不稳定。同一个功能,产品经理 A 拆出来的用户故事颗粒度很细、验收标准明确;换一个人可能就拆得大而化之,开发拿到手还要反复确认需求边界。这种不确定性会在迭代排期时放大:你以为一个故事 3 个点,实际干起来 8 个点都打不住。
第二个是建模环节容易跳步。很多团队不是不做设计,而是设计只停留在口头。站会上说“这里我打算怎么改”,说完就上手写代码,等写了一半发现数据结构不对,再回头重构。这在传统敏捷里叫“简化设计”,但简化不是省略,一旦省略,技术债就累积到后面爆发。
第三个是测试与验收脱节。开发说完成了,测试测完提了一堆 bug,才发现验收标准当初就写得模糊,两边对“完成”的理解根本不一致。到了复盘会上,大家聊得热火朝天,但聊完就散了,经验没有沉淀成团队的公共知识。
这些问题,本质上都是同一个病根:敏捷链条上每个环节之间靠人脑记忆和非正式沟通来衔接。人不是机器,状态总有波动,信息总有损耗。
我接触 BMAD-METHOD 时注意到一件事,它把“Model(模型)”抬到了跟 “Coding(编码)”同等重要的位置,并且要求 AI 在每个环节都产出可评审的中间产物。这一步直接让流程从“隐性知识驱动”变成了“显性产物驱动”。从这个角度看,它不是又一套 Scrum 或 Kanban 的变体,而是在原有敏捷框架上补了一层“自动化内容生产”的底座。
1.2 为什么我一定要强调“AI 驱动”,而不是“AI 辅助”
市面上大部分团队用 AI,都停留在“辅助”层面:写代码时问一下、遇到报错复制给它、写文档时让它扩写。这当然有用,但存在两个问题。
一是产出质量高度依赖提问人的水平。同一个 AI 编程工具,老手能问出边界清晰的实现方案,新手只会得到一堆“正确但没用”的泛泛建议。二是 AI 的产出是零散的,今天补了这段代码,明天改了那个函数,但没有形成结构化的流程资产。你问团队“这轮迭代到底沉淀了什么”,大家答不上来。
BMAD-METHOD 的思路是把 AI 放进流程节点里,让它承担“内容生产”职责,人来承担“方向决策”职责。举例来说,在需求精化阶段,AI 会根据既有的产品说明、历史用户故事和验收标准,自动生成一份候选的需求拆解草稿。产品经理要做的不是从零开始想,而是对草稿做增删改。这就是“AI 驱动”:先把材料准备好,人的精力花在判断和拍板上。
用个不恰当的比喻,以前敏捷团队像是厨师从洗菜切菜开始做一桌菜,而 BMAD-METHOD 相当于给你配了备菜员,把食材洗干净切好码齐,厨师专心负责火候和调味。听起来简单,但真正跑起来,团队会发现很多原来靠经验才能过下去的节点,现在有了一个稳定的“兜底产出”,新人也更容易跟上节奏。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 筑梦架构的设计拆解:四字母闭环和五层结构
2.1 B-M-A-D 四个阶段到底各自干什么
BMAD 这个缩写,在我实际落地时理解是这样的:
- Backlog Refinement(需求精化):用 AI 分析原始需求,拆解用户故事,补充验收标准,给每个故事做优先级建议。
- Model-Driven Design(模型驱动设计):在写业务代码之前,先用文本化建模工具定义领域模型、数据结构和接口契约,AI 参与生成和审查设计草案。
- Automated Implementation(自动化实现):以设计模型为输入,让 AI 生成实现代码、单元测试和变更文档,开发者以评审和维护者的角色介入。
- Delivery & Learning(交付与学习):持续交付产物,收集运行数据,AI 辅助复盘,把缺陷模式和修复经验沉淀回知识库,反哺下一个迭代。
这四个阶段不是线性的,而是首尾相接的闭环。尤其是最后一步的“学习”,很多团队会忽略。AI 如果只能生成不能学习,那它就只是个代码生成器;只有把每轮迭代的复盘结论、错误案例、性能指标都存下来,作为下一轮需求精化的参考,它才真正成为一个“方法”。
我见过一些团队把 BMAD 用成了四段独立的瀑布流,B 做完丢给 M,M 做完丢给 A,大家各自为政。那效果还不如原来的敏捷流程,因为中间没有反馈回路。所以,落地的时候第一步不是选工具,而是先建知识库结构,得想清楚模型上下文要存什么、哪些历史决策要被 AI 引用。
2.2 五层结构:DREAM 模型是怎么把“梦想”变成软件的
筑梦架构的底层是一套五层结构,我习惯用 DREAM 来记它:
- D(Direction)愿景层:把业务目标、产品愿景、约束条件结构化,AI 基于此理解“我们为什么做这个功能”。
- R(Requirement)需求层:把愿景拆成高质量的用户故事、验收标准、业务规则。
- E(Engineering)工程层:生成系统设计、模块划分、接口契约、数据库模型。
- A(Application)应用层:落地为代码、测试、文档、部署配置。
- M(Measurement)度量层:采集运行数据、质量指标、迭代热力图,形成反馈。
你跟团队讲“我们要有愿景、要拆需求”,没人会觉得新鲜;但 DREAM 模型的关键在于每一层之间都有 AI 生成的“桥梁产物”。比如从 R 层到 E 层,AI 会自动检查用户故事中的业务规则是否缺失、约束条件是否矛盾,输出一份“需求缺陷清单”。这就在层与层之间加了质检的工序,而不是任由每个工程师自己脑补。
我试跑时感受最明显的是 E 层到 A 层的转换。以前设计文档和代码之间总有一道鸿沟,设计画得很漂亮,写代码时还是怎么写顺手怎么来。BMAD 的做法是要求设计产物必须包含足够精确的接口定义和数据结构,AI 再基于这份定义生成代码,偏差会小很多。换句话说,模型不是给别人看的美术图,而是给 AI 的可执行说明书。
3. 核心细节解析与实操要点:每个阶段怎么落地才不翻车
3.1 需求侧实操:让 AI 先拆解,产品经理只做评审
我踩过的第一个坑,是让 AI 直接“从零开始拆需求”。效果非常差,因为 AI 不了解业务背景,拆出来的故事全是模板味。后来调整了方式:先给 AI 喂三样东西——产品简介、上一迭代的用户故事列表(含验收标准)、本次的原始需求文本。然后让它输出四部分:候选用户故事、每个故事的验收标准、风险点、建议优先级。核心原则是“AI 做初稿,人来定稿”。
下面是我在团队里用过的一个基础 Prompt 模板,你可以按需修改:
text复制你是本项目的敏捷教练。请基于以下输入:
1. 项目背景:{项目简介}
2. 历史故事风格:{2-3条历史用户故事}
3. 本次原始需求:{原始需求文本}
输出:
- 拆解后的用户故事列表(粒度建议控制在1-3天工作量)
- 每个故事的验收标准,用Given/When/Then格式
- 需求中不明确或存在矛盾的地方
- 建议的开发优先级和理由
产品经理拿到这份草稿后要做的事不是通读一遍,而是逐条标记:哪些可以直接用、哪些需要改、哪些删掉。我统计过,老产品经理一般能直接用 50% 左右的草稿内容,剩下的改动也多是边界条件和业务特例,比起从空白文档开始写,节省的时间非常可观。
这里有个心得:优先级建议一定要让 AI 给出理由,而且理由要落到“业务价值”和“依赖关系”上,不能只写“建议排到第一”。因为 AI 不懂业务,它只能基于文本相关性去猜,如果高管直接拿着 AI 的排期来质问产品经理,场面会很尴尬。所以我的处理方式是,AI 的优先级建议只作为参考输入,最终排期一定由人确认。
3.2 设计侧实操:模型驱动不是“画架构图”驱动
BMAD 里的 M(Model)是很多团队最容易走偏的地方。有人一听“模型驱动”,第一反应就是把画架构图当成核心工作,结果图漂亮了,代码该乱还是乱。
我理解的模型驱动,是指代码生成前先确定四类模型:
- 领域模型:核心实体、关系、业务规则
- 数据模型:表结构、索引、数据流转
- 接口模型:服务接口、出入参、错误码
- 状态模型:状态机、流转事件、非法迁移
实操时我建议用文本化建模语言来描述这些模型,比如 PlantUML、Mermaid 或中等描述度的 YAML。文字描述的好处是 diff 友好,可以直接进 Git,AI 读取也方便。
我团队里跑过一个典型场景:设计一个订单状态流转。传统做法是口头上说“订单可以取消、可以退款、超时要关闭”,但真到编码时,每个人对超时关闭的触发条件理解都不一样。用 BMAD 的做法,我们在需求精化阶段就让 AI 基于原始需求生成一张状态机描述:
yaml复制状态: [待支付, 已支付, 已发货, 已完成, 已取消, 已退款]
事件:
- 名称: 支付成功
源: [待支付]
目标: [已支付]
条件: 金额一致且支付平台回调成功
- 名称: 超时关闭
源: [待支付]
目标: [已取消]
条件: 超过30分钟未支付,或库存不足
产品经理、开发、测试都盯着这张状态表评审,边界情况在会上就能吵清楚,而不是等代码写完了才在 bug 里发现“原来咱俩对超时的理解不一样”。这一步对 AI 生成的后续代码起的是约束作用,模型定了,AI 写出来的主流程一般不会偏到哪去。
3.3 实现侧实操:AI 结对编码,但边界必须提前划好
到了 A 阶段,AI 的用武之地最大,风险也最大。我见过团队把核心交易代码直接拿给 AI 生成,然后 code review 流于形式,上线后出了严重故障。所以我在团队里定了三条规矩。
第一条:AI 生成代码必须带标记注释,比如 // @ai-generated: 接口实现。标记的目的是让 review 的人能一眼看出代码来源,重点检查潜在问题。
第二条:不同风险等级的代码,AI 的参与深度不同。样板代码、CRUD 接口、单元测试可以直接生成;涉及资金、权限、数据一致性、核心算法逻辑的代码,AI 只能生成“候选实现”,必须由高级工程师逐行 review 并签名确认。
第三条:AI 生成的代码必须先跑静态检查再合入。工具链上我在 CI 里接了 eslint/golangci-lint 这类静态检查,AI 写的代码在其中暴露的问题不少,常见的是“未充分处理错误分支”和“边界条件缺失”。静态检查能挡掉一部分弱智错误,但业务边界问题仍然要人来看。
我自己用得最多的 AI 编码方式是“测试先行”:我先让 AI 根据数据模型和接口定义生成单元测试,然后再让它实现满足测试的代码。这样做的好处是测试本身就是需求的可执行描述,实现偏了立刻能发现。虽然 AI 生成测试时也会自作聪明地放水,比如只测正常路径,所以 review 测试用例这一步不能省。
4. 从零落地:一次完整的 BMAD 迭代实录
4.1 团队准备:什么样的团队适合直接上车
如果你的团队还处在“代码提交靠自觉、需求变更靠口头”的阶段,直接上 BMAD 大概率会翻车。这套方法对团队基础是有要求的,不满足的话得先补基础。
我建议至少满足三条再引入:
- 团队在跑敏捷敏捷流程,至少有两三个迭代的经验。
- 代码仓库、CI 流程、需求管理工具已经标准化,需求、代码、验证记录能串起来。
- 团队里至少有一两个人对 AI 工具比较熟,能调试 Prompt,能建立知识库,而不是只会拿 AI 写点小函数。
团队规模方面,我实际跑下来觉得 3 到 8 人最合适。人太少的话,每个角色都是兼职,设计、测试、产品一把抓,流程会显得很重;人太多的话,协调成本又盖过了 AI 带来的提效。
工具链上,需求管理用的 Jira 或 GitHub Projects 都行,关键是再配一个团队知识库(比如 Confluence 或 Markdown 仓库)来沉淀 AI 训练用的上下文。大模型我用的是本地化部署的开源模型加云端商用模型的混合模式,敏感代码给本地模型,通用代码走云端模型,具体怎么选看团队和数据合规约束。
4.2 一个三周迭代的完整走法
我拿一个真实的项目举例:一个面向内部运营的小型后台管理系统,需要做一个带审批流的费用申请模块。团队五个人,一个产品、两个后端、一个前端、一个测试。
第一周做 B 和 M。周一上午,产品把费用申请功能的原始需求文本喂给 AI,得到候选用户故事和验收标准草稿。下午组织需求评审,几个人逐条过,发现 AI 拆出来的故事普遍“太技术化”,比如“创建审批流配置表”这种开发视角的描述,缺少业务价值。产品重新调整了措辞,把故事改成“作为申请人,我希望能配置审批层级,以便费用申请能按部门规则流转”。这个例子说明 AI 的第一版草稿不能直接用,但它的草稿确实帮产品打开了思路。
周二周三做模型设计。团队把审批流的状态机、费用单的数据结构、申请的接口契约都定义成文本模型。AI 辅助检查发现一个隐藏问题:按部门规则流转时,如果某个部门没有配置负责人,流程会卡住。这个风险在旧流程里一般要开发到一半才能暴露,现在在设计阶段就排查出来了。
周四到周五,把模型和用户故事关联起来,准备开发任务清单。
第二周做 A。后端用 AI 生成费用单的 CRUD 接口、审批流状态机代码和对应的单元测试。前端用 AI 生成表单页和列表页的初始版本。这一周实际编码时间大幅缩短,大部分时间花在 review 和修边界条件上。印象最深的是 AI 生成的审批流代码,核心状态迁移是对的,但有个并发场景没处理好:同一张单子被两个审批人同时提交审批。这是我们 review 时重点盯出来的,修完后我让人把这条教训写进了知识库。
第三周做 D。测试执行验证,AI 根据测试结果和代码变更生成缺陷分析草稿。复盘会上,我们不再凭印象讨论,而是直接看数据:哪些故事点估大了、哪个阶段引入了最多缺陷、AI 生成的代码缺陷率与人写代码的差异在哪儿。结论是:AI 生成的代码在“逻辑正向实现”这块缺陷率明显低于人写,但在“异常处理”和“并发边界”这两类问题上需要人工补强。
4.3 迭代产物长什么样:输入、AI 产出、人确认的对照
我把一次迭代的产物按阶段整理成一个表格,方便你对照自己的流程看缺了什么:
| 阶段 | 输入 | AI 产出 | 人做的事 |
|---|---|---|---|
| 需求精化 | 原始需求、历史故事 | 用户故事草稿、验收标准、风险清单 | 业务判断、优先级排定 |
| 模型设计 | 用户故事、领域知识 | 数据模型、状态机、接口契约初稿 | 业务规则确认、异常场景补充 |
| 自动化实现 | 设计模型 | 功能代码、单测、变更说明 | 代码评审、边界审查、安全审查 |
| 交付学习 | 测试报告、线上数据 | 缺陷模式归类、迭代报告草稿 | 复盘讨论、改进项确认 |
这套产物体系的精髓在于,每个阶段的 AI 产出都不需要“完美”,但它必须“在场”。人根据自己的经验随时修正 AI 的产出,而不是从数据库连接配置这种零基础细节开始问。这样就算是一个刚入职的新人,也能基于 AI 给的过程草稿和大牛的修正意见,迅速理解系统的全貌。
5. 常见问题与排查技巧实录:这几个坑我替你踩过了
5.1 不同失灵现场对应的排查方案
我在多个项目中遇到过各种 BMAD 失灵的场景,挑几个典型问题整理成表格:
| 现象 | 根因 | 解决思路 |
|---|---|---|
| AI 拆出来的用户故事全是开发视角,没有业务价值 | 喂给 AI 的背景资料偏技术,缺少产品说明 | 补充产品愿景、竞品分析等业务资料,Prompt 里明确“先写业务价值,再写技术实现” |
| AI 设计的数据库模型出现大量冗余字段 | 没有告诉 AI 明确的业务约束和查询模式 | 在 Prompt 中给出典型查询场景、数据量量级、并发预估 |
| AI 生成的代码可以跑通,但同事都看不懂 | 缺少代码规范的上下文 | 把团队的编码规范文件喂给 AI,并要求生成结果遵循规范 |
| AI 在迭代反思中只会说“做得不错” | 缺少量化数据输入 | 给 AI 喂需求点预估与实际工时、缺陷来源分布、覆盖率变化等指标 |
| 知识库越积越乱,AI 引用时抓不住重点 | 没有给知识库做分层和标签 | 按“需求背景、设计决策、缺陷案例、编码规范”四类归档,定期清理过期内容 |
这里想多说一句:AI 引用历史知识时,不能把整库内容都塞进去。上下文有限,塞太多反而会干扰。我习惯给知识库做“摘要索引”,每次喂给 AI 的是历史决策的摘要卡片,而不是原始讨论长文。这一点在构建团队知识库时就要想好结构。
5.2 三条必须提前约定的团队规矩
跑 BMAD 方法如果没有几条硬规矩,很快就会变形成“AI 帮大家写代码,但流程该乱还是乱”。我建议团队在引入初期就约定以下三条:
第一条:AI 的内容产出必须过“人工评审关卡”,评审通过才能进入下一阶段。用户故事要产品确认,模型要开发确认,代码要技术负责人确认。这个关卡不是形式主义,而是保证 AI 的方向没有跑偏。
第二条:所有过程产物必须进版本管理。用户故事草稿、模型描述、Prompt 调整记录、AI 生成代码标记,全部进 Git 仓库或知识库。只有版本化,后面才能追溯“为什么当初设计成这个状态”。
第三条:复盘会必须用数据说话,AI 也要参加“反思”。我在实践中发现,只要不让 AI 看迭代数据,它就只会输出正确的废话。让它看真实指标,它反而能提出一些让人意外的建议,比如从历史缺陷分布中找到某个模块的高风险集中地,建议下个迭代提前做重构。
这三条规矩看起来简单,但每条背后都有一次让我印象深刻的翻车经历:不评审导致需求理解偏差返工、不版本化导致设计决策无从追溯、不看数据导致 AI 建议全是正确的废话。既然要引入 AI 驱动的方法,人的工作重心就得从“自己干”变成“把控 AI 干”,这两者的切换需要刻意训练。
6. 开源生态与后续扩展:BMAD-METHOD 能走多远
6.1 在开源社区里,AI 驱动的敏捷方法怎么协作
BMAD-METHOD 本身是开源的,GitHub 上有仓库,文档和模板都能直接拉下来看。开源项目最大的吸引力在于,你不必从零设计流程,直接复用社区的成熟模板,再按自己团队的情况裁剪。
我在参与这个开源社区的维护时发现,AI 驱动的流程模板有很大价值:不同的团队会把他们的需求拆解模板、模型定义模板、复盘报告模板贡献出来,这些模板经过社区验证后,比你自己从零写要靠谱得多。比如社区里有一套面向电商场景的需求模板,里面已经包含了支付、库存、履约、售后这些高频领域的问题卡片,我在做其他项目时也能参考。
开源协作中,AI 主要在三个场景发挥作用:一是 Issue 预分类,AI 把社区上报的问题自动打标签,维护者不用挨个看;二是 PR 预审查,AI 先做一遍风格检查和基础的逻辑审查;三是文档维护,AI 根据代码变更自动生成文档草稿。这些机制降低了开源项目的维护成本,也让贡献者能更快获得反馈。
有一点要对想贡献代码的朋友强调:不同开源项目对 AI 生成的代码态度不同,有的要求必须在提交信息里标注“本提交由 AI 辅助生成”,有的则要求 AI 生成代码必须有维护者二次确认。BMAD-METHOD 仓库的做法是建议贡献者标记 AI 生成的部分,但不强制,这样能让维护者知道哪些代码块需要重点看。
6.2 什么团队适合引入,什么团队建议再等等
写到最后,我还是想给个判断标准,不是说好方法就适合所有人。
我真心推荐三类团队尝试 BMAD-METHOD。一类是中小型产品团队,人员少、需求变化快,AI 的内容生产力能补人手的不足。一类是独立开发者或开源项目维护者,时间碎片化,AI 能在设计、编码、文档这些环节帮你顶住重复劳动。还有一类是正在从传统瀑布式转型敏捷的团队,BMAD 的显性产物体系反而能帮他们建立规范,比空谈敏捷实践更有效果。
不太建议的也说明白:强监管、强合规行业,比如金融核心系统、医疗数据系统、航天控制软件,这类场景对代码的可解释性和审计要求极高,AI 自由生成的代码引入风险较大,除非你有一套非常强的代码溯源和验证体系。另外,团队内部沟通极度低效、连基础敏捷流程都推不动的团队,也不要指望引入 AI 就能救活流程,方法只是放大器,不会无中生有。
我个人的体会是,BMAD-METHOD 的价值不在于那四个字母有多巧妙,而在于它逼迫团队把“AI 协作”这个模糊概念落实成具体可执行的动作。以前大家讨论 AI 提效,讨论一小时什么都没定下来;现在至少能坐下来对着流程图上说:这一步 AI 产出什么、人评审什么、产物存到哪。就冲这一点,这套方法就值得在你下一个迭代里试一下。
最后分享一个小技巧。如果你觉得整套 BMAD 太重,可以只先挑一个环节做试点,比如只做“需求精化”这一环,等团队习惯了 AI 产出、人评审的协作节奏,再逐步铺开到设计、实现、复盘。我自己最开始就是这么干的,跑了一个迭代觉得顺手了,才把另外几个环节加进来。别一口吃成胖子,迭代本身也适用于方法落地。
