多 agent 系统
多 agent 系统将任务分配给多个 agent,而不是让单个 agent 包揽一切。在 Mastra 中,这通常意味着组合使用 agents、workflows,或两者兼用,使系统的每个部分都有清晰的角色。
目标是把握正确的上下文、工具和职责分配给正确的组件。当这种拆分清晰时,多 agent 系统往往比一个承载着冗长提示词、过多工具或职责的 agent 更容易推理。
何时使用多 agent 系统何时使用多 agent 系统的直接链接
当单个 agent 不再是这项工作的合适边界时,就该使用多 agent 系统。
常见情况包括:
- 任务横跨不同类型的工作,例如研究、规划、写作或审阅。
- 单个 agent 需要过多上下文或过多工具。
- 任务的某些部分应当并行运行。
- 不同阶段需要不同的提示词、模型或护栏(guardrail)。
- 你希望在路由、执行和综合之间建立清晰的边界。
尽可能先从单个 agent 开始。只有当新增结构能明显提升质量、速度或可靠性时,才添加更多 agent。
当系统需要在各组件之间清晰地划分上下文、决策和职责时,多 agent 模式会很有用。在实践中,关键的设计问题是:随着任务推进,哪个组件始终保持控制权。
HandoffHandoff的直接链接
Handoff 模式将控制权从一个 agent 转移到另一个 agent。与 supervisor 模式不同,第一个 agent 不会在整个任务期间保持主导。相反,当前活跃的专家会接管交互的下一部分。
当希望下一位专家直接继续交互,而不是通过中央协调者汇报时,请使用 handoff。代价是上下文管理变得更加重要,因为系统必须决定下一个 agent 继承哪些内容,以及哪些内容保持隔离。
在 Mastra 中,可组合使用 agents、workflows 和 memory 来实现此模式。workflow 可以负责路由任务,但该模式的决定性特征是控制权转移到下一个 agent。
WorkflowWorkflow的直接链接
Workflow 模式在代码中定义执行路径。你通过步骤、分支、循环和并行块来定义顺序,而不是让 agent 决定接下来发生什么。
当任务边界清晰、执行路径可以事先确定时,请使用 workflow。主要优势是可预测性:显式的结构让系统更容易调试和审计。代价是灵活性,因为当任务在执行过程中发生变化时,workflow 的适应能力较弱。
在 Mastra 中,workflows 可以实现 handoff 和 council 等协调模式。workflow 的独特之处在于其控制逻辑存在于 workflow 本身,无论它调用哪些 agent。
SupervisorSupervisor的直接链接
Supervisor 模式让一个主导 agent 在整个任务期间保持控制。supervisor 决定何时委托、调用哪位专家、传递什么上下文,以及如何合并结果。
当任务开放、完整执行序列无法事先确定时,请使用此模式。例如,研究任务可能需要根据前面步骤发现的内容来决定不同的调查方向。supervisor 可以随着任务推进而调整。 代价是 supervisor 成为主要的协调点。这使模式很灵活,但也意味着结果在很大程度上取决于良好的委托行为和清晰的子 agent 边界。
在 Mastra 中,此模式直接对应 supervisor agents。supervisor 通过 agents 属性定义子 agent,再用 stream() 或 generate() 协调它们。Mastra 通过委托钩子和消息过滤来帮助控制此模式,并在 agent 之间实现 memory 隔离。
请参阅 supervisor agents 教程,获取分步指南。
CouncilCouncil的直接链接
Council 模式让多个 agent 独立处理同一个问题,然后比较或综合它们的输出,形成一个最终答案。与将问题拆分为多个部分的 supervisor 不同,council 让问题保持共享,并为同一个问题引入多种视角。
当问题模糊、需要评估或风险较高,且答案质量比速度更重要时,请使用此模式。代价是成本,因为 council 会有意重复工作,通常比其他模式耗时更长、消耗更多 token。
Mastra 没有提供专门的 council 原语。在 Mastra 中,可使用 agents 和 workflows 实现此模式:并行运行多个 agent 并收集它们的输出,然后添加最终的综合作或审阅步骤。.parallel() 等 workflow 控制流方法为该模式提供了结构。
选择模式选择模式的直接链接
这些模式的主要区别在于控制权如何分配:
| 模式 | 谁保持控制 | 适用场景 | 代价 | Mastra 实现 |
|---|---|---|---|---|
| Handoff | 当前专家 | 控制权应在专家之间转移 | 上下文传递变得更加重要 | Agents 配合 workflows 和 memory |
| Workflow | 执行图 | 路径可事先确定 | 任务变化时适应性较弱 | Workflows |
| Supervisor agents | 一个主导 agent | 委托需要在执行过程中自适应 | 结果取决于良好的协调和清晰的边界 | Supervisor agents |
| Council | 最终综合步骤 | 任务需要多个独立视角 | 成本和延迟更高 | Agents 配合 workflow 并行 |
在实践中,这些模式通常会组合使用:
- 一个 workflow 可以包含一个或多个由 supervisor 驱动的步骤。
- handoff 流程可以以一个路由 workflow 开始。
- council 可以在 workflow 内运行,并汇入最终的审批步骤。
- supervisor 可以将内部结构固定的任务委托给 workflow。
应根据协调问题而不是任务标签来选择模式。