动态编排与显式编排
runTeam() 从目标生成任务 DAG,runTasks() 运行你定义的任务图,runAgent() 则覆盖单智能体场景。
这两者处在不同的层。Vercel AI SDK 是一个轻量工具包,用来和模型对话,单个智能体、工具、流式。open-multi-agent 是它之上的编排层:描述一个目标,得到一张多智能体的任务 DAG。你甚至可以把 OMA 跑在 AI SDK 之上。
你想要一个轻量、提供方中立的工具包,服务单个智能体,模型调用、工具使用、流式,编排部分你自己来。
你需要模型调用之上的编排,包括动态或显式任务 DAG、依赖调度、审批、恢复、预算和多智能体链路。
| 维度 | open-multi-agent | Vercel AI SDK |
|---|---|---|
| 语言 / 运行时 | TypeScript 原生,可嵌入任意 Node.js 18+ 后端 | TypeScript 原生;本组里最精简 |
| 编排范式 | 三种模式:单智能体、显式任务 DAG,或由协调器在运行时拆解目标 | 单智能体的工具调用循环(generateText / streamText / Agent,stopWhen);多智能体是你自己搭的手工组合 |
| 运行时依赖 | 3 个直接依赖(Anthropic SDK、OpenAI SDK、Zod),额外提供方与 MCP 为按需 peer 依赖 | 3 个直接依赖(@ai-sdk/gateway、provider、provider-utils) |
| 模型混编 | 支持,同一个团队里的每个智能体都可使用各自的云端或本地模型 | 支持,设计上提供方中立,每个智能体循环一个模型 |
| 运行预算控制 | 通过 maxTokenBudget 设置 token 上限,或通过 maxCostBudget 与应用自有的 estimateCost 价格表设置估算美元上限 | 无硬性 token 上限,stopWhen / stepCountIs 是步数条件 |
| 可观测性 | TraceRecord v2 + TraceStore、可选的一方 OTel 适配器,以及离线的运行后 Run Viewer | experimental_telemetry 发出 OpenTelemetry span |
OMA 不只是目标拆解与少量依赖。以下均为项目 README 已记录的当前框架能力。
runTeam() 从目标生成任务 DAG,runTasks() 运行你定义的任务图,runAgent() 则覆盖单智能体场景。
计划可检查、可审批,也可冻结为数据后重放。结果可用 Zod 校验,还支持按智能体流式输出、取消运行,以及提议者与裁判组成的共识校验。
调度器并行运行互不依赖的分支。任务重试与检查点让中断的运行恢复时不重复已完成任务。
通过轮次、token、估算成本、超时、上下文与循环控制限制工作量。工具默认拒绝授权,链路数据默认脱敏敏感信息。
运行在你自己的 Node.js 后端、本地、离线或气隙环境中。同一团队可混用云端与本地模型,并可接入 MCP 工具及 ACP 或进程后端的外部智能体。
稳定运行标识、TraceStore,以及离线 DAG 与 Waterfall Viewer 均不依赖托管服务。可选 OTel 适配器与 EvalSet 可把运行接入生产遥测和 CI 门禁。
Vercel AI SDK 是原语:一套提供方中立的接口,负责模型调用、工具使用与流式,外加一个 Agent 抽象,跑单个工具调用循环直到 stopWhen。多智能体协作是你自己在其上组合出来的。open-multi-agent 就是那一层协作,协调器在运行时把目标拆解成任务 DAG,并行运行相互独立的任务,交给你一个带类型的结果。二者与其说竞争,不如说互补:OMA 自带一个 AI SDK bridge,于是 SDK 可以作为 OMA 团队之下的模型层。
当你需要提供方中立的模型、工具与流式原语,并打算自己掌控控制流时,Vercel AI SDK 合适。它的 Agent 抽象处理单个工具调用循环,多智能体协作则保留在应用代码中。
Vercel AI SDK 的 GitHub↗open-multi-agent 适合你想要现成的编排、而非手工搭建:一个从目标出发规划任务 DAG 的协调器、一次运行里混编模型的团队,以及一道硬性 maxTokenBudget 上限。而且你不必二选一,把 OMA 跑在 AI SDK 之上,底下继续用 SDK 的提供方层。
open-multi-agent 采用 MIT 许可、可自行免费运行。当你需要在期限内交付、集成,或获得支持时,元定义科技(YuanASI)提供商业交付与支持。