前面的系列把关于 Agent 的部分讲完了。下面让我们开始说说关于 workflow 的部分。

Microsoft Agent Framework 提供了一个强大的工作流 (Workflow) 系统,使您能够构建集成了 AI 代理和业务流程的智能自动化系统。借助其类型安全的体系结构和直观的设计,您可以编排复杂的工作流,而无需陷入基础设施的复杂性中,从而专注于核心业务逻辑。

一、AI Agent 与 Workflow 有何不同?

在深入探讨之前,我们先来厘清一个基本概念:AI Agent 和 Workflow 的区别。

  • AI Agent: 通常由大型语言模型 (LLM) 驱动,可以访问各种工具来完成任务。Agent 执行的步骤是动态的,由 LLM 根据对话上下文和可用工具决定。

  • Workflow: 一个预定义的、由多个操作组成的序列,其中可以包含 AI Agent 作为组件。Workflow 的流程是明确定义的,允许对执行路径进行更精确的控制,非常适合处理复杂的业务流程。

简而言之,您可以将 Workflow 想象成一个流程图,而 AI Agent 则是这个流程图中的一个或多个“智能”节点。

二、核心概念:Executors 与 Edges

Workflow 由两个核心概念组成:Executors (执行器) 和 **Edges (边)**。

  • Executors: 代表工作流中的单个处理单元。它们可以是 AI Agent,也可以是自定义的业务逻辑组件。
  • Edges: 定义了 Executors 之间的连接,决定了消息的流动方向,并可以附加条件来控制路由。

一个 Workflow 本质上就是一个由 Executors 和 Edges 组成的有向图。


三、Executors (执行器) 详解

Executors 是处理消息的基础构建块。它们是自主的处理单元,接收特定类型的消息,执行操作,并能产生输出消息。

在 C# 中,一个基础的 Executor 结构如下。它通过实现 IMessageHandler<TInput, TOutput> 接口来处理输入消息,并可以简单地通过返回一个值来将消息发送给下游连接的 Executor。

using Microsoft.Agents.Workflows;using Microsoft.Agents.Workflows.Reflection;// 一个将输入字符串转换为大写的 Executorinternal sealed class UppercaseExecutor() : ReflectingExecutor<UppercaseExecutor>("UppercaseExecutor"), IMessageHandler<string, string>{    public async ValueTask<string> HandleAsync(string message, IWorkflowContext context)    {        string result = message.ToUpperInvariant();        return result; // 返回值会自动发送给连接的 Executor    }}

您也可以通过 IWorkflowContext 对象手动发送消息,或者通过实现多个 IMessageHandler 接口来让一个 Executor 处理多种不同类型的输入。


四、Edges (边) 详解

Edges 定义了消息如何在 Executors 之间流动。它们是工作流图中的连接线,决定了数据流的路径。 框架支持多种强大的 Edge 模式:

1.Direct Edges (直接边)

这是最简单的连接方式,用于在两个 Executor 之间建立一对一的直接连接。

WorkflowBuilder builder = new(sourceExecutor);builder.AddEdge(sourceExecutor, targetExecutor);

2.Conditional Edges (条件边)

只有当满足特定条件时,消息才会通过此 Edge 流动。这对于实现逻辑判断非常有用。 例如,根据垃圾邮件检测的结果,将邮件路由到不同的处理器。

// 根据消息内容进行路由builder.AddEdge(    source: spamDetector,    target: emailProcessor,    condition: result => result is SpamResult spam && !spam.IsSpam);builder.AddEdge(    source: spamDetector,    target: spamHandler,    condition: result => result is SpamResult spam && spam.IsSpam);

3.Switch-case Edges (Switch-Case 边)

当您需要根据多个不同条件将消息路由到不同 Executor 时,可以使用 Switch-Case 模式,它类似于编程语言中的 switch 语句。

builder.AddSwitch(routerExecutor, switchBuilder =>    switchBuilder        .AddCase(message => message.Priority < Priority.Normal, executorA)        .AddCase(message => message.Priority < Priority.High, executorB)        .SetDefault(executorC));

4.Fan-out Edges

将一个 Executor 的消息分发给多个目标。这对于并行处理任务非常有效。

// 将消息发送给所有目标builder.AddFanOutEdge(splitterExecutor, targets: [worker1, worker2, worker3]);

5.Fan-in Edges

从多个源收集消息并汇集到一个目标 Executor。这通常用于聚合来自多个并行任务的结果。

// 聚合来自多个 worker 的结果builder.AddFanInEdge(aggregatorExecutor, sources: [worker1, worker2, worker3]);

五、总结

通过组合使用 ExecutorsEdges,您可以构建出功能强大且逻辑清晰的自动化工作流。Executors 作为独立的业务处理单元,而 Edges 则像神经网络一样将它们连接起来,实现了灵活的消息路由和流程控制。

那么,如何系统的去学习大模型LLM?

作为一名深耕行业的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