BMAD-METHOD微服务架构:分布式AI代理系统设计指南

BMAD-METHOD微服务架构:分布式AI代理系统设计指南

【免费下载链接】BMAD-METHOD Breakthrough Method for Agile Ai Driven Development 【免费下载链接】BMAD-METHOD 项目地址: https://gitcode.com/gh_mirrors/bm/BMAD-METHOD

在现代软件开发中,构建高效协作的AI代理系统面临诸多挑战,如团队协作混乱、开发流程不规范、文档与代码脱节等问题。BMAD-METHOD(Breakthrough Method for Agile Ai Driven Development)通过微服务架构设计,将AI代理、工作流和资源模块化,为分布式AI代理系统提供了一套完整的解决方案。本文将详细介绍BMAD-METHOD的微服务架构设计,帮助开发人员快速搭建和使用分布式AI代理系统。

1. 系统架构概述

BMAD-METHOD的核心架构围绕bmad-core目录构建,该目录包含了系统的所有关键组件,如代理(Agents)、代理团队(Agent Teams)、工作流(Workflows)、模板(Templates)、任务(Tasks)、检查清单(Checklists)和知识库数据(Data)。这些组件相互协作,形成了一个灵活且可扩展的微服务架构。

1.1 核心框架与工具链

系统的核心框架由bmad-core目录实现,工具链则通过tools目录下的脚本提供支持,最终生成可部署到不同环境的输出文件。以下是系统架构的整体示意图:

mermaid

核心框架中的各个组件通过明确的依赖关系协同工作,工具链负责将核心框架打包成适合不同环境的输出,从而实现了系统的灵活性和可移植性。

2. 核心组件设计

2.1 代理(Agents)

代理是BMAD-METHOD系统的基础构建块,每个代理文件(如bmad-master.mdpm.mddev.md)定义了一个AI代理的角色、能力和依赖关系。代理文件位于bmad-core/agents/目录下,采用Markdown格式,包含YAML头部信息,指定代理的角色、人物设定、依赖项和启动指令。

代理的依赖关系包括任务、模板、检查清单和数据文件,这些依赖项决定了代理可以使用的资源。例如,bmad-master代理的依赖项会告诉构建工具哪些文件需要包含在Web包中,同时也告知代理自身的能力范围。

启动指令使代理能够在激活时加载项目特定的文档,如编码标准、API规范或项目结构文档,从而立即获得项目上下文。此外,代理还可以引用docs/文件夹中的文档,或通过聊天界面直接获取用户提供的文档,以增强其上下文理解能力。

2.2 代理团队(Agent Teams)

代理团队文件(如team-all.yaml)定义了为特定目的(如“全栈开发”或“仅后端开发”)捆绑在一起的代理和工作流集合。团队文件位于bmad-core/agent-teams/目录下,采用YAML格式,列出了要包含的代理,可使用通配符(如"*")包含所有代理,从而创建全面的捆绑包。

代理团队的主要作用是为Web UI环境创建更大的预打包上下文,方便用户根据项目需求选择合适的代理组合。

2.3 工作流(Workflows)

工作流是YAML文件(如greenfield-fullstack.yaml),定义了特定项目类型的预定步骤序列和代理交互。工作流位于bmad-core/workflows/目录下,作为用户和bmad-orchestrator代理的战略指南。

工作流定义了复杂和简单项目的序列、每个步骤涉及的代理、创建的工件以及从一个步骤移动到下一个步骤的条件。通常还包含Mermaid图表以进行可视化。以下是绿场全栈应用开发的工作流程图:

mermaid

工作流通过明确的步骤和决策点,确保项目开发过程的有序性和可重复性。

2.4 可重用资源

