.NET+AI | Workflow | 编排 AI Agent (3)

发布时间:2026/7/8 13:42:24
.NET+AI | Workflow | 编排 AI Agent (3) 目录一句话简介 Executor vs Agent 集成 Agent 到工作流 核心机制TurnToken代码实现 实战案例翻译链 总结上一篇一句话简介本文将探讨如何将AIAgent作为一等公民集成到工作流中利用TurnToken机制触发智能体协作构建复杂的 AI 业务流程。 Executor vs Agent在 MAF Workflow 中我们有两种主要的执行单元。理解它们的区别是编排的第一步特性Executor (执行器)Agent (智能体)核心能力确定性逻辑代码概率性推理LLM典型场景验证、格式化、API调用内容生成、意图识别、决策触发方式收到消息即执行需要 TurnToken 触发输入输出强类型 (TInput)ChatMessage✅ 最佳实践混合使用用 Executor 处理结构化数据和确定性任务用 Agent 处理需要“思考”的模糊任务。 集成 Agent 到工作流WorkflowBuilder对 Agent 提供了原生支持你就像添加普通 Executor 一样添加 Agent。// 1. 定义翻译 Agent var frenchAgent new ChatClientAgent(client, Translate to French); var chineseAgent new ChatClientAgent(client, Translate to Chinese); // 2. 编排工作流法语 - 中文 var workflow new WorkflowBuilder(frenchAgent) .AddEdge(frenchAgent, chineseAgent) .WithOutputFrom(chineseAgent) .Build(); 核心机制TurnToken与普通 Executor 收到消息立即执行不同Agent 在工作流中是“懒加载”的。它们会缓存收到的消息直到收到TurnToken令牌才会开始思考和生成。为什么设计 TurnToken等待上下文Agent 可能需要等待多游消息如用户输入 工具结果到齐。控制节奏精确控制 Agent 何时开始与 LLM 交互。代码实现执行包含 Agent 的工作流时必须显式发送TurnTokenawait usingvar run await InProcessExecution.StreamAsync(workflow, input); // 关键步骤发送令牌触发 Agent await run.TrySendMessageAsync(new TurnToken(emitEvents: true)); // 监听 Agent 的思考过程 awaitforeach (var evt in run.WatchStreamAsync()) { if (evt is AgentRunUpdateEvent update) { Console.WriteLine($ {update.ExecutorId}: {update.Data}); } } 实战案例翻译链通过工作流编排多个 Agent 顺序协作实现多级翻译任务。var workflow new WorkflowBuilder(frenchAgent) .AddEdge(frenchAgent, spanishAgent) .AddEdge(spanishAgent, englishAgent) .Build(); // 执行流...优势✅自动传递上一个 Agent 的回复自动成为下一个 Agent 的输入✅可视化复杂的协作链条一目了然✅扩展性随时可以在链条中间插入“审核 Copilot”或“格式化 Executor” 总结将 Agent 引入工作流让我们从“编写代码”升级为“编排智能”。记住Agent 就是特殊的 Executor记住TurnToken 是启动开关引入地址