为何使用多智能体?
在以下一种或多种需求出现时,多智能体模式会很有用:- 上下文管理:在不压垮模型上下文的前提下暴露专项知识。当上下文与延迟都有限时,需要按步骤或按智能体只呈现相关内容。
- 分工开发:让不同团队负责不同能力(如技能、子智能体、专家),并在清晰边界下组合使用。
- 并行化:对子任务并行运行专职工作者,以降低延迟。
- 结构化流程:强制顺序(如先分类再路由,或循环直到满足条件)或按角色交接(如销售 vs 支持),单智能体难以自然保证这些约束。
支持的模式
AgentScope 支持以下多智能体模式,每种都有独立页面说明实现与示例。如何选型
工作流(workflow)vs 对话(conversational)
从整体上,多智能体模式可分为 工作流(workflow) 与 对话(conversational) 两类:- 工作流模式:包含 Pipeline、Routing、Custom Workflow。流程在智能体或节点之间流转,每个节点都可能与用户交互。
- 对话模式:包含 Supervisor、Subagents、Skills。智能体的决策在连续的对话上下文中进行,通常只有主智能体与用户交互并将结果输出给用户。
Routing 与 Supervisor 的区别
两种模式都能把工作分发给多个智能体,但路由决策的方式不同:- Routing(路由):有一个独立的路由步骤(通常是一次 LLM 分类或规则逻辑),对当前输入做分类后分发给一个或多个专家;路由器本身不维护对话历史,也不做多轮编排,本质是预处理。适合输入类别清晰、希望用轻量或确定性分类、一次请求完成「分类 → 专家 → 合并」的场景。
- Supervisor(监督者):由主监督者智能体在持续对话中动态决定下一步调用哪个专家(以工具形式);主智能体维护上下文,可在多轮中多次调用不同专家,编排复杂多步流程。适合需要灵活、对话感知的编排、由 LLM 根据演进中的上下文决定下一步的场景。
Skills 与 Subagents / Supervisor 的区别
主要区别在于上下文是否隔离:- Skills(技能):技能内容(如
SKILL.md)通过工具(如read_skill)按需加载到主智能体的上下文中,与主智能体共享同一段对话上下文,无法隔离。主智能体只有一个进程、一段上下文,只是按需把大段领域文本拉进来。适合「一个智能体多种专长、按需加载」、且不需要独立执行或隔离上下文的场景。 - Subagents / Supervisor(子智能体 / 监督者):子智能体或专家在独立调用或独立会话中执行,与主智能体(编排者或监督者)的对话上下文隔离;每次调用可带独立的系统提示与工具集,结果汇总回主智能体。适合需要隔离执行、避免上下文污染、或对专家做工具/权限限制的场景。
选型快速参考
组合使用:可以混用。例如监督者用 Agent as Tool 调用专家;子智能体编排智能体用 Skills 做按需上下文;图中某段用 Handoffs、另一段用 Routing。按流程各部分需求选择最合适的模式即可。
小结
- Pipeline:预定义流程(顺序、并行、循环)。
- Routing:分类 → 专家 → 综合。
- Skills:单智能体按需加载专项提示/内容。
- Subagents:一个编排智能体委托给多个任务式子智能体。
- Supervisor:一个智能体将专家以「一专家一工具」方式路由与合并。
- Handoffs:图中通过工具驱动状态切换「当前」智能体。
- Multi-Agent Debate:辩手 + 主持人 + 明确结束条件。
- Custom Workflow:自定图结构,混合确定性步骤与智能体步骤。