MS Agent Framework 简明教程

本文描述了MS Agent Framework多代理协调器的工作原理,以及如何从一个简单的产品想法构建一个完整的流程,生成产品需求文档。

MS Agent Framework 简明教程

在我之前的博客中,我介绍了新的 Microsoft Agent Framework,并使用核心构建块构建了一个基本代理。本文是该系列的下一步。在这里,我描述了多代理协调器的工作原理,以及如何从一个简单的产品想法构建一个完整的流程,生成产品需求文档(PRD)。

1、理解多代理协调

Microsoft Agent Framework 通过工作流定义提供了内置的多代理协调支持。这些工作流决定了代理如何交互、消息如何流动,以及整个系统如何达到最终答案。目前支持的协调器类型包括:

  • 顺序:在顺序协调中,代理被组织成一个管道。每个代理依次处理任务,将其输出传递给序列中的下一个代理。
  • 并发:并发协调允许多个代理并行处理同一任务。每个代理独立处理输入,并收集和聚合它们的结果。
  • 交接:交接协调允许代理根据上下文或用户请求相互转移控制。每个代理可以将对话“交接”给具有适当专业知识的另一个代理,确保每个任务部分由合适的代理处理。
  • 群聊:群聊协调模拟多个代理之间的协作对话,由一个管理器协调发言者选择和对话流程。
  • 磁性:磁性协调是基于 AutoGen 发明的 Magentic-One 系统设计的。它是一种灵活的、通用的多代理模式,专为需要动态协作的复杂、开放性任务而设计。
Microsoft Agent Framework:工作流协调器

2、案例:每位创始人面临的挑战

想象一下,你是一个有创意功能想法的创始人。你感到兴奋、充满能量,准备快速行动。但有一个问题:将这个原始想法转化为团队实际可构建的完整产品需求文档(PRD)既耗时又需要跨多个学科的协调。

传统上,你需要:

  1. 产品研究团队 —— 了解市场、用户、痛点和竞争环境
  2. 产品战略团队 —— 定义愿景、目标、成功指标和战略定位
  3. 技术架构团队 —— 评估实现方法和技术可行性

每次交接都需要时间。每次会议都需要安排。每次迭代都会使你的时间表增加几天或几周。而且,当你得到一个完整的 PRD 时,最初的灵感火花可能已经失去了动力。

3、更好的方法:AI 代理工作流

如果你能将几周的工作压缩到几分钟呢?如果你能在不安排任何会议的情况下获得全面的 PRD 呢?

这就是 AI 代理的作用。而不是等待人类团队协调,你可以协调专门的 AI 代理,它们无缝地协同工作:

4、认识你的 AI 团队

产品研究员代理

  • 深入理解你的功能想法
  • 识别目标用户及其痛点
  • 分析当前解决方案和市场缺口
  • 创建结构化的 PRD 基础

产品战略代理

  • 定义清晰的产品愿景和定位
  • 设定具体的目标和非目标
  • 建立可衡量的成功指标
  • 确保战略一致性

技术架构师代理

  • 评估技术实现方法
  • 识别架构考虑因素
  • 建议技术栈和模式
  • 强调技术风险和依赖关系

5、工作原理

而不是需要几天的顺序交接,这些代理在一个协调的工作流中一起工作:

  1. 你提供你的功能想法(只需几句话)
  2. 研究代理分析问题空间和用户需求
  3. 战略代理建立在研究基础上,定义愿景和目标
  4. 技术代理添加实施视角
  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

汇智网翻译整理,转载请标明出处