如何高效编排多Agent工作流,实现MAF应用?
摘要:本文介绍了如何使用MAF框架完成基本的多Agent工作流编排,并给出了两个常用的编排案例:移交编排 和 顺序编排,最后介绍了如何借助结合流式执行 和 内置事件 完成工作流的进度监控。
大家好,我是Edison。
上一篇,我们学习了MAF中如何持久化聊天记录到关系型数据库。这一篇,我们来学习一下工作流编排。不知大家是否记得,我们在之前用Semantic Kernel学习过多Agent编排的一些知识,例如顺序,并发,移交等模式仍然历历在目。那么,今天,我们用MAF的工作流编排来实现一下,看看有什么不一样。
多Agent编排
传统的单代理系统在处理复杂多面任务的能力方面受到限制。 通过协调多个代理,每个代理都有专门的技能或角色,我们可以创建更可靠、更自适应且能够协作解决实际问题的系统。
目前,MAF支持以下编排模式,和SK几乎一致:
今天,我们用MAF来实践一下顺序编排 和 移交编排 两个最常用的模式。
顺序编排的典型案例如下图所示:
移交编排的典型案例如下图所示:
准备工作
在今天的这个案例中,我们创建了一个.NET控制台应用程序,安装了以下NuGet包:
Microsoft.Agents.AI.OpenAI
Microsoft.Agents.AI.Workflows
Microsoft.Extensions.AI.OpenAI
我们的配置文件中定义了LLM API的信息:
{
"OpenAI": {
"EndPoint": "https://api.siliconflow.cn",
"ApiKey": "******************************",
"ModelId": "Qwen/Qwen2.5-32B-Instruct"
}
}
这里我们使用 SiliconCloud 提供的Qwen2.5-32B-Instruct模型,你可以通过这个URL注册账号:https://cloud.siliconflow.cn/i/DomqCefW获取大量免费的Token来进行本次实验。
