引言
"你同时用着 Claude Code 和 Codex,一个擅长规划,另一个跑得快。但你只能在两个工具之间手动复制粘贴输出。"
这是「每日一个开源项目」系列的第 180 篇。今天的项目是 Omnigent —— Databricks 联合创始人 Matei Zaharia 主导开源的 AI agent 元编排框架,2026 年 6 月发布,8,100 颗 Star。
Omnigent 的定位很明确:它不是又一个 AI coding agent,而是坐在现有 agent 之上的那一层——元编排层(meta-harness)。就像 Kubernetes 不替代服务器,只是在服务器之上提供编排、策略、可观测性,Omnigent 让 Claude Code、Codex、Cursor、Pi 等工具成为可统一管理的组件,而不是一堆各自为政的独立工具。
如果你用过多个 AI coding 工具,这个问题你大概遇到过:每个工具有自己的界面、各自的 API key 管理、不同的上下文和会话,在团队里还要各自配置权限和预算。Omnigent 解决的是这整个层面的问题。
8,100 颗 Star,1,200 个 Fork,Apache 2.0,Alpha 阶段。
你会学到什么
- 什么是"元编排层",Omnigent 和 agent 框架的关系
- 策略治理(Policy Governance):三层策略如何控制 token 预算和工具访问
- 云沙箱:bwrap/seatbelt 本地隔离 + Modal/E2B/Daytona 云执行
- 多 Agent 编排:YAML 定义子 Agent、并行 worktree、跨厂商 reviewer
- 实时协作:会话共享、共驾、分叉
- MLflow Tracing 集成:跨 harness 的统一可观测性
前提知识
- 使用过 Claude Code、Codex 或 Cursor 中的至少一个
- 了解 AI coding agent 的基本概念(上下文、工具调用、system prompt)
- 熟悉 YAML 配置格式
问题背景:碎片化的 Agent 生态
2026 年的 AI coding 工具市场:Claude Code 有 claude-sdk 和 claude-native 两种模式,Codex 有自己的 CLI,Cursor 集成在 IDE 里,OpenCode、Hermes、Pi 各有差异。每个工具都有能力,但每个工具也都是孤岛。
Matei Zaharia(Apache Spark 的创始人,Databricks 联合创始人)在带领 Databricks 5,000+ 人工程团队推进 AI agent 落地时,直接撞上了这个问题:
- 不同 agent 有不同的能力,一个任务可能需要多个 agent 协作
- 每个 agent 的输出要手动转移到下一个工具
- 团队级别的策略管控无从下手(谁能访问哪些工具?token 预算多少?)
- 没有统一的可观测性,不知道哪个 agent 花了多少钱、做了什么决策
Omnigent 从实际部署经验中提炼出来,解决的是同一套问题。
核心架构:元编排层
Omnigent 的架构分三层:
┌─────────────────────────────────────────┐
│ Omnigent Server │
│ 策略治理 / 协作 / 可观测性 / API │
├─────────────────────────────────────────┤
│ Omnigent Runner │
│ 沙箱 / 统一 API / 会话管理 │
├──────────┬──────────┬───────────────────┤
│ claude-sdk│ codex │ cursor / pi / … │
│ (harness) │(harness) │ (harnesses) │
└──────────┴──────────┴───────────────────┘- Harness(执行层):各个现有 agent 工具——claude-sdk、claude-native、codex、codex-native、cursor、hermes、opencode、pi、openai-agents
- Runner(运行时层):把任意 harness 包装进一个沙箱化的会话,对外提供统一 API
- Server(服务层):策略执行、会话共享、跨设备同步
Omnigent 的论文类比:Omnigent 之于 AI agent,如同 Kubernetes 之于服务器。Kubernetes 不替代服务器,只是在上面加了编排、弹性、策略;Omnigent 不替代 Claude Code,只是在上面加了统一管控。
策略治理(Policy Governance)
策略是 Omnigent 的核心差异点之一,支持三级叠加:
服务器级别(所有 agent 共享)
↓
Agent 级别(特定 agent 定义)
↓
会话级别(单次任务动态调整)成本控制
# 在 agent 定义里设置 token 预算
policies:
cost:
max_tokens_per_session: 50000
max_tokens_per_turn: 5000
alert_at: 40000 # 达到 40k 时提醒
pause_at: 50000 # 达到 50k 时暂停Agent 超出预算后自动暂停,等待人工确认继续还是停止。这解决了 AI agent 在复杂任务里悄悄消耗大量 token 却没有预警的问题。
工具访问控制
策略可以做有状态的条件限制,不只是简单的白名单/黑名单:
policies:
tools:
# 下载 npm 包之后,要求人工批准才能 git push
- condition: "after:tool:npm_install"
require_approval: ["git_push"]
# 永远不允许 agent 直接读取 .env 文件
- block: ["read_file:.env*"]
# agent 可以调用 API,但凭据通过代理注入,不让 agent 直接看见
- network:
egress_proxy: "https://my-credential-proxy"
direct_credential_access: false"下载 npm 包之后要求批准 git push"这种有状态规则,在以往的 agent 工具里很难做到。
云沙箱
Omnigent 支持两种沙箱方式:
本地 OS 沙箱
- Linux: bwrap(Bubblewrap)命名空间隔离
- macOS: seatbelt 沙箱
- Windows: Windows Job Objects(支持有限,无 PTY/tmux wrapper)
云执行环境
不需要在本机跑 agent,可以接入云沙箱:
| 提供商 | 适用场景 |
|---|---|
| Modal | 无状态函数型任务 |
| E2B | 代码执行沙箱 |
| Daytona | 开发环境 |
| Kubernetes | 企业私有云 |
| CoreWeave | GPU 密集型任务 |
| Databricks | 数据分析任务 |
多 Agent 编排:YAML 定义
Omnigent 的 agent 用 YAML 定义,一个 agent 可以把其他 agent 作为工具来调用:
# 基础 agent 定义
name: my_coder
prompt: |
You are an expert Python developer.
Focus on correctness and test coverage.
executor:
harness: claude-sdk
tools:
run_tests:
type: function
callable: mypackage.testing.run_pytest
search_docs:
type: mcp
url: https://docs-mcp.example.com多 Agent 模式:Polly
Omnigent 内置了一个名为 Polly 的示例——一个多 Agent 编排器,展示了并行 worktree 模式:
name: polly
prompt: |
You are a supervisor coordinating multiple coding agents.
Delegate coding tasks to sub-agents, then route diffs to reviewers.
tools:
coder_a:
type: agent
harness: claude-sdk
prompt: "Implement the feature in a git worktree"
coder_b:
type: agent
harness: codex
prompt: "Implement the same feature independently"
reviewer_anthropic:
type: agent
harness: claude-sdk
prompt: "Review the diff for correctness"
reviewer_openai:
type: agent
harness: codex
prompt: "Review the diff for security issues"这个模式:
- 两个不同 harness 的 coder 在独立的 git worktree 里并行实现同一功能
- 完成后把 diff 路由给两个不同厂商的 reviewer
- supervisor 综合评审意见,做出最终决策
双头 Agent:Debby
另一个示例是 Debby —— 同时跑 Claude 和 GPT,内置 /debate 模式:
用户提问
→ Claude 给出答案 A
→ GPT 给出答案 B
→ /debate 触发:两个模型互相评价对方的答案
→ Debby 综合两边的论点,给出最终回答实时协作
Omnigent 的协作功能把 agent 会话变成多人可见的工作空间:
会话共享
# 生成一个可分享的 URL
omnigent share <session_id>
# → https://omnigent.ai/s/abc123队友打开这个 URL,可以实时看到 agent 的输出,可以插入命令,可以接管会话。
会话分叉
# 从一个已有会话分叉,保留上下文但独立发展
omnigent run --fork <session_id>这个功能在 code review 场景里特别有用:主 agent 完成了一个实现,分叉出两个会话分别用不同的 reviewer agent 评审,最后把结论合并回主会话。
身份认证
支持 OIDC 登录:Google / GitHub / Okta / Microsoft
邀请制:单次使用的邀请链接MLflow Tracing 集成
Omnigent 与 MLflow Tracing 的集成提供跨 harness 的统一可观测性。配置只需几行:
uv tool install omnigent mlflow
export MLFLOW_TRACKING_URI="http://your-mlflow-server:5000"
export OMNIGENT_TELEMETRY_ENABLED="true"
omnigent run每次 agent 执行,MLflow 自动记录:
- Agent 的每一轮对话(prompt + response)
- 工具调用及参数、结果、耗时
- 每轮的 token 消耗
- 会话元数据(模型名、agent 名、harness 类型)
实际用途:
- 模型对比:同一任务分别用 Claude 和 GPT,对比成本和质量
- A/B 测试:评估不同 MCP server 提供商的性价比
- 团队洞察:哪个 harness 擅长规划?哪类请求最慢?feature 和 bug 各花了多少时间?
安装和快速上手
# 安装(推荐用 uv)
uv tool install omnigent
# 或者用 pip
pip install omnigent
# 启动(选择模型后自动打开 localhost:6767)
omnigent
# 简写别名
omni
# 升级
omni upgrade启动后浏览器自动打开 http://localhost:6767,提供图形界面配置 agent 和查看会话。也可以直接在终端里交互。
部署到服务器
# Docker
docker run -p 6767:6767 omnigentai/omnigent
# 支持的托管平台:Render, Railway, Fly.io, Cloudflare部署到服务器后,团队成员通过 OIDC 登录,共享同一个 Omnigent 实例,所有策略和协作功能统一在服务端管理。
项目地址与资源
- 🌟 GitHub: omnigent-ai/omnigent
- 🌐 官网: omnigent.ai
- 📝 Databricks 博客: 《Introducing Omnigent: A Meta-Harness to Combine, Control and Share Your Agents》
- 📊 MLflow 集成: mlflow.org/blog/omnigent-mlflow-tracing
- 👤 主要作者: Matei Zaharia(Databricks 联合创始人,Apache Spark 发明者)
总结
Omnigent 的切入点不是"造一个更好的 AI coding agent",而是"当你已经有多个 agent,怎么把它们变成一个系统"。
从 Databricks 在 5,000 人工程团队里落地 AI agent 的实际经验来看,这个问题是真实的:工具碎片化、策略无从统一、团队协作没有基础设施、可观测性几乎空白。Omnigent 把这些问题一次打包处理——元编排层 + 策略治理 + 沙箱 + 协作 + 可观测性,构成一个完整的 agent 运营体系。
"元编排层"这个概念本身值得记住。随着 AI agent 工具越来越多、越来越专业化,需要这一层的场景只会增加,不会减少。今天是 Claude Code + Codex,明天可能是五个更专业化的工具,而 Omnigent 要解决的那些问题——策略、成本、协作、可观测性——在每种组合里都会存在。
探索 PrimeSkills —— 精选 AI Agent 与技能的市场,每一个都经过真实企业工作流验证,去掉浮夸,留下真正有用的。
欢迎访问我的个人主页,发现更多有价值的见解和有趣的产品。