多Agent协作入门,顺序编排模式如何应用?

摘要:在顺序编排模式中,各个Agent被组成一个流程,每个Agent都会处理任务,并将执行结果输出传递给下一个待执行的Agent。可以看出,对于每个基于上一步骤构建的工作流(Workflow)来说,这是比较适合的模式。目前,像文档审阅、工作流、数
大家好,我是Edison。 上一篇我们学习了Semantic Kernel中的并发编排模式,它非常适合并行分析、独立子任务并集成决策的任务场景。今天,我们学习新的模式:顺序编排。 顺序编排模式简介 在顺序编排模式中,各个Agent被组成一个流程,每个Agent都会处理任务,并将执行结果输出传递给下一个待执行的Agent。可以看出,对于每个基于上一步骤构建的工作流(Workflow)来说,这是比较适合的模式。 目前,像文档审阅、工作流、数据处理管道、多阶段推理等,是比较常见的应用场景。 下图展示了一个文档翻译的用例,文档先通过Agent1生成摘要,然后通过Agent2执行翻译,最后通过Agent3进行审阅和质量保证,最终生成最后的翻译结果。可以看到,每个Agent都在基于上一个步骤的处理结果进行构建,这就是一个典型的顺序编排用例。 实现顺序编排模式 这里我们来实现一个DEMO,我们定义3个Agent:分析师(Analyst)、广告文案写手(CopyWriter) 和 编辑/审稿人(Editor),假设他们是一个小Team,在承接广告文案的创作。 那么我们这个DEMO的目标,就是可以让他们可以来接客,只要客户分配一个广告文案创作的任务,它们就可以配合来生成最终的文案:首先由分析师分析要介绍产品的亮点和宣传思路,再由写手生成一个文案草稿,最后由审稿人进行评估给出最终文案,这就是一个典型的工作流处理。 为了简单地实现这个功能,我们创建一个.NET控制台项目,然后安装以下包: Microsoft.SemanticKernel.Agents.Core Microsoft.SemanticKernel.Agents.OpenAI (Preview版本) Microsoft.SemanticKernel.Agents.Orchestration (Preview版本) Microsoft.SemanticKernel.Agents.Runtime.InProcess (Preview版本) 需要注意的是,由于Semantic Kernel的较多功能目前还处于实验预览阶段,所以建议在该项目的csproj文件中加入以下配置,统一取消警告: <PropertyGroup> <NoWarn>$(NoWarn);CA2007;IDE1006;SKEXP0001;SKEXP0110;OPENAI001</NoWarn> </PropertyGroup> 创建一个appsettings.json配置文件,填入以下关于LLM API的配置,其中API_KEY请输入你自己的: { "LLM": { "BASE_URL": "https://api.siliconflow.cn", "API_KEY": "******************************", "MODEL_ID": "Qwen/Qwen2.5-32B-Instruct" } } 这里我们使用SiliconCloud提供的Qwen2.5-32B-Instruct模型,你可以通过这个URL注册账号:https://cloud.siliconflow.cn/i/DomqCefW获取大量免费的Token来进行本次实验。
阅读全文