多Agent协作入门:移交编排模式有哪些应用场景?

摘要:在移交(也可以叫做交接)编排模式中,允许各个Agent根据上下文或用户请求相互转移控制权,每个Agent都可以通过适当的专业知识将对话“移交”给另一个Agent,确保每个Agent处理任务的某个指定部分。这种模式非常适合于客户支持(客服)、
大家好,我是Edison。 上一篇我们学习了Semantic Kernel中的群聊编排模式,它非常适合集思广益、协作解决问题等类型任务场景。今天,我们学习新的模式:移交编排。 移交编排模式简介 在移交(也可以叫做交接)编排模式中,允许各个Agent根据上下文或用户请求相互转移控制权,每个Agent都可以通过适当的专业知识将对话“移交”给另一个Agent,确保每个Agent处理任务的某个指定部分。这种模式非常适合于客户支持(客服)、专家系统或需要动态委派类型的任务场景。 下图展示了一个客户支持的用例场景,当用户提交售后请求,先由某个前台代理(这里是General Support)进行请求分析,并将具体请求转移给某个后台专家(如Technical Expert)或 计费人员(如Billing)。 实现移交编排模式 这里我们来实现一个客户支持的DEMO,假设我们是一个电商的后台客服中心,我们找了一群AI Agent来帮我们进行一些订单查询、退款、退货等通用类请求的客户服务支持。 我们定义4个Agent: (1)分流客服Agent:负责初步分流客户问题; (2)订单状态查询Agent:负责处理客户的订单状态查询问题; (3)订单退货处理Agent:负责处理客户申请的退货请求; (4)订单退款处理Agent:负责处理客户申请的退款请求; 为了简单地实现这个功能,我们还是创建一个.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来进行本次实验。
阅读全文