暂无菜单项

Open Multi-Agent —— 描述目标而非流程图的 AI 多智能体编排框架

发布于
1

项目简介

Open Multi-Agent(简称 OMA)是一个面向 TypeScript 后端的 AI 多智能体编排框架,核心理念是「描述目标,而非流程图」。你只需告诉 OMA 你想达成什么目标,框架内置的 Coordinator 就会在运行时自动将目标拆解为任务 DAG(有向无环图),分派给团队中的各个 Agent 执行,最终汇总结果。

OMA 于 2026 年 3 月在 GitHub 开源,采用 MIT 许可证。截至本文撰写时已获得 6,646 Stars / 2,415 Forks,社区活跃度极高——从首次提交至今仅约 4 个月,已成为多智能体编排领域增长最快的项目之一。

Open Multi-Agent

安装要求与快速开始

环境要求

  • Node.js ≥ 18(推荐 LTS 版本)
  • TypeScript ≥ 5.6(OMA 使用最新 TS 特性)
  • npmyarn/pnpm 包管理器
  • LLM API Key(OpenAI / Anthropic / Gemini / DeepSeek 等,或本地模型如 Ollama)

方式一:脚手架创建(推荐新手)

# 一键创建项目并运行本地演示(无需 API Key)
npm create oma-app@latest my-oma-app

交互式终端会引导选择模板和运行时,安装依赖后直接启动一个确定性本地 Demo——无需任何 API Key,使用脚本化模拟响应驱动真实的调度器和离线 Dashboard。可用 --no-install 仅生成文件,或 --no-run 安装但不启动。

方式二:集成到现有 Node.js 项目

npm install @open-multi-agent/core
import {{ OpenMultiAgent }} from '@open-multi-agent/core'

const oma = new OpenMultiAgent({{
  defaultProvider: 'openai',
  defaultModel: 'gpt-5.4'
}})

// 创建研究团队:研究员 + 分析师 + 共享记忆
const team = oma.createTeam('research-team', {{
  agents: [
    {{ name: 'researcher', systemPrompt: 'Find the relevant facts.' }},
    {{ name: 'analyst', systemPrompt: 'Compare evidence and identify tradeoffs.' }}
  ],
  sharedMemory: true,
}})

// 只需描述目标,Coordinator 自动规划 DAG 并执行
const result = await oma.runTeam(team, 'Compare three approaches and recommend one.')
console.log(result.agentResults.get('coordinator')?.output)

三种执行模式:runTeam() 从目标规划执行、runAgent() 单 Agent 运行、runTasks() 显式流水线执行。

核心功能

OMA 工作原理

1. 动态工作流编排(Dynamic Orchestration)

这是 OMA 最核心的差异化能力。与传统框架需要手写 DAG 节点不同,OMA 的 Coordinator 在运行时根据目标描述生成任务图、分配角色、设定依赖关系,最后综合各 Agent 结果输出答案。整个流程不需要维护硬编码的流程图。

2. 可控执行(Controlled Execution)

  • 计划审批:预览并审批 Coordinator 生成的计划或单个分派操作,审批通过后可冻结计划用于回放复现
  • 约束声明:当拓扑不能漂移时,声明必需的角色和顺序;用多智能体共识验证输出正确性

3. 生产级可靠性

  • 检查点续跑:中断的运行可从最近检查点恢复
  • 边界控制:重试策略、超时限制、循环检测、Token 和成本预算确保执行有界
  • 工具安全:默认拒绝所有工具调用,逐个审批开启;支持隐私控制

4. 全链路可观测性

每次运行都有稳定身份标识、执行回执和完整追踪记录:

  • TraceStore:本地存储追踪数据,支持查询
  • Run Viewer:离线 Dashboard 回放真实运行的 Task DAG 和 Span 瀑布视图
  • OpenTelemetry 集成:可选 OTel 插件,与企业统一监控栈对接

5. 开放运行时(Open Runtime)

  • Agent 兼容:Process/ACP 后端让 Claude Code、Gemini CLI、Codex 与 LLM Agent 在同一 DAG 上协作
  • 模型自由:云+本地混合、原生中文大模型支持、OpenAI 兼容端点、AI SDK Provider
  • 部署灵活:自有基础设施、本地运行、完全离线、甚至气隙网络环境均可

典型使用场景

场景一:PR 自动审查(PR-Copilot)

开发者 kidoom 用 OMA 构建了 PR-Copilot——一个 AI Pull Request 审查助手。它运行一个由 Coordinator + 多个领域 Reviewer Agent 组成的审查团队,用 defineTool 定义仓库上下文工具,配合自定义 ContextStrategy 实现 Token 感知的 PR Diff 压缩。每次提交 PR 时自动触发多角度代码审查。

场景二:文档转图表工作室(Reports to Charts Studio)

NARNIX0 的 Evident-Project 将研究报告和表格数据转化为幻灯片级图表。OMA 在其中扮演五角色提取委员会的编排者:结构化输出 + 确定性验证,确保每个数据点都有据可查。

场景三:WordPress 安全分析平台(temodar-agent)

Ali Sünbül 的 WordPress 安全分析平台直接使用 OMA 内置工具(bash、file_*、grep)在 Docker 运行时中执行安全扫描任务,已确认在生产环境中使用。

推荐理由

作为长期关注 AI 编排框架的开发者,我对 OMA 的第一印象是:终于有人认真对待「动态」这件事了

目前市面上的主流方案大致分两派:LangGraph/Mastra 要求你手写节点和边(图优先),Vercel AI SDK/CrewAI 则偏单次调用工具包。OMA 找到了中间地带——你只管说目标,框架负责拆解、分配、执行、审计。这种「目标驱动」的范式在原型阶段特别高效,而它的可控执行机制又让你能逐步收紧边界,平滑过渡到生产环境。

另外几个让我印象深刻的点:

  1. 离线优先设计:Run Viewer 是纯离线 Dashboard,不依赖外部服务,这对隐私敏感场景非常友好
  2. 50+ 可运行示例:从基础用法到 Cookbook 工作流、Provider 配置、集成模式全覆盖,上手曲线平缓
  3. 真正的 TypeScript 原生:不是 JS 库加类型装饰,而是从底层就用 TS 5.6+ 特性构建,IDE 体验一流
  4. 生态开放:已有 Engram 记忆同步、Agentsonar 异常检测、Bilig WorkPaper 公式协作等多个第三方集成

如果你正在评估多智能体编排方案,或者对 LangGraph 的手动构图感到疲惫,强烈建议给 OMA 一个下午的时间——npm create oma-app@latest 跑一遍 Demo,你会感受到「描述目标而非流程图」的魅力。

下载地址

0 点赞
0 收藏
分享
0 讨论
反馈
0 讨论
热门最新
总结
暂无总结
0 / 600