动态编排与显式编排
runTeam() 从目标生成任务 DAG,runTasks() 运行你定义的任务图,runAgent() 则覆盖单智能体场景。
OpenAI Agents SDK 是一个轻量、基于 handoff、默认开启追踪的框架;open-multi-agent 使用任务 DAG,并保持提供方中立。主要差别是编排模型与提供方耦合。
你以 OpenAI 平台为中心,偏好 handoff 模型,并希望追踪默认开启。
你想要提供方中立、目标驱动的 TypeScript 编排,带硬性 token 预算和精简的足迹。
| 维度 | open-multi-agent | OpenAI Agents SDK |
|---|---|---|
| 语言 / 运行时 | TypeScript 原生,可嵌入任意 Node.js 18+ 后端 | Python 优先;官方 TypeScript 移植(@openai/agents),两者均为 pre-1.0 |
| 编排范式 | 三种模式:单智能体、显式任务 DAG,或由协调器在运行时拆解目标 | Handoff,一个智能体委派给另一个;智能体也可作为工具 |
| 运行时依赖 | 3 个直接依赖(Anthropic SDK、OpenAI SDK、Zod),额外提供方与 MCP 为按需 peer 依赖 | 7 个直接依赖(Python)/ 2 直接 + peer(JS) |
| 模型混编 | 支持,同一个团队里的每个智能体都可使用各自的云端或本地模型 | 支持,按智能体设 model=(兼容 OpenAI 的端点、LiteLLM) |
| 运行预算控制 | 通过 maxTokenBudget 设置 token 上限,或通过 maxCostBudget 与应用自有的 estimateCost 价格表设置估算美元上限 | 无硬上限,max_turns 计的是步数;用量仅作报告 |
| 可观测性 | TraceRecord v2 + TraceStore、可选的一方 OTel 适配器,以及离线的运行后 Run Viewer | 内置追踪默认开启(OpenAI 仪表盘)+ 25 个以上外部 processor |
OMA 不只是目标拆解与少量依赖。以下均为项目 README 已记录的当前框架能力。
runTeam() 从目标生成任务 DAG,runTasks() 运行你定义的任务图,runAgent() 则覆盖单智能体场景。
计划可检查、可审批,也可冻结为数据后重放。结果可用 Zod 校验,还支持按智能体流式输出、取消运行,以及提议者与裁判组成的共识校验。
调度器并行运行互不依赖的分支。任务重试与检查点让中断的运行恢复时不重复已完成任务。
通过轮次、token、估算成本、超时、上下文与循环控制限制工作量。工具默认拒绝授权,链路数据默认脱敏敏感信息。
运行在你自己的 Node.js 后端、本地、离线或气隙环境中。同一团队可混用云端与本地模型,并可接入 MCP 工具及 ACP 或进程后端的外部智能体。
稳定运行标识、TraceStore,以及离线 DAG 与 Waterfall Viewer 均不依赖托管服务。可选 OTel 适配器与 EvalSet 可把运行接入生产遥测和 CI 门禁。
Agents SDK 通过 handoff 编排:一个智能体委派给另一个,控制权沿链条传递。智能体也可作为工具暴露。open-multi-agent 则通过拆解编排:协调器构建任务 DAG,并行运行相互独立的任务。SDK 默认开启追踪,并支持外部 processor。OMA 提供 TraceRecord v2、TraceStore、面向应用自有 provider 的可选一方 OTel 适配器,以及离线 Run Viewer。SDK 以 OpenAI 为中心,OMA 则保持提供方中立。
如果你的世界以 OpenAI 为中心、喜欢 handoff 模型、想要开箱即用的追踪,就选 OpenAI Agents SDK。它精简、埋点到位。它的 TypeScript 移植是官方的,不过它和 Python 包都还在 pre-1.0,所以要预期一些变动。
OpenAI Agents SDK 的 GitHub↗open-multi-agent 适合你想保持提供方中立,在同一个团队里混用 Anthropic、Gemini、OpenAI、本地模型,或任何兼容 OpenAI 的端点,并且更愿意拆解目标、而非接线 handoff。它 TypeScript 原生、三个依赖,其 maxTokenBudget 给出一道 Agents SDK 所没有的硬性花费上限。
open-multi-agent 采用 MIT 许可、可自行免费运行。当你需要在期限内交付、集成,或获得支持时,元定义科技(YuanASI)提供商业交付与支持。