BMAD-METHOD提供了丰富的可重用资源,包括模板、任务、检查清单和数据,这些资源由代理根据其依赖关系动态加载。

  • 模板(Templates):位于bmad-core/templates/目录,包含PRD、架构规范和用户故事等常见文档的Markdown模板。模板采用自包含和交互式设计,嵌入了LLM指令,无需单独的任务即可进行文档创建。

  • 任务(Tasks):位于bmad-core/tasks/目录,定义了执行特定可重复操作(如“shard-doc”或“create-next-story”)的指令。

  • 检查清单(Checklists):位于bmad-core/checklists/目录,为产品负责人(PO)或架构师等代理提供质量保证检查清单。

  • 数据(Data):位于bmad-core/data/目录,包含核心知识库(bmad-kb.md)、技术偏好(technical-preferences.md)和其他关键数据文件。

模板处理系统由三个关键组件构成:

  • template-format.mdbmad-core/utils/):定义所有BMAD模板使用的基础标记语言。
  • create-doc.mdbmad-core/tasks/):管理整个文档生成工作流的编排引擎。
  • advanced-elicitation.mdbmad-core/tasks/):提供交互式细化层,可通过[[LLM: instructions]]块嵌入模板中。

技术偏好系统通过bmad-core/data/technical-preferences.md文件提供个性化层,包含首选技术栈、设计模式、外部服务、编码标准和要避免的反模式,确保代理提供与用户偏好一致的建议。

3. 构建与交付流程

BMAD-METHOD框架专为两种主要环境设计:本地IDE和基于Web的AI聊天界面。web-builder.js脚本是支持后者的关键工具。

3.1 Web构建器(Web Builder)

tools/builders/web-builder.js是一个Node.js脚本,负责创建dist目录中的.txt捆绑包。其处理流程如下:

  1. 解析依赖关系:对于给定的代理或团队,读取其定义文件。
  2. 递归查找依赖资源:找到代理/团队所需的所有任务、模板等依赖资源。
  3. 捆绑内容:读取所有这些文件的内容,并将它们连接成一个大文本文件,使用清晰的分隔符指示每个部分的原始文件路径。
  4. 输出捆绑包:将最终的.txt文件保存到dist目录,准备上传到Web UI。

3.2 特定环境使用

  • IDE环境:用户通过bmad-core/agents/目录中的代理Markdown文件直接与代理交互。IDE集成(如Cursor、Claude Code等)知道如何调用这些代理。

  • Web UI环境:用户上传dist目录中的预构建捆绑包。这个单一文件为AI提供了整个团队以及所有所需工具和知识的上下文。

4. 工作流程详解

4.1 规划工作流

在开发开始之前,BMAD遵循结构化的规划工作流,为成功的项目执行奠定基础。规划工作流包括可选分析、项目简报创建、PRD创建、架构设计、验证与对齐、细化、环境转换和文档准备等阶段。

mermaid

bmad-orchestrator代理使用这些工作流定义来指导用户完成整个过程,确保规划(Web UI)和开发(IDE)阶段之间的正确过渡。

4.2 核心开发周期

初始规划和架构阶段完成后,项目进入周期性开发工作流,确保稳定、有序和质量控制的实施过程。

mermaid

开发周期中,Scrum Master、开发人员和可选的QA代理协同工作。QA代理通过review-story任务提供高级开发人员审查能力,提供代码重构、质量改进和知识转移,确保高代码质量同时保持开发速度。

5. 总结与展望

BMAD-METHOD通过微服务架构设计,将AI代理、工作流和可重用资源模块化,为分布式AI代理系统提供了灵活且高效的解决方案。其核心组件(代理、代理团队、工作流和可重用资源)相互协作,通过清晰的依赖关系和构建流程,实现了系统在不同环境(IDE和Web UI)中的部署和使用。

未来,BMAD-METHOD有望进一步增强其代理的自主性和协作能力,优化工作流以适应更多项目类型,并扩展其知识库和技术偏好系统,为用户提供更加个性化和高效的开发体验。

要开始使用BMAD-METHOD,建议首先阅读官方文档:docs/user-guide.md,并根据项目需求选择合适的代理团队和工作流。

【免费下载链接】BMAD-METHOD Breakthrough Method for Agile Ai Driven Development 【免费下载链接】BMAD-METHOD 项目地址: https://gitcode.com/gh_mirrors/bm/BMAD-METHOD

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值