MS Agent Framework 简明教程
本文描述了MS Agent Framework多代理协调器的工作原理,以及如何从一个简单的产品想法构建一个完整的流程,生成产品需求文档。
在我之前的博客中,我介绍了新的 Microsoft Agent Framework,并使用核心构建块构建了一个基本代理。本文是该系列的下一步。在这里,我描述了多代理协调器的工作原理,以及如何从一个简单的产品想法构建一个完整的流程,生成产品需求文档(PRD)。
1、理解多代理协调
Microsoft Agent Framework 通过工作流定义提供了内置的多代理协调支持。这些工作流决定了代理如何交互、消息如何流动,以及整个系统如何达到最终答案。目前支持的协调器类型包括:
- 顺序:在顺序协调中,代理被组织成一个管道。每个代理依次处理任务,将其输出传递给序列中的下一个代理。
- 并发:并发协调允许多个代理并行处理同一任务。每个代理独立处理输入,并收集和聚合它们的结果。
- 交接:交接协调允许代理根据上下文或用户请求相互转移控制。每个代理可以将对话“交接”给具有适当专业知识的另一个代理,确保每个任务部分由合适的代理处理。
- 群聊:群聊协调模拟多个代理之间的协作对话,由一个管理器协调发言者选择和对话流程。
- 磁性:磁性协调是基于 AutoGen 发明的 Magentic-One 系统设计的。它是一种灵活的、通用的多代理模式,专为需要动态协作的复杂、开放性任务而设计。

2、案例:每位创始人面临的挑战
想象一下,你是一个有创意功能想法的创始人。你感到兴奋、充满能量,准备快速行动。但有一个问题:将这个原始想法转化为团队实际可构建的完整产品需求文档(PRD)既耗时又需要跨多个学科的协调。
传统上,你需要:
- 产品研究团队 —— 了解市场、用户、痛点和竞争环境
- 产品战略团队 —— 定义愿景、目标、成功指标和战略定位
- 技术架构团队 —— 评估实现方法和技术可行性
每次交接都需要时间。每次会议都需要安排。每次迭代都会使你的时间表增加几天或几周。而且,当你得到一个完整的 PRD 时,最初的灵感火花可能已经失去了动力。
3、更好的方法:AI 代理工作流
如果你能将几周的工作压缩到几分钟呢?如果你能在不安排任何会议的情况下获得全面的 PRD 呢?
这就是 AI 代理的作用。而不是等待人类团队协调,你可以协调专门的 AI 代理,它们无缝地协同工作:
4、认识你的 AI 团队
产品研究员代理
- 深入理解你的功能想法
- 识别目标用户及其痛点
- 分析当前解决方案和市场缺口
- 创建结构化的 PRD 基础
产品战略代理
- 定义清晰的产品愿景和定位
- 设定具体的目标和非目标
- 建立可衡量的成功指标
- 确保战略一致性
技术架构师代理
- 评估技术实现方法
- 识别架构考虑因素
- 建议技术栈和模式
- 强调技术风险和依赖关系
5、工作原理
而不是需要几天的顺序交接,这些代理在一个协调的工作流中一起工作:
- 你提供你的功能想法(只需几句话)
- 研究代理分析问题空间和用户需求
- 战略代理建立在研究基础上,定义愿景和目标
- 技术代理添加实施视角
- 你收到一份完整的、结构良好的 PRD
只需几分钟,而不是几周。
6、构建自己的 PRD 工作流:逐步指南
想要自己构建吗?以下是创建自己的 AI 驱动的 PRD 工作流的几个步骤:
第一步:定义你的专业代理
每个代理都需要明确的角色和说明。这是我们定义产品研究员代理的方式:
public static class ProductResearcherAgentConfig
{
public const string AgentName = "product-researcher";
public const string SystemPrompt = @"You are the Research Agent in a PRD workflow.
Your job:
- Transform a high-level product idea into a well-understood problem space
- Identify users, their needs, pain points, and existing alternatives
- Propose a structured PRD outline
Output: A markdown document with problem understanding, user personas,
current solutions analysis, and recommended PRD structure.";
public static void RegisterAgent(WebApplicationBuilder builder)
{
builder.AddAIAgent(AgentName, SystemPrompt);
}
}
同样,用它们的具体职责定义你的战略和技术架构师代理。
我还使用了网络搜索工具,利用 Google Search API 进行研究,
builder.AddAIAgent(AgentName, SystemPrompt)
.WithAITool(AIFunctionFactory.Create(searchTool.Search, name: "search_web")
);
第二步:创建顺序工作流
连接你的代理,使它们按顺序工作,每个代理都建立在前一个代理的输出之上:
public static class PRDWorkflowConfiguration
{
public static void RegisterWorkflow(WebApplicationBuilder builder)
{
// Get your registered agents
var researchAgent = builder.Services.BuildServiceProvider()
.GetRequiredKeyedService<AIAgent>("product-researcher");
var strategyAgent = builder.Services.BuildServiceProvider()
.GetRequiredKeyedService<AIAgent>("product-strategy");
var technicalAgent = builder.Services.BuildServiceProvider()
.GetRequiredKeyedService<AIAgent>("technical-architect");
// Build sequential workflow: Research → Strategy → Technical
builder.AddWorkflow("prd-workflow-sequential", (sp, key) =>
{
var agents = new List<AIAgent>()
{
researchAgent,
strategyAgent,
technicalAgent
};
return AgentWorkflowBuilder.BuildSequential(
workflowName: key,
agents: agents
);
}).AddAsAIAgent();
}
}
第三步:将所有内容连接在一起
在你的主程序中,注册 AI 客户端、代理和工作流:
var builder = WebApplication.CreateBuilder(args);
// Configure your AI chat client (Azure OpenAI, GitHub Models, etc.)
builder.AddAzureOpenAI();
// Register your specialized agents
ProductResearcherAgentConfig.RegisterAgent(builder);
ProductStrategyAgentConfig.RegisterAgent(builder);
TechnicalArchitectAgentConfig.RegisterAgent(builder);
// Register the workflow
PRDWorkflowConfiguration.RegisterWorkflow(builder);
var app = builder.Build();
app.Run();
第四步:在 DevUI 中运行你的工作流
现在当你提供一个功能想法时,工作流会自动执行:

就是这样!在不到 100 行代码的情况下,你已经构建了一个 AI 驱动的 PRD 生成系统,这通常需要协调多个团队成员数周的时间。
你可以在这里获取完整的代码。
7、结束语
使用 Microsoft Agent Framework 构建多代理工作流改变了我们处理复杂、多学科任务的方式。曾经需要几天时间在多个团队之间协调的事情,现在可以通过智能代理协调在几分钟内完成。
在这份指南中,我们看到了如何使用顺序协调创建 PRD 生成工作流,但这只是开始。该框架对并发、交接、群聊和磁性协调模式的支持,为针对特定需求的更复杂的流程打开了可能性。
准备好构建你自己的多代理工作流了吗?从 GitHub 仓库 获取完整代码,开始实验吧。人工智能驱动的自动化未来已经到来,而且比以往任何时候都更容易获得。
学习愉快,建造愉快!
原文链接:Creating Multi-Agent Workflows with Microsoft Agent Framework
汇智网翻译整理,转载请标明出处