动态、显式与路由编排
runTeam() 从目标生成任务 DAG,runTasks() 运行你定义的任务图,runAgent() 覆盖单智能体场景。显式 mode、治理声明或自定义 ExecutionRouter 选择 Single 或 Team 执行并暴露 routingDecision。可选开启的 hybrid 路由,只在确定性结果本会是 Single 的位置补一次语义评估——做决定的仍是确定性策略。计划仍可作为数据预览、审阅和重放。
两者都是 TypeScript 原生、都在积极开发,真正的差别在覆盖面。Mastra 是开箱即全的框架,open-multi-agent 是一个精简、目标驱动的内核。
你想要一个 all-in-one 框架,并愿意自己编写 workflow 图、背上更大的依赖面,以换取内置的记忆、RAG、evals 与调试台。
你想要一个小内核(三个依赖),跑在你自己的环境里——离线或气隙、用你自己的凭证——用目标驱动的拆解代替手搭 workflow 图,并在调用边界约束运行预算。
| 维度 | open-multi-agent | Mastra |
|---|---|---|
| 语言 / 运行时 | TypeScript 原生,可嵌入任意 Node.js 20+ 后端 | TypeScript 原生;要求 Node.js 22.13+ |
| 编排范式 | 单智能体、显式任务 DAG,或由协调器在运行时拆解目标;显式 mode、治理策略或 ExecutionRouter 选择执行拓扑,运行过程中还可以修订尚未执行的任务 | 智能体,加上需你手工编写的图式 workflow(.then / .branch / suspend);内置记忆、RAG 与 evals;另有一个独立的 beta Harness(AgentController)用于交互应用 |
| 运行时依赖 | 3 个直接依赖(Anthropic SDK、OpenAI SDK、Zod),额外提供方与 MCP 为按需 peer 依赖 | @mastra/core 约 32 个直接依赖;构建于 Vercel AI SDK 的提供方层之上 |
| 模型混编 | 支持,同一团队里每个智能体都可用各自的云端或本地模型;模型路由还能把规划交给旗舰模型、把叶子任务交给廉价模型 | 支持,按智能体经其 "provider/model" 路由设模型,叠在 Vercel AI SDK 提供方层之上 |
| 运行预算控制 | 运行级 token 与估算美元上限——maxTokenBudget,或配合应用自有 estimateCost 价格表的 maxCostBudget——在模型调用与任务派发边界检查;一个已在途的模型回合可能越过上限 | 无硬性 token 上限,maxSteps 限制智能体步数 |
| 可观测性 | TraceRecord v2 + TraceStore、稳定运行标识、可选的一方 OTel 适配器,以及离线的运行后 Run Viewer——无需任何托管服务 | 基于 OpenTelemetry 的链路追踪,自动提取指标,配 Mastra Studio 仪表盘 |
OMA 不只是目标拆解与少量依赖。以下均为项目 README 已记录的当前框架能力。
runTeam() 从目标生成任务 DAG,runTasks() 运行你定义的任务图,runAgent() 覆盖单智能体场景。显式 mode、治理声明或自定义 ExecutionRouter 选择 Single 或 Team 执行并暴露 routingDecision。可选开启的 hybrid 路由,只在确定性结果本会是 Single 的位置补一次语义评估——做决定的仍是确定性策略。计划仍可作为数据预览、审阅和重放。
声明必需或偏好的角色、有序审阅路径与预算感知降级。分别用 onPlanReady 审批计划、onTaskDispatch 审批一个就绪任务、onToolCall 审批一次高影响工具调用、onPlanPatch 审批运行中的每次计划修订,再检查 governanceConclusion。
依赖完成后,就绪的下游任务立即启动。硬性任务要求在每种指派策略下都会强制执行,无法满足的任务会被拒绝,而不是派发给不合格的智能体;taskResults 保留未经合并的任务输出,结构化依赖载荷携带受限的来源信息。重试与检查点从已完成任务边界恢复;可选开启的 repairable 恢复,还能在任务结果屏障处、于任何原有下游任务启动之前追加替代工作。
用轮次、token、估算成本、超时、上下文与循环上限约束每次运行。maxTokenBudget 与 maxCostBudget 在边界检查后停止后续调用;一个已在途的模型回合可能越过上限。模型路由支持有序 fallback。内置工具默认拒绝授权,链路数据以尽力而为方式脱敏检测到的敏感信息。
运行在你自己的 Node.js 后端——本地、离线或气隙环境,用你自己的凭证,无需任何托管服务。同一团队可混用云端与本地模型,接入 MCP 工具,并通过 ACP 或进程后端引入外部智能体。
稳定运行标识、路由决策、保护隐私的 execution receipt、TraceStore 与离线 Run Viewer 均无需托管服务。用版本化的 EvalSet 与 GateVerdict 评估质量,包括路由稳定性闸门,再通过可选 OTel 适配器把运行接入生产遥测。
Mastra 把整个面都打包进一个框架;智能体、需你用 .then()/.branch() 手工接线的图式 workflow、记忆、RAG 与 evals;另有一个独立的 beta Harness(AgentController)用于交互应用。这份“全”是有代价的:内核约 32 个直接依赖(叠在 Vercel AI SDK 提供方层之上)、要求 Node 22.13+,且 workflow 的持久性要靠一个存储后端与一个常驻 server 才能恢复。open-multi-agent 把内核控制在三个依赖,把目标交给协调器,由它在运行时拆解成任务 DAG 并自动并行——于是计划是生成出来、可审阅可重放的数据,而非你手工接线的图。它的检查点在任意 MemoryStore 上恢复已完成任务、无需持久化执行后端,而 evaluation、链路追踪与离线 Run Viewer 也都无需一个托管服务。
当你想要一套开箱即全的技术栈、并愿意自己编写 workflow 图时,Mastra 合适:内置记忆、RAG、evals 与调试台,若你愿意运行它所需的存储与 server,还能获得挂起/恢复的持久性。它专门的 Harness(仍是 beta)面向的是交互式、多模式的智能体应用,而非任务编排。
Mastra 的 GitHub↗open-multi-agent 适合你想要计划替你生成、且整个运行留在你自己环境里的场景。协调器在运行时把目标拆成任务 DAG,而这份计划是可检查、可重放的数据(planOnly → createPlanArtifact → runFromPlan),而非你手工编写的 workflow 图。它保持三个依赖、跑在 Node.js 20+ 上,用 maxTokenBudget(或 maxCostBudget)在调用与任务边界停止后续工作;一个已在途的模型回合仍可能越过上限。它还可以把规划交给旗舰模型、把叶子任务交给廉价模型。evaluation、链路追踪与离线 Run Viewer 全都无需托管服务,于是它能完全离线或气隙运行,用你自己的凭证。
open-multi-agent 采用 MIT 许可、可自行免费运行。当你需要在期限内交付、集成,或获得支持时,元定义科技(YuanASI)提供商业交付与支持。