多智能体执行范式
基于多Agent控制器的三种执行动作(继续/终止/等待输入)、生命周期工作流(起始/默认/结束)、全局意图和嵌套能力,AgentArts的多智能体支持如表1所示的三种执行范式和一种贯穿机制。
范式和贯穿机制的区别
- 执行范式(范式一~三)是递进增强的架构选择:路由分发为基础范式,固定生命周期管控和分层嵌套控制为增强范式,可按需叠加组合。
- 贯穿机制(全局意图中断)是可叠加的能力,可以在任意执行范式上叠加使用,不影响主架构的选择。
选型决策
| 场景特征 | 推荐范式组合 |
|---|---|
| 仅需按意图分发到不同子智能体 | 范式一 |
| 需要固定开头/结尾流程(如身份验证+满意度评价) | 范式一+范式二 |
| 需要多层分类(如售前/售后→细分意图) | 范式一+范式三 |
| 需要固定开头/结尾+多层分类 | 范式一+范式二+范式三 |
| 任何组合+需要随时中断(如“转人工”、“不感兴趣”) | 叠加贯穿机制 |
多智能体每轮对话会多次调用大模型(全局意图检测+意图识别+子工作流执行),Token消耗显著高于单工作流。分层嵌套控制模式下每轮需执行两次意图识别,费用更高。建议合理控制子智能体数量和意图分类数量。
路由分发
多Agent控制器接收用户输入后,通过意图识别(工作流识别/高精识别/模型+提示词)判断用户意图,一次性将请求路由到最匹配的子智能体。每轮对话独立路由,子智能体之间无强依赖。
在AgentArts中配置“路由分发”模式的要点如表3所示。
| 配置项 | 设置 |
|---|---|
| 意图识别 | 配置意图识别能力(大模型识别模式、工作流识别模式、高精识别模式),将用户输入映射至对应的子智能体 |
| 子智能体意图描述 | 每个子智能体写清楚能力范围和触发条件 |
| 子智能体执行动作 | 终止(一次性任务)或等待输入(多轮对话循环) |
| 场景 | 说明 |
|---|---|
| 企业客服 | 售前、售后、技术支持各一个子智能体 |
| 多技能助手 | 编程、写作、分析各一个子智能体 |
| 多语言服务 | 中文、英文、日文各一个子智能体 |
路由分发示例
以“在线客服”多智能体为例,支持产品咨询、退款处理、物流查询。
- 当用户咨询产品怎么收费时,路由到“产品咨询”子工作流,“产品咨询”子工作流回答价格信息,流程终止。
- 当用户输入“我要退款”时,路由到“退款申请”子工作流,“退款申请”子工作流处理退款事务,处理完后流程终止。
关键配置如下:
- 模型配置:选择“Kimi-K2.6”。
- 子智能体:选择已创建并发布的“产品咨询”工作流、“退款”工作流和“物流”工作流。
- 配置子工作流的意图描述:
- 单击画布中的“产品咨询”工作流,配置意图名称为:产品咨询,意图描述为:用户想了解产品功能、价格方案、试用申请等售前信息。如图4所示。
- 单击画布中的“退款”工作流,配置意图名称为:退款申请,意图描述为:用户想申请退款、退货,或查询退款进度。
- 单击画布中的“物流”工作流,配置意图名称为:物流查询,意图描述为:用户想查询快递配送状态、物流信息。
运行示例如下:
用户: 你们产品怎么收费? → 路由到“产品咨询”子工作流 → 回答价格信息 → 终止 用户: 我要退款 → 路由到“退款申请”子工作流 → 处理退款 → 终止
固定生命周期管控
通过起始工作流和结束工作流在业务逻辑的两端设定固定的“锚点”,不论中间的业务流程如何跳转,这两个工作流始终执行,确保会话有一致的开头和结尾。
在AgentArts中配置“固定生命周期管控”模式的要点如表5所示,适用场景如表6所示。
- 起始和结束工作流不受全局意图影响——即使用户在中间说“不感兴趣”触发全局意图终止,结束工作流仍然会执行。
- 起始和结束工作流不计入最大跳转次数。
固定生命周期管控示例
以“智能外呼系统”多智能体为例,用户拨通后,系统运行起始工作流,播报欢迎语,然后用户咨询产品相关问题,对应路由到相应的业务子智能体;用户咨询结束后,运行结束工作流,播报结束语并归档。
关键配置如下:
- 起始工作流:选择已创建并发布的“开场白”工作流。
- 结束工作流:选择已创建并发布的“结束语”工作流。
执行流程流程示例如下:
[起始工作流: 开场白] 您好,我是您的专属顾问,请问您有什么问题咨询吗? (始终执行,不计入跳转次数)
↓
[业务子工作流调度] 产品介绍 ↔ 异议处理 ↔ 预约下单 (根据用户回应动态路由)
↓
[结束工作流: 结束语] 感谢您的时间,祝您生活愉快! (始终执行,不计入跳转次数) 分层嵌套控制
将一个多智能体应用作为另一个多智能体的“子智能体”,实现多层路由决策。一级控制器做粗分类,二级控制器做细分类。
分层嵌套控制示例
以一个企业在线客服场景为例,用户输入一个问题后,多智能体的一级控制器识别用户意图,将其路由到对应的子工作流或多智能体分支,如果是路由到子多智能体,则子多智能体继续根据用户意图路由到对应的子工作流分支。
如图8所示,客服场景涵盖“售前咨询”、“售后支持”两大域,“售后支持”进一步细分为“技术故障”、“账号问题”、“发票申请”三类场景。用户输入一个问题后,例如“我要开发票”,多智能体的一级控制器识别用户意图,将其路由到“售后支持”子多智能体分支,则子多智能体识别到用户意图后,继续路由到对应的“发票申请”子工作流分支。
关键配置如下:
一级控制器子智能体配置如表9所示,二级控制器子智能体配置如表10所示。
| 子智能体类型 | 名称 | 意图描述 | 执行动作 |
|---|---|---|---|
| 工作流 | 售前咨询 | 用户咨询产品功能、价格、试用等购买前问题 | 终止 |
| 多智能体 | 售后支持 | 用户反馈产品使用问题、账号异常、账单发票需求 | 终止 |
| 工作流名称 | 意图描述 | 执行动作 |
|---|---|---|
| 技术故障 | 系统报错、功能异常等技术故障 | 等待输入(需收集错误信息) |
| 账号问题 | 账号登录、权限、密码相关问题 | 终止 |
| 发票申请 | 发票申请与查询 | 终止 |
用户: 我的账号突然登不进去了
↓
[一级控制器多智能体] 意图识别 → 命中“售后支持” → 路由到“售后支持”子多智能体
↓
[二级控制器“售后支持”子多智能体] 意图识别 → 命中“账号问题” → 路由到“账号问题”工作流
↓
[“账号问题”工作流] 引导用户完成账号找回流程 → 终止 用户: 系统一直报错 500,无法使用
↓
[一级控制器多智能体] 意图识别 → 命中“售后支持” → 路由到“售后支持”子多智能体
↓
[二级控制器“售后支持”子多智能体] 意图识别 → 命中“技术故障” → 路由到“技术故障”工作流
↓
[“技术故障”工作流] “请您描述一下报错的具体场景和错误代码...” → 等待输入 → 继续收集用户信息(例如报错信息) 全局意图中断
在任何对话阶段,全局意图始终优先于子智能体意图进行检测。一旦用户触发全局意图,立即中断当前业务流程,执行全局意图的处理逻辑。
全局意图与结束工作流的交互规则:
- 全局意图触发“终止”后,结束工作流仍然执行(如果已配置),确保会话收尾逻辑(如日志记录、满意度评价、结束语)依然完整。
- 全局意图触发“继续”或“等待输入”后,流程按执行动作继续,结束工作流在所有子智能体执行完毕后才触发。
全局意图中断示例
以“智能外呼系统”多智能体为例,用户拨通后,系统运行起始工作流,播报欢迎语,用户咨询产品期间,随时可能说“不感兴趣”、“转人工”或“重新开始”等中断对话。此时,根据系统配置的处理方式,执行对应的动作。
执行流程示例1(当用户说“不感兴趣”时):
[起始工作流] → 您好,xx,我是专属顾问…… ↓ [控制器] → 调度“产品介绍”子工作流 ↓ [“产品介绍”工作流] →“我们的产品具有以下优势...”→ 等待输入 ↓ 用户: “没兴趣,别打了” ↓ [全局意图检测] → 命中“不感兴趣”(优先级高于子工作流路由) ↓ [直接应答] → "好的,祝您生活愉快!" → 执行动作: 终止 ↓ [结束工作流] → 记录通话结果 → 任务结束
执行流程示例2(当用户说“转人工”时):
[起始工作流] → 您好,xx,我是专属顾问…… ↓ [控制器] → 调度“异议处理”子工作流 ↓ [“异议处理”工作流] →“理解您的顾虑,这款产品其实……”→ 等待输入 ↓ 用户: “转人工” ↓ [全局意图检测] → 命中“转人工”(优先级高于子工作流路由) ↓ [流程跳转] → 跳转至“人工转接”工作流 → 转接客服 → 执行动作: 终止 ↓ [结束工作流] → 记录通话结果 → 任务结束


