news 2026/4/23 20:26:07

MAF快速入门(13)常见智能体编排模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MAF快速入门(13)常见智能体编排模式

大家好,我是Edison。

最近我一直在跟着圣杰的《.NET+AI智能体开发进阶》课程学习MAF开发多智能体工作流,我强烈推荐你也上车跟我一起出发!

上一篇,我们学习了MAF中如何进行子工作流。本篇,我们来了解下在MAF中如何快速实现一些常见的智能体编排模式。

1 智能体编排模式介绍

传统的单Agent系统在处理复杂多面任务的能力方面受到较多限制,因此我们会有多Agent编排协作完成任务的需求。

事实上,在构建AI应用解决业务问题时,单个Agent往往无法胜任所有任务,常常需要我们将多个Agent组合起来系统工作。而这种组合与协调的方式,就被称为Agent Orchestration即 Agent编排。

MAF支持多种多Agent编排流程模式,每个模式都针对不同的协作方案而设计。这些模式作为框架的一部分提供出来,我们可以自己扩展。

在MAF中,常见的Agent编排模式如下:

  • Sequential 顺序编排:即各个Agent依次处理并传递给下一个Agent执行;
  • Concurrent 并发编排:即多个Agent并行处理同一个任务,然后汇聚结果;
  • Handoffs 移交编排:即每个Agent都可以将对话移交给另一个Agent,确保每个Agent处理任务的某个部分;
  • GroupChat 群聊编排:即多个Agent加入了同一个微信群,通过群聊对话形成一些决策;

对应到MAF中,AgentWorkflowBuilder 类提供了这些编排模式的具体实现,我们开发者可以直接使用对应的接口即可快速完成有一次编排 而无需 自行实现Edge连接。

2智能体编排模式详解

2.1 顺序编排

在顺序编排模式中,各个Agent被组成一个流程,每个Agent都会处理任务,并将执行结果输出传递给下一个待执行的Agent。可以看出,对于每个基于上一步骤构建的工作流(Workflow)来说,这是比较适合的模式。

目前,像文档审阅、工作流、数据处理管道、多阶段推理等,是比较常见的应用场景。

下面的代码展示了在MAF中的顺序编排实现:

varanalyst =newChatClientAgent(...);varwriter =newChatClientAgent(...);vareditor =newChatClientAgent(...);//Build a Workflowvarworkflow =AgentWorkflowBuilder.BuildSequential("content-team-workflow", [analyst, writer, editor]);//Test the Workflow......

可以看到,通过BuildSequential方法即可快速完成一次顺序编排。

2.2 并发编排

并发模式使用多个Agent并行处理同一个任务,每个Agent都可以独立处理输入,并收集并聚合结果。

此模式比较适合多种观点或解决方案很有价值的场景,比如集思广益、群体推理以及其他投票系统。

下面的代码展示了在MAF中的代码实现:

//Step1. Create AgentsvarsensitiveWordAgent =newChatClientAgent(...);varadDetectionAgent =newChatClientAgent(...);varsentimentAgent =newChatClientAgent(...);//Step2. Build a Workflowvarworkflow =AgentWorkflowBuilder.BuildConcurrent( agents:new[] { sensitiveWordAgent, adDetectionAgent, sentimentAgent }, aggregator: auditAggregator );//Step3. Test the workflow......

2.3 移交编排

在移交(也可以叫做交接)编排模式中,允许各个Agent根据上下文或用户请求相互转移控制权,每个Agent都可以通过适当的专业知识将对话“移交”给另一个Agent,确保每个Agent处理任务的某个指定部分。

这种模式非常适合于客户支持(客服)、专家系统或需要动态委派类型的任务场景。

下面的代码展示了在MAF的代码实现:

//Step1. Create AgentsvartriageAgent =newChatClientAgent(...);varhistoryTutor =newChatClientAgent(...);varmathTutor =newChatClientAgent(...);//Step2. Build a Workflowvarworkflow =AgentWorkflowBuilder.CreateHandoffBuilderWith(triageAgent) .WithHandoffs(triageAgent, [mathTutor, historyTutor])//Triage can route to either specialist.WithHandoffs([mathTutor, historyTutor], triageAgent)//Math or History tutor can return to triage.Build();//Step3. Test the workflow.....

