动态编排与显式编排
runTeam() 从目标生成任务 DAG,runTasks() 运行你定义的任务图,runAgent() 则覆盖单智能体场景。
两者都是 TypeScript 原生、都在积极开发,真正的差别在覆盖面。Mastra 是开箱即全的框架,open-multi-agent 是一个精简、目标驱动的内核。
你想要一个 all-in-one 的 TypeScript 框架,图式 workflow、内置记忆与 RAG、evals、一个开发调试台,一站备齐。
你想要一个小内核(三个依赖)、用目标驱动的拆解代替手搭 workflow 图,以及一道硬性 token 预算上限。
| 维度 | open-multi-agent | Mastra |
|---|---|---|
| 语言 / 运行时 | TypeScript 原生,可嵌入任意 Node.js 18+ 后端 | TypeScript 原生;运行于 Node.js |
| 编排范式 | 三种模式:单智能体、显式任务 DAG,或由协调器在运行时拆解目标 | 智能体,加上图式 workflow(.then / .branch / suspend),内置记忆、RAG 与 evals |
| 运行时依赖 | 3 个直接依赖(Anthropic SDK、OpenAI SDK、Zod),额外提供方与 MCP 为按需 peer 依赖 | @mastra/core 约 32 个直接依赖;构建于 Vercel AI SDK 的提供方层之上 |
| 模型混编 | 支持,同一个团队里的每个智能体都可使用各自的云端或本地模型 | 支持,通过 AI SDK 的模型接口按智能体设模型 |
| 运行预算控制 | 通过 maxTokenBudget 设置 token 上限,或通过 maxCostBudget 与应用自有的 estimateCost 价格表设置估算美元上限 | 无硬性 token 上限,maxSteps 限制智能体步数 |
| 可观测性 | TraceRecord v2 + TraceStore、可选的一方 OTel 适配器,以及离线的运行后 Run Viewer | OpenTelemetry 链路追踪,外加一个本地开发调试台用于查看运行 |
OMA 不只是目标拆解与少量依赖。以下均为项目 README 已记录的当前框架能力。
runTeam() 从目标生成任务 DAG,runTasks() 运行你定义的任务图,runAgent() 则覆盖单智能体场景。
计划可检查、可审批,也可冻结为数据后重放。结果可用 Zod 校验,还支持按智能体流式输出、取消运行,以及提议者与裁判组成的共识校验。
调度器并行运行互不依赖的分支。任务重试与检查点让中断的运行恢复时不重复已完成任务。
通过轮次、token、估算成本、超时、上下文与循环控制限制工作量。工具默认拒绝授权,链路数据默认脱敏敏感信息。
运行在你自己的 Node.js 后端、本地、离线或气隙环境中。同一团队可混用云端与本地模型,并可接入 MCP 工具及 ACP 或进程后端的外部智能体。
稳定运行标识、TraceStore,以及离线 DAG 与 Waterfall Viewer 均不依赖托管服务。可选 OTel 适配器与 EvalSet 可把运行接入生产遥测和 CI 门禁。
Mastra 把整个设计面,智能体、用 .then()/.branch() 组合的图式 workflow,加上记忆、RAG 与 evals,都打包进一个框架。open-multi-agent 则把内核做小,把目标交给协调器,由它在运行时拆解成任务 DAG 并自动并行。Mastra 构建于 Vercel AI SDK 提供方层之上,内核约 32 个直接依赖;OMA 是三个,额外提供方与 MCP 仅在按需时加载。
当你需要一套 TypeScript 技术栈,同时包含可暂停与恢复的图式 workflow、人工介入控制、记忆、RAG、evals 与开发调试台时,Mastra 合适。工作流步骤由你显式编写。
Mastra 的 GitHub↗open-multi-agent 适合你想保持精简、并让计划替你生成的场景。协调器在运行时把目标拆解成任务 DAG,于是你描述结果、而非接线 workflow 图;内核只有三个依赖;maxTokenBudget 给出一道会中止运行的硬性花费上限,这是 Mastra 在 token 层面没有提供的护栏。
open-multi-agent 采用 MIT 许可、可自行免费运行。当你需要在期限内交付、集成,或获得支持时,元定义科技(YuanASI)提供商业交付与支持。