当前位置: 首页 > news >正文

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 拆分、实施就绪评审
🎨 Sally,UX 设计师规划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 Porter's strategic rigor and Barbara Minto's Pyramid Principle discipline." # 这个 agent 的“人格/方法论身份”:强调战略分析严谨性和金字塔原理式表达 communication_style = "Treasure hunter's excitement for patterns, McKinsey memo's 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-project"

SKILL.md就是用于定义"Mary"的工作流的,跟普通的SKILL.md文档没什么区别。

调用时做了什么

那么AI是如何知道Mary对应的是哪一个skill呢?这主要依赖于_bmad/config.toml文件,这里面定义了BMAD method的配置,包括当前项目名,命名智能体和skill之间的对应关系,以及安装的modules。通过这个文件,AI就可以知道当你向’Mary’下达命令时,它应该去调用哪一个skill。

调用命名智能体时的具体步骤如下,其实就是SKILL.md文档(这里以Mary为例):

  1. 解析智能体配置— 根据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
  2. 执行前置步骤— 团队配置的任何预处理行为,也就是customize.toml中的activation_steps_prepend字段
  3. 采用人设— 硬编码身份加上自定义的角色、沟通风格、原则
  4. 加载持久化事实— 组织规则、合规说明,可通过file:前缀加载文件(如file:{project-root}/docs/project-context.md
  5. 加载配置— 用户名、沟通语言、输出语言、产物路径
  6. 打招呼— 个性化问候,使用配置的语言,带上智能体的 emoji 前缀让你一眼认出谁在说话
  7. 执行后置步骤— 团队配置的任何问候后设置,也就是customize.toml中的activation_steps_append字段
  8. 分发或展示菜单— 如果你的开场消息能匹配某个菜单项,直接执行;否则展示菜单等待输入

注意与启发

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 重建。

http://www.jsqmd.com/news/1295353/

相关文章:

  • 终极指南:如何使用开源工具高效提取Steam游戏数据
  • Ubantu系统与Euler系统的安装
  • 终极免费Steam创意工坊下载器:WorkshopDL完整技术指南
  • 如何3分钟完成U校园学习任务:AutoUnipus智能刷课工具完整指南
  • MidJourney-Wrapper源码解析:Salai.py中的Discord交互协议实现
  • 贵阳商圈黄金回收门店测评,核心城区正规变现渠道优选推荐 - 日常比对手册
  • AI不是越多越好!自媒体人必须警惕的3类“伪智能”工具(附真实压测对比:响应延迟/语义连贯性/版权风险)
  • Vp联合C#编程计算圆入门
  • 为什么你的提示词总在第3轮迭代后崩塌?——揭秘LLM响应熵值跃迁临界点及4步稳态修复法
  • 知识城工装装修公司哪家性价比高:【派福装饰】商用实惠 - 17728098551
  • 2026青岛翡翠回收行业规范:仅收天然A货,种水色工分级估价标准出台 - 奢侈品回收知识分享
  • 2026口碑好的上海电脑回收公司 客户认可服务商盘点 - 品牌品鉴馆
  • AI写自动化测试:3天搭建可投产的智能测试流水线(附GitHub开源模板)
  • 吉华电子行业综合实力榜 价格透明无套路 口碑力荐 - 工业品网
  • SuperRDP完整指南:快速解锁Windows家庭版远程桌面功能
  • stm32f103的ST-link调试接线
  • MFC质量流量控制器流量不准怎么排查?设定值、反馈值与参考流量对比,附Python代码
  • Windows 11家庭版免费解锁多用户远程桌面:RDP Wrapper完整教程
  • 2026甄选:不锈钢焊接加工领域实力公司与品牌机构专业解析 - 卓企推荐
  • MACBook 加入AD域 Tahoe 26.5.1
  • 单片机毕业设计-基于单片机的车内温碳监测与声光语音报警设计 基于 STM32 的车门状态与环境参数监测系统设计(013601)
  • 人形机器人量产提速:2026 全年整机产量有望突破 10 万台
  • 为什么你的AI销售模型ROI为负?——头部SaaS公司内部复盘:3个被忽视的数据漂移信号与应急响应协议
  • 泛微E9-字符半角变圆角解决方案
  • 2026 郑州二七区DR钻石回收推荐,大学路、铭功路合规实体门店 - 逸程奢侈品回收中心
  • 如何在Obsidian中一键实现多格式文档转换:Obsidian Pandoc插件完整指南
  • 2026运维测试岗面试话术升维指南:从技术描述到业务语言的AI优化方法论
  • 2026年油缸定制企业推荐榜单 - GrowUME
  • 【单片机毕业设计推荐】基于 STM32/51 单片机的土壤温湿度智能灌溉温控系统设计与实现 基于单片机的农田土壤湿度自动浇灌与环境降温控制系统设计(020604)
  • 强力解密Navicat密码:3分钟找回数据库连接密码的终极方案