2.4 群聊编排

在群聊编排模式中,各个Agent就像加入了一个微信群,由群管理员协调进行群聊对话。这种模式非常适合于模拟会议、辩论或协作解决问题的会议类型场景。

下图展示了一个讨论业务建议的用例,由一个Chat Manager负责主持对话,依次让三个参与对话的Agent进行建议发表。这个Chat Manager就像是群管理员,它不仅负责主持对话,也会在必要时引入人工干预。

下面的代码展示了在MAF的代码实现:

//Step1. Create AgentsvarresearchAgent =newChatClientAgent(...);varwriterAgent =newChatClientAgent(...);varcriticAgent =newChatClientAgent(...);//Step2. Build a Workflowvarworkflow =AgentWorkflowBuilder.CreateGroupChatBuilderWith( agents=>newRoundRobinGropuChatManager(agents)) .AddParticipants(researchAgent, writerAgent, criticAgent) .Build();//Step3. Test the workflow.....

3 小结

本文介绍了MAF中常见的Agent编排模式,并详细介绍了顺序编排、并发编排、移交编排 和 群聊编排 的适用场景 和 代码实现。

这几种模式的对比分析如下:

示例源码

GitHub: https://github.com/EdisonTalk/MAFD

参考资料

圣杰,《.NET + AI 智能体开发进阶》(推荐指数:★★★★★)

Microsoft Learn,《Agent Framework Tutorials》

作者:爱迪生

出处:https://edisontalk.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:29:03

鸿蒙中级课程笔记2—状态管理V2—@Once、@Event

Once:初始化同步一次 想要实现仅从外部初始化一次且不接受后续同步变化的能力,可以使用Once装饰器搭配Param装饰器。 阅读本文档前,请先阅读Param。 说明 从API version 12开始,在ComponentV2装饰的自定义组件中支持使用Once装…

作者头像 李华
网站建设 2026/4/23 11:34:03

收藏级干货:DeepSeek Engram架构解析:大模型语言理解的新思路

DeepSeek与北大联合发布Engram架构,将语言理解分为"推理"和"知识"两部分。通过2-Grams/3-Grams分词和Multi-Head Hash存储短语,结合Context-aware Gating机制解决多义词问题。Engram将传统模型中用于"组合固定短语"的大量…

作者头像 李华
网站建设 2026/4/23 14:42:20

导师推荐8个AI论文写作软件,继续教育学生轻松搞定毕业论文!

导师推荐8个AI论文写作软件,继续教育学生轻松搞定毕业论文! AI 工具让论文写作不再难 在当前的学术环境中,继续教育学生面临着越来越高的论文写作要求。无论是本科、硕士还是博士阶段,撰写一篇高质量的毕业论文不仅是对知识的总…

作者头像 李华
网站建设 2026/4/23 13:03:32

我用 Python 监听了自己的键盘,生成击键热力图,看看每天到底在“摸鱼”还是“搬砖”?

一、真实痛点引入:你的“努力”,需要可视化的证明 作为程序员,每天下班时总是感觉头昏脑涨、手指僵硬,觉得自己今天疯狂输出了几千行代码。但转头写日报的时候却陷入沉思:“我今天到底干了啥?” 向老板证明工作饱和度,靠字数是不够的。极客的最高浪漫,是用数据量化自…

作者头像 李华
网站建设 2026/4/23 16:11:56

命令行文本编辑器(Command-Line Tools)

2. 命令行文本编辑器 nano 是什么? nano 是一个命令行文本编辑器它比 vim 或 emacs 更简单,适合初学者你可以在终端里直接用它来编辑文件(比如 .zshrc)从 macOS 10.0(2001年)开始,nano 就一直是…

作者头像 李华
网站建设 2026/4/23 18:03:53

这是一次必要的警示:AI 不是智能,也不会保护你

本文不讨论商业前景、不讨论模型迭代速度, 只讨论一个问题:我们正在把什么东西,错误地当成“可以信任的智能”。 一、先说结论:Transformer 决定了 AI 永远不是“智能体” 当前所有主流大模型,核心仍是 Transformer 架…

作者头像 李华