我在个人项目中使用 BMAD 框架的经历(需要耐心)

发布: (2025年12月31日 GMT+8 04:45)
15 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的正文内容(除代码块和 URL 之外),我将按照要求将其翻译成简体中文并保留原有的格式。

我的初始期望

进入时,我的期望相当简单:

  • 我会输入我的想法。
  • 让工作流指引我。
  • 我会快速编写代码,方向更明确,死路更少。

这… 部分正确。但还有一个很大的前提。

真相

BMAD 不是 “20 分钟内开始编码” 的快速上手设置。它更像是:

“把工作前期做好,这样编码就不再是最难的部分。”

如果你习惯先拼凑一个原型再去弄清产品,这会让你感觉 ——有时甚至慢得让人痛苦。

BMAD 首先强迫你做的事

在你能够感受到通常意义上(交付代码)的 “高效” 之前,BMAD 会让你经历一套完整的工作流:

  1. 定义问题 —— 不只是 “我想构建 X”,而是 “存在哪些痛点,针对谁?”
  2. 定义用户角色
  3. 头脑风暴方案
  4. 研究相关领域
  5. 明确约束条件(时间、资金、基础设施、团队、目标平台)
  6. 把这些转化为史诗、用户故事和执行计划

所有这些都很有价值,但并非免费。

时间投入

对我而言,在写下第一行代码之前,大约花了 12–16 小时。如果你以 “周末项目” 的心态来看,这个数字听起来荒唐,但我越是沉下去,就越能理解:

  • BMAD 强迫你去思考那些平时会等到项目已经混乱才去处理的内容。
  • 我也做过太多相反的事:
    • 快速构建 → 发现方向错误 → 重写 → 丧失动力 → 放弃。

所以,是的,这种前期投入是真实存在的——而且这正是它的意义所在。

对业务方面的新视角

我真心喜欢的一点是,BMAD 中呈现的框架让你从不同的角度审视,尤其是围绕你正在构建的产品的业务层面。

典型的工程师优先问题

  • “我想使用什么技术栈?”
  • “哪种架构看起来更简洁?”
  • “哪些云服务最便宜?”

BMAD 驱动的问题

  • 这到底是为谁准备的?
  • 他们想要实现什么目标?
  • 他们目前是怎么做的?
  • 为什么他们会考虑切换?
  • 能证明价值的最小可行方案是什么?

即使你认为自己已经知道这些答案,把它们写下来也能迫使你更清晰。价值不在于它会告诉你什么神奇的东西;价值在于它让你对决策负责

但同样,你需要用时间来换取这种清晰——此时你不是在写代码,而是在思考和记录。

派对模式:有趣(也很痛苦)

如果你还没用过,派对模式 基本上就是“快速获取多种视角并生成大量材料”的模式。当你需要广度时,它非常有用:

  • 不同的解决方案
  • 不同的权衡
  • 不同的产品视角
  • 风险清单
  • 架构选项

我的错误

我让它同时使用 LangSearch Gemini 运行派对模式。这个组合彻底耗尽了我的上下文窗口和使用额度。

发生了什么(事后看来可预见):

  • 派对模式会 阅读获取来源综合,然后 生成
  • → 大量 token 输入
  • → 大量 token 输出
  • → 根据使用的工具,可能产生大量付费调用

我尝试聪明一点,指示它:“不要阅读所有内容,只把东西放进文件并做摘要。” 实际上,这并没有如预期那样工作。一旦你指示工作流进行深度研究,它往往会坚持下去——收集材料以便为结论提供依据。这对质量有好处,但如果不小心,成本控制会很糟糕。

使用派对模式的建议

  1. 有目的地使用它。
  2. 设定边界(范围、来源、最大深度)。
  3. 假设它会很昂贵,如果让它自由运行的话。

Source:

架构错误

在完成所有设置和工作流后,我终于到了开始编写代码的阶段。几乎立刻我就意识到自己犯了一个架构错误。

这一点很重要,因为这类错误在让助手主导、自己仅“监督”而不是主动构建时很容易出现。

出了什么问题

  • 我让架构师关注 低成本,于是它倾向于 无服务器 方案——具体来说是 AWS Lambda 风格的计算。
  • 然后我又让它使用 NestJS

纸面上听起来没问题,但实际上相当棘手:

  • NestJS 可以在无服务器环境中运行,但除非正确配置,否则并不是“直接把 NestJS 丢进去就能部署到 Lambda”。
  • 通常需要一个 适配层(例如 @vendia/serverless-express 或类似模式),或者使用更直接面向无服务器请求处理的框架。

没有这些,你会得到一堆不匹配的假设:

  • 长生命周期的服务器模式 vs. 冷启动
  • 框架启动时间 vs. 延迟预期
  • 请求生命周期差异
  • 部署打包和处理程序绑定

结果

  • 到处都是错误。
  • 系统不断尝试自我修复,形成循环,却没有真正的进展。

我花了 大量时间(大约 六小时)来尝试修复它。

令人沮丧的是,当时我并没有立刻知道哪里出错。错误并不像 “使用了错误的导入” 那样清晰,而更像是:

  1. 某些东西失败。
  2. 你修复了表面症状。
  3. 另一些东西又失败。
  4. 修复引入了新的问题。
  5. 于是陷入循环。

如果你曾在项目早期遇到不匹配的架构决策,你会明白这种感觉。代码在单独运行时是“正确”的,但环境和假设却不对。

收获

AI 辅助的工作流可能会不断提出在本地看似合理的改动,却没有解决 框架部署模型 之间的根本不匹配。

