做视频网站怎么看不会卡,网站系统优化,手机版企业网站,机械网站建设比较好的前面的系列把关于 Agent 的部分讲完了。下面让我们开始说说关于 workflow 的部分。Microsoft Agent Framework 提供了一个强大的工作流 (Workflow) 系统#xff0c;使您能够构建集成了 AI 代理和业务流程的智能自动化系统。借助其类型安全的体系结构和直观的设计#xff0c;您…前面的系列把关于 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 与 EdgesWorkflow 由两个核心概念组成Executors (执行器)和 **Edges (边)**。Executors: 代表工作流中的单个处理单元。它们可以是 AI Agent也可以是自定义的业务逻辑组件。Edges: 定义了 Executors 之间的连接决定了消息的流动方向并可以附加条件来控制路由。一个 Workflow 本质上就是一个由 Executors 和 Edges 组成的有向图。Executors (执行器) 详解Executors 是处理消息的基础构建块。它们是自主的处理单元接收特定类型的消息执行操作并能产生输出消息。在 C# 中一个基础的 Executor 结构如下。它通过实现IMessageHandlerTInput, TOutput接口来处理输入消息并可以简单地通过返回一个值来将消息发送给下游连接的 Executor。using Microsoft.Agents.Workflows; using Microsoft.Agents.Workflows.Reflection; // 一个将输入字符串转换为大写的 Executor internal sealed class UppercaseExecutor() : ReflectingExecutorUppercaseExecutor(UppercaseExecutor), IMessageHandlerstring, string { public async ValueTaskstring HandleAsync(string message, IWorkflowContext context) { string result message.ToUpperInvariant(); return result; // 返回值会自动发送给连接的 Executor } }您也可以通过IWorkflowContext对象手动发送消息或者通过实现多个IMessageHandler接口来让一个 Executor 处理多种不同类型的输入。Edges (边) 详解Edges 定义了消息如何在 Executors 之间流动。它们是工作流图中的连接线决定了数据流的路径。 框架支持多种强大的 Edge 模式Direct Edges (直接边)这是最简单的连接方式用于在两个 Executor 之间建立一对一的直接连接。WorkflowBuilder builder new(sourceExecutor); builder.AddEdge(sourceExecutor, targetExecutor);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 );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) );Fan-out Edges将一个 Executor 的消息分发给多个目标。这对于并行处理任务非常有效。// 将消息发送给所有目标 builder.AddFanOutEdge(splitterExecutor, targets: [worker1, worker2, worker3]);Fan-in Edges从多个源收集消息并汇集到一个目标 Executor。这通常用于聚合来自多个并行任务的结果。// 聚合来自多个 worker 的结果 builder.AddFanInEdge(aggregatorExecutor, sources: [worker1, worker2, worker3]);总结通过组合使用Executors和Edges您可以构建出功能强大且逻辑清晰的自动化工作流。Executors 作为独立的业务处理单元而 Edges 则像神经网络一样将它们连接起来实现了灵活的消息路由和流程控制。希望这篇介绍能帮助您理解 Microsoft Agent Framework 中 Workflow 的基本概念。如果您想深入学习建议您查阅官方文档以获取更详细的信息和示例。Microsoft Agent Framework - AIContextProvider 上下文管理Microsoft Agent Framework - 对 Agent 进AOPMiddleware编程Microsoft Agent Framework - 使用 OpenTelemetry 对 Agent 进行追踪Microsoft Agent Framework - 持久化 Agent 对话Microsoft Agent Framework - 把 Agent 暴露为 MCP ServerMicrosoft Agent Framework - 结构化输出