M
点击蓝字 / 微软开发者MSDN
关注我们
作者:Kinfey Lo
排版:Alan Wang
架构视角的必然趋势:
为何多智能体编排至关重要
在现代企业级 AI 系统中,真实业务挑战的范围与复杂性很快超出单一、单体式 AI Agent 的能力。面对全链路用户旅程管理、多源数据治理、或高度依赖人工审阅的流程等任务,一个根本性的架构挑战随之出现:我们如何高效协调并管理一个由高度专业化、原子化的 AI 能力组成的网络?
就像高效运转的企业依赖专业分工的部门一样,我们必须从单一执行体模式转向协作型多智能体网络。
Microsoft Agent Framework 正是为应对这一范式转变而设计,提供了一个统一且可观测的平台,使开发者能够实现两大核心价值主张:
场景一:构建专业化的 AI 智能体单元
每个 Agent 都是一个专业化、可插拔、并能够独立运行的执行单元,其智能能力由三大关键支柱构成:
基于大模型的意图解析:借助大型语言模型(LLM)的能力,准确理解并映射复杂的用户输入需求。
动作与工具执行:通过调用外部 API、工具或内部服务(如 MCP 服务器),执行实际业务逻辑与操作。
上下文响应生成:基于执行结果与当前状态,向用户返回精准、有价值且具备上下文理解的智能响应。
与此同时,开发者可灵活选择主流模型提供方——包括 Azure OpenAI、OpenAI、Azure AI Foundry 或本地模型——来自定义并构建这些高性能的 Agent 基础能力单元。
场景二:基于工作流的动态协同编排
Workflow 是 Microsoft Agent Framework 的旗舰能力,将编排从简单的线性流程提升为动态协作图,为系统带来先进的架构能力:
🔗 协作图构建
将专业化 Agent 与功能模块连接成高内聚、松耦合的网络。
🎯 复杂任务分解
自动将宏观任务拆解为可管理、可追踪的子任务步骤,实现精确执行。
🧭 基于上下文的动态路由
利用中间数据类型和业务规则自动选择最优处理路径或 Agent(Routing)。
🔄 支持深度嵌套
在主工作流中嵌套子工作流,实现多层逻辑抽象与最大化复用。
💾 状态检查点管理
在关键执行节点持久化状态,确保流程可追溯性、数据校验和容错能力。
🤝 人机协同
通过明确的请求/响应契约,在必要时引入人工专家参与决策流程。
更重要的是,Workflow 的定义不仅限于 Agent 连接,也可以与现有业务逻辑及方法执行器无缝集成,在复杂流程治理中提供最大灵活性。
深入解析:
Workflow 设计模式
基于 GitHub Models 的示例,我们展示如何利用 Workflow 组件,在企业级应用中实现结构化、并行化与动态决策能力。
串行模式:强化结构化数据流程
定义:Executors 按预先设定的顺序依次执行,每个步骤的输出都会经过校验、序列化,并作为规范化后的输入传递给下一个执行器。
架构意义:这种模式适用于对各阶段之间的一致性与状态管理有严格要求的流程。在中间节点应策略性地使用 Transformer Executors(如 to_reviewer_result),用于数据格式转换、校验或状态日志记录,从而建立关键的检查点。
# Linear flow: Agent1 -> Agent2 -> Agent3workflow = (WorkflowBuilder().set_start_executor(agent1).add_edge(agent1, agent2).add_edge(agent2, agent3).build())
示例代码:
https://github.com/microsoft/Agent-Framework-Samples/blob/main/07.Workflow/code_samples/python/02.python-agent-framework-workflow-ghmodel-sequential.ipynb/?wt.mc_id=3reg_webpage_reactor
并行模式:实现高吞吐量的 Fan-out / Fan-in
定义:在同一工作流中并行触发多个 Agent(或同一 Agent 的多个实例),以最大化降低整体延迟,并在指定的聚合点整合结果。
架构意义:这是 Fan-out/Fan-in 模式的核心实现方式。其关键在于聚合函数(aggregate_results_function),需要通过自定义逻辑对多分支返回结果进行统一处理,常见方式包括投票机制、加权合并或基于优先级的选择策略。
workflow = (ConcurrentBuilder().participants([agentA, agentB, agentC]).build())
示例代码:
https://github.com/microsoft/Agent-Framework-Samples/blob/main/07.Workflow/code_samples/python/02.python-agent-framework-workflow-ghmodel-sequential.ipynb/?wt.mc_id=3reg_webpage_reactor
条件模式:基于状态的动态决策
定义:在工作流中引入决策执行器,根据中间结果或预定义业务规则,动态地将流程路由至不同分支(如:保存草稿、重新处理、人工审核)。
架构意义:该模式的核心在于选择函数(selection_func)。它接收解析后的中间数据(例如 ReviewResult),并返回目标执行器 ID 列表,从而不仅支持单路径路由,也能够实现复杂逻辑,使单一数据项同时分支到多个并行路径。
def select_targets(review, targets):handle_id, save_id = targetsreturn [save_id] if review.review_result == "Yes"else [handle_id]workflow = (WorkflowBuilder().set_start_executor(evangelist_executor).add_edge(evangelist_executor, reviewer_executor).add_edge(reviewer_executor, to_reviewer_result).add_multi_selection_edge_group(to_reviewer_result, [handle_review, save_draft], selection_func=select_targets).build())
示例代码:
https://github.com/microsoft/Agent-Framework-Samples/blob/main/07.Workflow/code_samples/python/04.python-agent-framework-workflow-aifoundry-condition.ipynb/?wt.mc_id=3reg_webpage_reactor
在复杂的生产场景中,这些模式通常是分层组合使用的:例如,先执行一个并行的搜索与摘要阶段,随后通过条件分支将结果路由至自动发布,或进入串行的人机协作审核流程。
生产级可观测性:
利用 DevUI 与追踪能力
对于复杂的多智能体系统,可观测性是不可妥协的。Microsoft Agent Framework 通过内置 DevUI 提供了卓越的开发者体验,使你能够在编排层实现实时可视化、交互追踪和性能监控。
以下简化代码演示了在项目中启用该能力的关键步骤(参见项目 main.py):
核心工作流构建(代码保持不变)
# Transform and selection function exampleasync def to_reviewer_result(response, ctx):parsed = ReviewAgent.model_validate_json(response.agent_run_response.text)await ctx.send_message(ReviewResult(parsed.review_result, parsed.reason, parsed.draft_content))def select_targets(review: ReviewResult, target_ids: list[str]) -> list[str]:handle_id, save_id = target_idsreturn [save_id] if review.review_result == "Yes"else [handle_id]# Build executors and connect themevangelist_executor = AgentExecutor(evangelist_agent, id="evangelist_agent")reviewer_executor = AgentExecutor(reviewer_agent, id="reviewer_agent")publisher_executor = AgentExecutor(publisher_agent, id="publisher_agent")workflow = (WorkflowBuilder().set_start_executor(evangelist_executor).add_edge(evangelist_executor, to_evangelist_content_result).add_edge(to_evangelist_content_result, reviewer_executor).add_edge(reviewer_executor, to_reviewer_result).add_multi_selection_edge_group(to_reviewer_result, [handle_review, save_draft], selection_func=select_targets).add_edge(save_draft, publisher_executor).build())
通过 DevUI 启动以进行可视化(项目 main.py)
from agent_framework.devui import servedef main():serve(entities=[workflow], port=8090, auto_open=True, tracing_enabled=True)if __name__ == "__main__":main()
实现端到端追踪
在将多智能体工作流部署到生产或 CI 环境时,稳健的追踪与监控至关重要。为确保高可观测性,你需要确认以下要点:
环境配置:在启动前,确保通过 .env 加载所有 Agent 和工具所需的连接字符串及凭据。
事件日志记录:在 Agent Executors 和 Transformers 内部,利用框架的上下文机制显式记录关键事件(例如:Agent 响应、分支选择结果),以便 DevUI 或日志聚合平台轻松获取。
OTLP 集成:将 tracing_enabled 设置为 True,并配置 OpenTelemetry Protocol(OTLP)导出器,从而将完整执行调用链(Trace)导出到 APM/Trace 平台(如 Azure Monitor、Jaeger)。
示例代码:
https://github.com/microsoft/Agent-Framework-Samples/tree/main/08.EvaluationAndTracing/python/multi_workflow_aifoundry_devui/?wt.mc_id=3reg_webpage_reactor
通过将 DevUI 的可视化执行路径与 APM 追踪数据结合,你可以快速诊断延迟瓶颈、定位故障,并对复杂 AI 系统实现全面掌控。
后续步骤:
面向 Agent 架构师的资源
多智能体编排代表了复杂 AI 架构的发展趋势。我们鼓励你深入学习 Microsoft Agent Framework,以掌握这些强大的能力。
以下是精选资源列表,帮助你加速成长为一名 Agent 架构师:
Microsoft Agent Framework GitHub 仓库
https://github.com/microsoft/agent-framework/?wt.mc_id=3reg_webpage_reactor
Microsoft Agent Framework Workflow 官方示例
https://github.com/microsoft/agent-framework/tree/main/python/samples/getting_started/workflows/?wt.mc_id=3reg_webpage_reactor
社区与协作
https://discord.com/invite/azureaifoundry/?wt.mc_id=3reg_webpage_reactor
微信公众号|微软开发者MSDN
新浪微博|微软中国MSDN
·END·

