BMAD method中的命名智能体到底是个啥?

BMAD method中的命名智能体到底是个啥?
官方文档https://docs.bmad-method.org/zh-cn/tutorials/getting-started/在学习BMAD时阅读的文章好像并没有提到命名智能体这个玩意儿大都是直接调用skill工作那为啥说BMAD是通过给AI专业的人设来开发的呢直接说是一系列流程skill的集合不就行了所以我去阅读了一下BMAD的官方文档发现了命名智能体这个玩意儿我想这才是BMAD设计的巧妙之处。定义概念解释一个可辨识的身份把一组相关技能包装在统一的语气、原则和视觉标识下目录名以bmad-agent-*开头的技能。以下是内置的一些命名智能体当然也可以自己设置自定义智能体智能体阶段模块 Mary商业分析师分析市场调研、头脑风暴、产品摘要、PRFAQ Paige技术文档工程师分析项目文档、流程图、文档校验 John产品经理规划PRD 创建、Epic/Story 拆分、实施就绪评审 SallyUX 设计师规划UX 设计规范️ Winston系统架构师方案设计技术架构、一致性检查 Amelia高级工程师实现Story 执行、快速开发、代码评审、Sprint 规划命名智能体定义文档理解当我们下达如下命令”嘿 Mary咱们来头脑风暴”Mary 就激活了。然后她跳过菜单直接进入头脑风暴。如果说的不够清晰会显示菜单让你选择使用哪一个skill。当我们去看BMAD安装后的目录会发现Mary这个角色对应的文档在.agents/skills/bmad-agent-analyst下也就是说Mary也是一个skill。这个目录下有customize.toml和SKILL.md。打开customize.toml会看见以下字段它们定义了这个skill的“人设”。包括它的名字能力以及能力对应的skill。通过这个AI就可以根据你的命令选择合适的skill或者是在终端显示可选的skill菜单。注意这是一个可编辑文档所以后续这个角色的功能是可以扩展的。[agent] # agent 这一段是“这个技能扮演的角色”的配置区 # 不可通过普通配置改名/改标题如果要换名字或头衔通常要新建自定义 agent name Mary # 这个 agent 的显示名用户看到的角色名 title Business Analyst # 这个 agent 的职位/身份标题 icon # 这个 agent 对外显示的图标用来一眼识别当前是谁在说话 activation_steps_prepend [] # 激活前要先执行的步骤列表这里为空表示没有额外预处理 activation_steps_append [] # 进入主流程前、问候之后要执行的步骤列表这里为空 persistent_facts [ file:{project-root}/**/project-context.md, # 会读取项目里所有匹配到的 project-context.md 文件内容作为长期上下文 ] role Help the user ideate research and analyze before committing to a project in the BMad Method analysis phase. # 这个 agent 的职责说明帮助用户做研究、分析、构思在正式承诺项目之前先弄清楚方向 identity Channels Michael Porters strategic rigor and Barbara Mintos Pyramid Principle discipline. # 这个 agent 的“人格/方法论身份”强调战略分析严谨性和金字塔原理式表达 communication_style Treasure hunters excitement for patterns, McKinsey memos structure for findings. # 这个 agent 的说话风格发现线索时像寻宝一样兴奋但表达结果时像咨询备忘录一样结构化 principles [ Every finding grounded in verifiable evidence., # 每个结论都必须有可验证证据 Requirements stated with absolute precision., # 需求必须表达得非常准确 Every stakeholder voice represented., # 要尽量覆盖所有相关方的声音 ] [[agent.menu]] # 一个菜单项双中括号表示“数组中的一个表”也就是可重复的菜单条目 code BP # 菜单代码用户可用这个缩写快速选择 description Expert guided brainstorming facilitation # 这个菜单项的说明 skill bmad-brainstorming # 选中后要跳转执行的技能名 [[agent.menu]] code MR description Market analysis, competitive landscape, customer needs and trends skill bmad-market-research [[agent.menu]] code DR description Industry domain deep dive, subject matter expertise and terminology skill bmad-domain-research [[agent.menu]] code TR description Technical feasibility, architecture options and implementation approaches skill bmad-technical-research [[agent.menu]] code CB description Create or update product briefs through guided or autonomous discovery skill bmad-product-brief [[agent.menu]] code WB description Working Backwards PRFAQ challenge — forge and stress-test product concepts skill bmad-prfaq [[agent.menu]] code DP description Analyze an existing project to produce documentation for human and LLM consumption skill bmad-document-projectSKILL.md就是用于定义Mary的工作流的跟普通的SKILL.md文档没什么区别。调用时做了什么那么AI是如何知道Mary对应的是哪一个skill呢这主要依赖于_bmad/config.toml文件这里面定义了BMAD method的配置包括当前项目名命名智能体和skill之间的对应关系以及安装的modules。通过这个文件AI就可以知道当你向’Mary’下达命令时它应该去调用哪一个skill。调用命名智能体时的具体步骤如下其实就是SKILL.md文档这里以Mary为例解析智能体配置— 根据SKILL.md 中的工作流第一步就是获得Mary的人设运行python脚本将内置customize.toml与团队覆盖和个人覆盖合并。Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key agent这并不意味着必须安装python继续往下读会看到如果脚本运行失败直接按顺序读取配置文件即可。1. {skill-root}/customize.toml — defaults 2. {project-root}/_bmad/custom/{skill-name}.toml — team overrides 3. {project-root}/_bmad/custom/{skill-name}.user.toml — personal overrides对于Mary来说人设配置文件的读取顺序如下因为是覆盖合并所以个人自定义的人设优先级最高其次是团队最后才是官方。也就是说如果需要更改人设需要在这个文件project-name/_bmad/custom/bmad-agent-analyst.user.toml或者project-name/_bmad/custom/bmad-agent-analyst.toml下更改虽然直接在bmad-agent-analyst/customize.toml中也可以更改但是需要注意的是如果重新安装BMAD这个文件会被覆盖。1. bmad-agent-analyst/customize.toml — defaults 2. project-name/_bmad/custom/bmad-agent-analyst.toml — team overrides 3. project-name/_bmad/custom/bmad-agent-analyst.user.toml — personal overrides执行前置步骤— 团队配置的任何预处理行为也就是customize.toml中的activation_steps_prepend字段采用人设— 硬编码身份加上自定义的角色、沟通风格、原则加载持久化事实— 组织规则、合规说明可通过file:前缀加载文件如file:{project-root}/docs/project-context.md加载配置— 用户名、沟通语言、输出语言、产物路径打招呼— 个性化问候使用配置的语言带上智能体的 emoji 前缀让你一眼认出谁在说话执行后置步骤— 团队配置的任何问候后设置也就是customize.toml中的activation_steps_append字段分发或展示菜单— 如果你的开场消息能匹配某个菜单项直接执行否则展示菜单等待输入注意与启发1、注意通过上文可以知道某些skill是被定义在一个角色比如mary的人设文档的menu中的所以你通过唤醒Mary可以调用某些skill但是如果skill没有被加入到menu中那么就需要通过/skill-name(codex中)的方式使用某一个skill。2、启发根据Mary的路径我们可以自定义一个角色这个角色的skill目录要放在本地不要放在.agent/skills目录下放在这里重新安装BMAD时可能会被覆盖然后将其软链接到.agent/skills下。在这个skill中定义好toml文件和md文件和Mary一样然后在_bmad/config.toml中定义好这个角色对应的skill即可。这里需要注意并不是想当然的在_bmad/config.user.toml中定义它是由安装器维护从每个模块的 module.yaml 重建。

最新新闻

日新闻

周新闻

月新闻