ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【实战教程】BMAD-METHOD 入门教程:用 AI 组建你的“七人开发团队”

【实战教程】BMAD-METHOD 入门教程:用 AI 组建你的“七人开发团队” 1. 为什么一个人写项目总在“角色切换”里卡住BMAD-METHOD 是一套把软件开发拆成多个 AI 角色协作的开源方法论它能在 Cursor 里配合 Gemini 模型把需求拆解、架构设计、编码、测试串成一条可跟做的流水线。适合谁独立开发者、小团队里既当产品又当后端的“全干工程师”以及想体验多智能体协作但不想自己造轮子的人。我最初接触它是因为一个真实痛点一个人做项目最累的不是写代码而是不停在“产品经理、架构师、前端、后端、测试”之间来回切换脑子。写需求时想着实现写实现时又发现需求没想清楚测试用例更是经常拖到最后补。BMAD-METHOD 的思路很直接——既然这些角色都要有人干那就让不同的 AI 智能体分别扮演你只做那个拍板的人。它的核心不是“让 AI 帮你写代码”这么简单而是定义了一套角色边界和交接流程。产品经理智能体产出用户故事架构师智能体基于故事出技术方案开发智能体按方案写代码QA 智能体再回头验证。每个角色有独立的指令文件Cursor 通过规则文件识别当前该谁上场。这套机制让 AI 的输出不再是散装代码片段而是有上下文、有上下游的工程产物。在 Cursor 里配置 BMAD-METHOD 多角色协作流程关键要解决三件事角色定义文件放哪、Cursor 怎么知道当前激活的是哪个角色、Gemini 模型在哪一步介入做规划。下面我会按“先跑通一个最小任务”的顺序把可复制的配置和验证动作都写出来。你不需要一次配齐七个角色先让产品经理和开发两个角色跑起来就能感受到协作流程和单次对话的区别。2. TaoToken 前置给 Cursor 和 Gemini 调用准备统一入口BMAD-METHOD 本身是方法论和提示词工程它不绑定具体模型。但你在 Cursor 里跑多角色协作时会频繁调用模型接口——产品经理角色要生成用户故事开发角色要写代码QA 角色要生成测试用例。如果每个角色都单独配一套 API Key 和 Base URL管理起来很乱。更实际的做法是用一个兼容 OpenAI 接口的聚合入口把模型调用统一收口。TaoToken 在这里的角色就是提供统一的 API 入口。它的接口地址是https://taotoken.net/api兼容 OpenAI 的调用格式Cursor 和各类支持自定义 Base URL 的工具都能直接填。你需要在 TaoToken 控制台创建一个 API Key然后把它填到 Cursor 的模型配置里。这样 BMAD-METHOD 的各个角色在调用模型时走的是同一个入口切换模型或调整配额都只改一处。具体操作路径先访问 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注册账号进入控制台后找到 API Keys 页面创建一个新 Key。创建时建议给 Key 起个能识别的名字比如bmad-cursor-dev方便后续排查是哪个环境在用。Key 只显示一次复制后先存到安全的地方。拿到 Key 之后Cursor 的配置入口在设置里的 Models 部分。你需要开启 OpenAI 兼容模式把 Base URL 填成https://taotoken.net/apiAPI Key 填刚才创建的那串。Model ID 这一项要填你实际想用的模型标识比如 Gemini 系列或 Claude 系列的具体模型名。这里有个容易踩的坑Base URL 末尾不要多加/v1TaoToken 的接口路径已经处理好了多写反而会 404。如果你还想在浏览器里单独验证模型对话是否正常可以打开模型对话页面https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite发一条测试消息看返回是否正常。这一步能帮你排除是 Key 的问题还是 Cursor 配置的问题。对于长期要跑 BMAD-METHOD 多角色协作的场景建议关注 Coding Plan 页面https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite里面有适合持续编码调用的方案说明。把 TaoToken 作为统一入口之后BMAD-METHOD 的角色切换就不会因为模型接口不一致而中断。接下来进入 Cursor 里的实际配置。3. 可复制配置BMAD 角色定义文件与 Cursor 规则这一节是整篇的核心我会给出可以直接复制到项目里的文件结构和内容。BMAD-METHOD 的官方仓库在 GitHub 上你可以先下载它的dist/teams/team-fullstack.txt作为角色定义的基础。但直接照搬官方文件对新手不够友好我把它精简成两个角色先跑通产品经理PM和开发Dev。在项目根目录创建.bmad文件夹里面放角色定义文件。先建pm.md# 角色产品经理PM 你是一个经验丰富的产品经理负责把模糊的想法拆成可执行的用户故事。 ## 工作规则 1. 每次只处理一个功能点输出格式固定为 - 用户故事标题 - 作为角色我希望功能以便价值 - 验收标准3-5 条可测试 2. 不写代码不讨论技术实现。 3. 如果需求不清晰先提出最多 3 个澄清问题。 4. 输出语言为中文术语保留英文原词。 ## 当前任务 根据用户输入的功能描述产出用户故事。再建dev.md# 角色开发工程师Dev 你是一个全栈开发工程师根据用户故事和架构约束编写代码。 ## 工作规则 1. 只实现当前用户故事范围内的功能不扩展。 2. 代码必须包含必要的错误处理和边界判断。 3. 每个函数上方写一行注释说明用途。 4. 输出格式先给文件路径再给完整代码块。 5. 如果用户故事缺少验收标准先要求补充。 ## 当前任务 根据 PM 产出的用户故事生成对应代码。接下来配置 Cursor 的规则文件。在项目根目录创建.cursor/rules/bmad.mdc内容如下--- description: BMAD 多角色协作规则 globs: alwaysApply: true --- # BMAD 协作规则 当用户输入以 pm 开头时读取 .bmad/pm.md 并以产品经理角色回复。 当用户输入以 dev 开头时读取 .bmad/dev.md 并以开发角色回复。 当用户输入以 qa 开头时读取 .bmad/qa.md 并以测试角色回复。 角色切换时必须保留上一角色的输出作为上下文。 禁止跨角色直接修改文件所有产出先以对话形式确认。如果你用的是 Cursor 较新版本规则文件可能放在.cursor/rules目录下并以.mdc结尾。旧版本可能读取.cursorrules单文件那就把上面内容追加到.cursorrules里。两种方式选一种即可不要同时配否则规则会冲突。模型配置部分在 Cursor 设置里填{ openai.baseUrl: https://taotoken.net/api, openai.apiKey: 你的 TaoToken API Key, openai.model: gemini-2.0-flash }Model ID 按你实际在 TaoToken 里可用的模型名填。如果你更习惯用 Claude 系列做开发角色把 Model ID 换成对应的 Claude 模型标识即可。Base URL、Key、Model ID 这三件套填完整Cursor 才能正常发起请求。配置完成后在 Cursor 聊天框输入pm 我想做一个待办事项应用支持添加、完成、删除任务看它是否按pm.md里的格式返回用户故事。如果返回的是通用聊天内容而不是结构化用户故事说明规则文件没被加载检查.cursor/rules/bmad.mdc的路径和alwaysApply设置。4. 验证请求从需求拆解到代码生成的完整动作配置好之后用一个最小任务验证整条链路。我选“待办事项应用”的添加功能因为它足够小能在一轮对话里跑完 PM 到 Dev 的交接。第一步在 Cursor 聊天框输入pm 我想做一个待办事项应用第一个功能是添加任务任务包含标题和截止日期。预期返回应该类似用户故事标题添加待办任务 作为普通用户我希望添加一条包含标题和截止日期的待办任务以便记录我需要完成的事项。 验收标准 1. 输入框为空时点击添加提示“标题不能为空”。 2. 标题长度超过 100 字符时提示“标题过长”。 3. 截止日期可以选择也可以留空。 4. 添加成功后任务出现在列表顶部。 5. 添加成功后输入框自动清空。如果返回内容没有按这个结构来先检查pm.md是否被正确读取。可以在聊天框问pm 你的工作规则是什么看它能否复述文件里的规则。第二步把 PM 的输出作为上下文切换到开发角色dev 根据上面的用户故事用原生 HTML JavaScript 实现添加任务功能不需要后端。预期返回会包含文件路径和代码块比如index.html和app.js。代码里应该有标题非空校验、长度校验、日期可选处理以及添加后清空输入框的逻辑。这一步验证的是 Dev 角色是否遵守了“只实现当前故事范围”的规则。如果它顺手把删除功能也写了说明规则约束不够强可以在dev.md里加一条“禁止实现用户故事未提及的功能”。第三步验证模型调用是否真的走了 TaoToken。在 Cursor 的输出面板或终端里看请求的 Base URL 是不是https://taotoken.net/api。如果 Cursor 有请求日志确认返回状态码是 200。你也可以在 TaoToken 控制台的用量页面看到这次调用的记录包括模型名和 token 消耗。第四步把 Dev 产出的代码复制到项目文件里在浏览器打开index.html手动测一遍验收标准。输入空标题点添加看是否提示输入超长标题看是否拦截选一个日期添加看任务是否出现在列表顶部。这一步是端到端验证确保 AI 生成的代码不是“看起来对”而是“跑起来对”。整个验证动作跑完你应该能感受到 BMAD-METHOD 和单次对话的区别PM 的输出被 Dev 当成了明确输入Dev 的代码又能被 QA 角色接着验证。角色之间有交接、有约束而不是每次从零开始描述需求。5. 常见报错排查401、local proxy failed 与 reading choices配置过程中最容易卡在几个固定报错上。我按实际遇到的频率排一下每个都给出定位方法和修复动作。401 Unauthorized这个最常见基本是 API Key 的问题。先检查 Cursor 设置里的 Key 有没有复制完整前后有没有多余空格。然后去 TaoToken 控制台的 API Keys 页面确认这个 Key 的状态是启用中没有被删除或禁用。如果 Key 没问题检查 Base URL 是不是写成了https://taotoken.net/api末尾不要带/v1或/chat/completions。还有一种情况是 Key 的权限范围不包含你要调的模型在控制台里确认该 Key 有对应模型的调用权限。local proxy failed / connection refused这个报错通常出现在 Cursor 尝试走本地代理但代理没启动的时候。如果你没有配代理检查 Cursor 设置里有没有残留的代理配置把 HTTP Proxy 那一栏清空。如果你确实需要通过代理访问确认代理进程在运行且端口正确。另外某些网络环境下 Cursor 的请求会被拦截可以尝试在 TaoToken 的模型对话页面先发一条消息确认服务本身可达。如果网页端正常而 Cursor 报错问题就在 Cursor 的本地配置。reading choices 报错这个错误说明 Cursor 收到了响应但响应结构里没有choices字段。原因通常是 Base URL 填错了请求打到了非兼容接口上。比如把 Base URL 填成了 TaoToken 的网页地址而不是 API 地址。确认填的是https://taotoken.net/api。另一个可能是 Model ID 填了一个不存在的模型名服务端返回了错误结构。去 TaoToken 控制台看可用模型列表把 Model ID 改成列表里存在的那个。OAuth 相关报错如果你在 Cursor 里同时登录了官方账号又配了自定义 API可能会触发 OAuth 冲突。解决方法是先在 Cursor 里退出官方账号登录只保留自定义 API 配置。或者在设置里明确关闭“使用官方账号调用”的选项。BMAD-METHOD 的角色调用走的是你配的 TaoToken 入口不需要 Cursor 官方账号参与。角色规则不生效输入pm后返回的是通用回答说明.cursor/rules/bmad.mdc没被加载。检查文件路径是否正确Cursor 不同版本对规则目录的要求不一样。可以在 Cursor 设置里搜索 “rules” 看当前版本读取哪个路径。另外确认alwaysApply设成了true否则规则可能只在特定文件类型下生效。排查顺序建议从 Key 和 Base URL 开始这两个对了大部分报错都会消失。如果还不行用 TaoToken 的模型对话页面单独测一次把 Cursor 配置问题和接口问题分开定位。6. 把 BMAD 跑成日常流程从两个角色到完整团队两个角色跑通之后你可以按同样的方式把 QA、架构师、Scrum Master 加进来。每个角色一个.md文件在.cursor/rules/bmad.mdc里加一条qa开头的触发规则。角色多了之后上下文管理会变得重要——PM 的输出要能被架构师读到架构师的方案要能被 Dev 读到。BMAD-METHOD 官方推荐的做法是把每个阶段的产出存成项目里的文档文件比如docs/prd.md、docs/architecture.md角色切换时让 Cursor 读取对应文件作为上下文。Gemini 模型在规划阶段的表现比较适合 PM 和架构师角色它的长上下文能力能一次吃进较多需求描述。开发阶段可以换成更擅长代码的模型在 TaoToken 的模型列表里按需切换。你不需要在 Cursor 里配多个模型只要在 TaoToken 控制台调整默认模型或者在不同角色的规则文件里指定不同的 Model ID。一个实用的技巧给每个角色的输出加一个固定的“交接块”比如 PM 输出末尾加--- 交接给架构师 ---Dev 输出末尾加--- 交接给 QA ---。这样你在切换角色时直接复制交接块内容作为下一个角色的输入上下文不会丢。BMAD-METHOD 的完整团队配置可以参考官方仓库的dist/teams/team-fullstack.txt里面定义了七个角色的完整指令你可以按需裁剪。如果你打算长期用这套流程做项目建议把 TaoToken 的 API Key 和 Base URL 配置写进项目的.env文件Cursor 规则文件里引用环境变量而不是硬编码。这样换 Key 或换模型时不用改规则文件。接入文档在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite里面有不同工具的配置示例遇到 Cursor 之外的编辑器也能参考。最后一步验证在 Cursor 里连续跑三轮角色切换——pm出故事、dev出代码、qa出测试用例看 QA 的测试用例是否能覆盖 PM 的验收标准。如果能覆盖说明你的 BMAD 协作链路已经通了。接下来就是把它变成习惯每接一个新功能先pm再dev最后qa你只负责在关键节点做判断。
返回列表