BMAD-METHOD 默认 Agent 体系完全指南:五位角色型 Agent 的 Skill 标识、菜单触发码与工作流解析
【免费下载链接】BMAD-METHODBreakthrough Method for Agile Ai Driven Development项目地址: https://gitcode.com/gh_mirrors/bm/BMAD-METHOD
BMAD-METHOD(Breakthrough Method for Agile AI Driven Development)将 "Agent" 作为一套可安装的 Skill 交付给 AI 工具:安装器会为每位默认 Agent 生成一个带SKILL.md的目录,用户通过 skill ID 唤起角色、再输入菜单触发码(如CP、CA、BD)进入对应工作流。本文以 docs/vi-vn/reference/agents.md 为骨架,结合仓库skills/目录下每个 Agent 的真实SKILL.md与customize.toml源码,逐位拆解五个默认 Agent 的身份、能力菜单、底层激活机制与自定义方法,读完后你将能够熟练召唤任意 Agent、理解菜单码背后的 skill 调用链,并掌握基于_bmad/custom/的个性化改造方式。
五个默认 Agent 总览
BMM(BMad Method 的 Agile suite)随 BMad Method 一起安装,默认提供五个具名 Agent。每位 Agent 都以一个 Skill 的形式存在,Skill ID 就是唤起它的命令名,触发码(trigger)则是加载该 Agent 后输入的两字符菜单码。下表汇总了五位的定位与主要工作流(以仓库源码skills/bmad-agent-{name}/customize.toml中实际声明的菜单为准):
| Agent | Skill ID | 触发码(Trigger) | 主要工作流 |
|---|---|---|---|
| Analyst(Mary) | bmad-agent-analyst | BP、MR、DR、TR、TS、CR、UV、CB、WB、PC | Brainstorm、市场/领域/技术研究、技术选型、竞品拆解、用户之声研究、产品简报、PRFAQ 挑战、项目上下文 |
| Product Manager(John) | bmad-agent-pm | PRD、CE、IR、CC | 创建/更新/校验 PRD、创建 Epic 与 Story、实现就绪检查、中途纠偏(Correct Course) |
| Architect(Winston) | bmad-agent-architect | CA、IR | 架构脊柱(Architecture Spine)、实现就绪检查 |
| Developer(Amelia) | bmad-agent-dev | BD、QA、CR、SP、ER | 构建(Build)、QA 测试生成、代码评审、Sprint 规划、Epic 复盘 |
| UX Designer(Sally) | bmad-agent-ux-designer | CU | 创建 UX 设计方案 |
需要指出的是:docs/vi-vn/reference/agents.md中 Analyst 的 Skill ID 写作bmad-analyst、PM 写作bmad-pm、菜单使用CP/VP/EP等旧码;而当前仓库源码中实际注册的 ID 为bmad-agent-analyst、bmad-agent-pm,菜单也已演进为上表所列。文档中残留的旧名称可视为历史命名,英文参考页 docs/reference/skills-and-agents.md 亦说明bmad-create-prd、bmad-edit-prd、bmad-market-research等旧 Skill ID 仍作为转发器(forwarder)解析到当前 Skill,新工作请一律使用当前名称。
关于 QA 测试的归属
默认情况下,E2E 测试生成由工作流 Skillbmad-qa-generate-e2e-tests承担,通过 Developer(Amelia)的QA触发码可用(见 skills/bmad-agent-dev/customize.toml 中QA菜单项对skill = "bmad-qa-generate-e2e-tests"的引用)。完整的 Test Architect(TEA)能力位于独立模块中,需要额外安装。
深入五位 Agent:身份、角色与原则
每个 Agent 的SKILL.md定义了其"硬编码"身份(Overview),customize.toml则提供icon、role、identity、communication_style、principles等可配置层。下面逐位拆解。
Analyst(Mary)——业务分析师
skills/bmad-agent-analyst/SKILL.md将 Mary 定义为"市场研究、竞争分析与需求分析专家",擅长把模糊需求转化为可执行的规格,并坚持以证据为基础的分析。其customize.toml声明的角色与风格为:
- icon:
📊 - role:在 BMad Method 分析阶段,帮助用户在投入项目前完成构思、研究与分析;
- identity:融合 Michael Porter 的战略严谨性与 Barbara Minto 金字塔原理(Pyramid Principle)的表述纪律;
- communication_style:"寻宝者发现规律时的兴奋 + McKinsey 备忘录式的结构化陈述";
- principles:每条结论都有可验证的证据;需求表述绝对精确;每个干系人声音都被代表。
Mary 的能力菜单将绝大多数条目转发给bmad-deep-reconSkill,但按研究类型预选:MR(市场)、DR(领域)、TR(技术)、TS(技术选型/决策矩阵)、CR(竞品拆解)、UV(用户之声);BP直接唤起bmad-brainstorming,CB唤起bmad-product-brief,WB唤起bmad-prfaq(Working Backwards PRFAQ),PC唤起bmad-project-context。这意味着"研究"类触发码并不各自实现独立逻辑,而是通过菜单项中的prompt指令复用bmad-deep-recon的类型化入口。
Product Manager(John)——产品经理
skills/bmad-agent-pm/SKILL.md定义 John 的职责:通过用户访谈、需求发现与干系人对齐驱动 PRD 创建,把产品愿景翻译成可交付的小步增量。customize.toml中:
- icon:
📋 - identity:以 Marty Cagan 与 Teresa Torres 的产品思维为底,写作遵循 Bezos 六页纸备忘录纪律;
- communication_style:侦探式的追问"为什么",直接、数据导向;
- principles:PRD 源于用户访谈而非模板填充;优先交付能验证假设的最小方案;用户价值优先,技术可行性是约束。
John 的菜单四项:PRD→bmad-prd(创建/更新/校验 PRD)、CE→bmad-create-epics-and-stories(创建 Epic 与 Story 清单)、IR→bmad-sprint-planning(实现就绪门禁,可停在门禁或继续进入跟踪)、CC→bmad-correct-course(实现中途发现重大变更时的应对决策)。
Architect(Winston)——系统架构师
skills/bmad-agent-architect/customize.toml定义 Winston:
- icon:
🏗️ - role:在 solutioning 阶段将 PRD 与 UX 转化为技术架构决策,保证独立开发的各单元保持一致;
- identity:Martin Fowler 的务实主义 + Werner Vogels 的云规模现实主义;
- communication_style:冷静务实,回答给出权衡(trade-offs)而非裁决;
- principles:三次重复才抽象(Rule of Three);为稳定性选择无聊的技术;开发者生产力即架构。
菜单仅两项:CA→bmad-architecture(产出架构脊柱:保证独立构建单元一致性的不变量),IR→bmad-sprint-planning(与 PM 共享的实现就绪检查,说明同一 Skill 可被多个 Agent 菜单引用)。
Developer(Amelia)——资深软件工程师
skills/bmad-agent-dev/SKILL.md定义 Amelia 以测试优先纪律(red、green、refactor)执行已批准的故事,交付满足全部验收标准(AC)的已验证代码,并强调"文件路径与 AC ID 就是她的语言"。customize.toml中:
- icon:
💻 - role:在实现阶段以测试优先纪律落地已批准故事;
- identity:Kent Beck TDD 与《程序员修炼之道》的精确性;
- communication_style:极度简洁,只讲可引用的文件路径与 AC ID;
- principles:没有通过测试的任务不算完成;红绿重构顺序不可颠倒;按书写顺序执行任务;不在代码注释中夹带 Epic/Story 引用;代码注释解释"为什么"而非"是什么";生成代码必须生产就绪、干净无 AI 噪音。
Amelia 的菜单是五个 Agent 中最"开发向"的:BD→bmad-build、QA→bmad-qa-generate-e2e-tests、CR→bmad-code-review、SP→bmad-sprint-planning、ER→bmad-retrospective。
UX Designer(Sally)——UX 设计师
skills/bmad-agent-ux-designer/customize.toml定义 Sally:
- icon:
🎨 - role:在规划阶段把用户需求与 PRD 转化为 UX 设计规格,支撑架构与实现;
- identity:Don Norman 的人本设计 + Alan Cooper 的 Persona 纪律;
- communication_style:用文字作画,让用户故事令人感同身受,是用户同理心的代言人;
- principles:每个决策服务于真实用户需求;从简单开始、靠反馈演进;数据知情但保持创意。
菜单仅一项:CU→bmad-ux(将 UX 方案落实为DESIGN.md与EXPERIENCE.md)。
触发码(Trigger)是如何工作的
触发码本质上是 Agent 菜单中的一个短代码,它指向一份结构化的工作流文件。使用流程为:先通过 Skill ID 加载 Agent(例如输入bmad-agent-dev),再输入触发码(如BD),Agent 即启动对应工作流,并在每个步骤提示你输入所需信息。
SKILL.md的"On Activation"章节揭示了触发码背后完整的八步激活流水线(以 Amelia 为例,见 skills/bmad-agent-dev/SKILL.md):
- 解析 Agent 配置块:运行
uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key agent,按 base → team → user 三级合并agent配置; - 执行前置步骤(
activation_steps_prepend,默认空); - 采纳人设:以 Overview 中的身份为底,叠加
{agent.role}、{agent.identity}、{agent.communication_style}与{agent.principles}; - 加载持久事实(
persistent_facts):支持字面量与file:前缀引用(含 glob,文件内容会被加载为事实); - 加载配置:运行
resolve_config.py --key modules.bmm.planning_artifacts --key modules.bmm.project_knowledge,确定产物输出位置与项目知识扫描范围; - 问候用户:以
{agent.icon}开头打招呼,并提示可随时调用bmad-help; - 执行后置步骤(
activation_steps_append); - 派发或呈现菜单:若用户开场已明确意图(如"我们实现下一个 story")则跳过菜单直接派发;否则渲染编号菜单(
Code、Description、Action)并等待输入,支持数字、代码或模糊描述匹配;多个候选项相近时才追问一次;没有匹配项时则继续普通对话。
激活完成后,人设、持久事实与{agent.icon}前缀会延续到整个会话的每一轮,直到用户要求解除该人设。
菜单项(menu)与 Skill 的映射关系
customize.toml中每个菜单项由code、description与一个动作组成——动作二选一:skill = "..."(按名唤起注册的 Skill)或prompt = "..."(直接执行提示文本)。以 Analyst 为例,MR走的是 prompt 转发:
[[agent.menu]] code = "MR" description = "Market analysis, competitive landscape, customer needs and trends" prompt = "Invoke the `bmad-deep-recon` skill with the market research type pre-selected (forwarded activation: skip type inference)."而BP则是直接绑定 Skill:
[[agent.menu]] code = "BP" description = "Expert guided brainstorming facilitation" skill = "bmad-brainstorming"这一设计意味着:所有菜单能力都是对既有 Skill 的"角色化入口",Agent 本身并不重复实现业务逻辑,而是负责以固定人设、固定转发参数去调用通用 Skill 工厂。
关于 Paige:技术写作 Agent 的去向
docs/vi-vn/reference/agents.md的附注明确:Technical Writer(Paige)暂时缺席,未来将以更强的能力回归。在此期间,项目文档能力仍受支持——文档(Document Project)能力通过 Analyst 的DP触发码(当前仓库中对应PC,绑定bmad-project-context)可用,也可以直接调用bmad-project-contextSkill 来搭建、刷新或审计仓库的 Agent 指令(参考 skills/bmad-agent-analyst/customize.toml 中PC菜单项)。
自定义 Agent:身份固定、行为可塑
五位 Agent 的customize.toml开头都有一行醒目的注释:DO NOT EDIT -- overwritten on every update,同时声明"姓名/头衔属于硬编码身份,需要新名字请创建自定义 Agent"。可配置层包括icon、activation_steps_prepend、activation_steps_append、persistent_facts、role、identity、communication_style、principles与[[agent.menu]]。
覆盖合并遵循 BMad 结构规则(见 skills/bmad-agent-dev/SKILL.md 的 Step 1):
- 标量(scalar)直接覆盖;
- 表(table)深合并;
- 带
code/id键的表数组:匹配项原位替换、新项追加; - 其余数组一律追加。
覆盖文件写于{project-root}/_bmad/custom/{skill-name}.toml(团队覆盖)与{project-root}/_bmad/custom/{skill-name}.user.toml(个人覆盖),读取顺序为 base → team → user。想要不改写 TOML 就调整行为,可以使用bmad-customizeSkill:用自然语言描述变更,它自动选择作用域、写入覆盖文件并校验合并结果。
从 Skill 视角理解整个体系
每位 Agent 都是"身份 + 可自定义层"的组合(见 docs/reference/skills-and-agents.md),而技能分为三类:加载 Agent 人设、运行多步工作流、执行单一任务。安装后技能目录因工具而异(Claude Code 为.claude/skills/,Cursor/Windsurf/Codex 等为.agents/skills/,Cline 为.cline/skills/),目录名即技能名,例如bmad-agent-dev/注册了bmad-agent-dev。需要引导时,随时调用bmad-help:它会检查项目现有产物、识别已安装模块,并按优先级列出下一步建议(参考 skills/bmad/SKILL.md 中"Fresh Discovery for Every Request"的流程)。
这套"具名 Agent + 菜单触发码 + 底层 Skill 复用"的架构,让团队既拥有稳定、可识别的角色化交互入口,又保持工作流逻辑的单一实现与高度可扩展性——这正是 BMAD-METHOD 把敏捷角色搬到 AI 驱动开发中的核心设计。
【免费下载链接】BMAD-METHODBreakthrough Method for Agile Ai Driven Development项目地址: https://gitcode.com/gh_mirrors/bm/BMAD-METHOD
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考