TL;DR

  • BMAD 需要大量前期思考和文档工作——预计在写第一行代码前要花 12‑16 小时。
  • 收获是决策更清晰、产品‑市场匹配度更好,后期死路更少。
  • Party mode 功能强大但消耗 token 多;使用时请设定明确的限制。
  • 低成本无服务器 目标与像 NestJS 这样的 重量级框架 结合时要小心——确保有合适的适配器,或选择更合适的技术栈。

如果你愿意在前期投入时间,BMAD 能帮你在后期省下大量痛苦。若你抱着“随便搞一下”的心态,请做好启动较慢的准备。

情况

我陷入了一个循环,AI 不断“批准”合理的编辑,却从未收敛。它一直转个不停,我一直在想 它为什么会卡住

触发突破的因素

  1. 我注意到该过程花费了太多时间却没有收敛。
  2. 我启动了 BMAD 工作流 并进行了一次 回顾

回顾迫使我们暂停并回答以下问题:

  • 我们想要做什么?
  • 什么在阻碍我们?
  • 我们做了哪些假设?
  • 有什么改变了吗?
  • 哪个决策导致了反复失败?

关键洞察

回顾显示 设置错误——架构与运行时模型不匹配。

确定的选项

  • 调整 NestJS 设置,使其在无服务器处理程序模型中正常运行。
  • 更改计算模型(例如,在 ECS/Fargate 上的容器化服务或简单的虚拟机),具体取决于目标。
  • 选择更自然适配无服务器的框架。

关键点:回顾终止了无休止的补丁工作,开启了真正的诊断。

为什么像 BMAD 这样的结构化工作流很重要

大多数工程师在个人项目出问题时不会进行回顾;我们只会更努力地埋头苦干。
埋头苦干很少有帮助。

修复后有什么变化

  • 出现了 Story – 真实、范围明确、可测试的任务,而不是模糊的“构建后端”条目。
  • 我可以明确告诉系统要实现什么;从想法到工程任务的转换已经完成。

我的新角色

  • 监督
  • 审核决策
  • 对代码进行合理性检查
  • 偶尔对请求和更改点击是/否
  • 确保工作与目标保持一致

这与“我什么都做”感觉截然不同。它把瓶颈从“我打字有多快?”转移到“我审查和引导的能力有多好?”

如果你曾经带领过团队,你会认出这种模式:你并不是在写每一行代码,而是确保正确的工作得以完成。

权衡

要求含义
耐心设置需要时间;早期阶段感觉缓慢。
好答案你必须提供清晰、深思熟虑的输入。
审查所有内容你需要持续参与整个过程。
接受慢速初始坡度陡峭;把它视为前期思考、文档编写和执行结构的前置工作。

把 BMAD 当作 魔法代码生成器 会导致挫败感。把它当作 前置思考的过程 则更有意义,初始坡度过去后就会变得直截了当。

可恢复性:一次重大胜利

因为所有内容都有书面记录,你不再依赖记忆或脆弱的聊天上下文。你拥有具体的人工制品:

  • Personas
  • Problem statements
  • Architecture notes
  • Epics
  • Stories
  • Decisions & trade‑offs

你可以在一天或一周后回来,只需说:

  • “Execute this epic.”
  • “Continue this story.”
  • “Implement the next task.”
  • “Run a retrospective on the last change.”

这并不像重新开始。对于个人项目来说,这可以降低导致动力丧失的 context‑reconstruction tax

当 BMAD 合适(以及不合适)

  • 不理想 用于快速脚本或一次性 API 测试 – 它太笨重。
  • 理想 用于任何你真正想发布的东西,即使是单独开发者。

我的实战经验

  1. 为设置预留时间。

    • 期望在第一小时内就开始写代码会与工作流冲突。
  2. 小心使用“派对模式”。

    • 有用,但会快速消耗上下文和额度。
  3. 不要随意对待架构提示。

    • “低成本”会引导你采用无服务器模式,这虽好,但也会限制框架选择和部署形态。
  4. 卡住时使用回顾。

    • 本能是继续前进;更聪明的做法是停下来诊断。
  5. 故事是收益所在。

    • 好的故事把执行转化为机械化、可重复的过程。
  6. 接受早期摩擦。

    • 第一期会感觉有摩擦,但这正是目的:它迫使你放慢速度,明确你在做什么,并将决策显式化。
  7. 跟踪时间和额度。

    • 我在几个地方浪费了时间(和额度),尤其是使用派对模式,因架构不匹配损失了六小时,本可以更早发现。
  8. 一旦文档和工作流就位,流程就会顺畅。

    • 从史诗和故事中恢复,指导实现而不必不断重写需求,这是真正的生产力提升

最后思考

如果你尝试 BMAD,请准备:

  • 耐心 – 设置阶段是有意的前期投入。
  • 纪律 – 保持文档和审查循环紧密。
  • 一种心态,即在编写代码之前花更多时间思考。

轮到你了

如果这与你产生共鸣,你在结构化 AI 辅助工作流方面有什么经验? 我很想听听你的想法。

Back to Blog

相关文章

阅读更多 »

Vibe Factory:疯狂,规模化

“疯狂就是一次又一次地做同样的事,却期待不同的结果。” 有人把它写进了 for‑loop,并且现在在 YouTube 上向你推销……

如果 OOD 面试不如预期怎么办?

无论你准备得多么充分,真实的面试很少会遵循完全线性的路径。你可能会遇到一些变数,例如需求的变动、意想不到的深层……