ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

开源项目第180期:Omnigent — Databricks 出品的 AI Agent 元编排层,让 Claude Code、Codex、Cursor 统一管控

开源项目第180期:Omnigent — Databricks 出品的 AI Agent 元编排层,让 Claude Code、Codex、Cursor 统一管控 引言“你同时用着 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 颗 Star1,200 个 ForkApache 2.0Alpha 阶段。你会学到什么什么是元编排层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 有自己的 CLICursor 集成在 IDE 里OpenCode、Hermes、Pi 各有差异。每个工具都有能力但每个工具也都是孤岛。Matei ZahariaApache 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-agentsRunner运行时层把任意 harness 包装进一个沙箱化的会话对外提供统一 APIServer服务层策略执行、会话共享、跨设备同步Omnigent 的论文类比Omnigent 之于 AI agent如同 Kubernetes 之于服务器。Kubernetes 不替代服务器只是在上面加了编排、弹性、策略Omnigent 不替代 Claude Code只是在上面加了统一管控。策略治理Policy Governance策略是 Omnigent 的核心差异点之一支持三级叠加服务器级别所有 agent 共享 ↓ Agent 级别特定 agent 定义 ↓ 会话级别单次任务动态调整成本控制# 在 agent 定义里设置 token 预算policies:cost:max_tokens_per_session:50000max_tokens_per_turn:5000alert_at:40000# 达到 40k 时提醒pause_at:50000# 达到 50k 时暂停Agent 超出预算后自动暂停等待人工确认继续还是停止。这解决了 AI agent 在复杂任务里悄悄消耗大量 token 却没有预警的问题。工具访问控制策略可以做有状态的条件限制不只是简单的白名单/黑名单policies:tools:# 下载 npm 包之后要求人工批准才能 git push-condition:after:tool:npm_installrequire_approval:[git_push]# 永远不允许 agent 直接读取 .env 文件-block:[read_file:.env*]# agent 可以调用 API但凭据通过代理注入不让 agent 直接看见-network:egress_proxy:https://my-credential-proxydirect_credential_access:false下载 npm 包之后要求批准 git push这种有状态规则在以往的 agent 工具里很难做到。云沙箱Omnigent 支持两种沙箱方式本地 OS 沙箱Linux: bwrapBubblewrap命名空间隔离macOS: seatbelt 沙箱Windows: Windows Job Objects支持有限无 PTY/tmux wrapper云执行环境不需要在本机跑 agent可以接入云沙箱提供商适用场景Modal无状态函数型任务E2B代码执行沙箱Daytona开发环境Kubernetes企业私有云CoreWeaveGPU 密集型任务Databricks数据分析任务多 Agent 编排YAML 定义Omnigent 的 agent 用 YAML 定义一个 agent 可以把其他 agent 作为工具来调用# 基础 agent 定义name:my_coderprompt:|You are an expert Python developer. Focus on correctness and test coverage.executor:harness:claude-sdktools:run_tests:type:functioncallable:mypackage.testing.run_pytestsearch_docs:type:mcpurl:https://docs-mcp.example.com多 Agent 模式PollyOmnigent 内置了一个名为Polly的示例——一个多 Agent 编排器展示了并行 worktree 模式name:pollyprompt:|You are a supervisor coordinating multiple coding agents. Delegate coding tasks to sub-agents, then route diffs to reviewers.tools:coder_a:type:agentharness:claude-sdkprompt:Implement the feature in a git worktreecoder_b:type:agentharness:codexprompt:Implement the same feature independentlyreviewer_anthropic:type:agentharness:claude-sdkprompt:Review the diff for correctnessreviewer_openai:type:agentharness:codexprompt:Review the diff for security issues这个模式两个不同 harness 的 coder 在独立的 git worktree 里并行实现同一功能完成后把 diff 路由给两个不同厂商的 reviewersupervisor 综合评审意见做出最终决策双头 AgentDebby另一个示例是Debby—— 同时跑 Claude 和 GPT内置/debate模式用户提问 → Claude 给出答案 A → GPT 给出答案 B → /debate 触发两个模型互相评价对方的答案 → Debby 综合两边的论点给出最终回答实时协作Omnigent 的协作功能把 agent 会话变成多人可见的工作空间会话共享# 生成一个可分享的 URLomnigent sharesession_id# → https://omnigent.ai/s/abc123队友打开这个 URL可以实时看到 agent 的输出可以插入命令可以接管会话。会话分叉# 从一个已有会话分叉保留上下文但独立发展omnigent run--forksession_id这个功能在 code review 场景里特别有用主 agent 完成了一个实现分叉出两个会话分别用不同的 reviewer agent 评审最后把结论合并回主会话。身份认证支持 OIDC 登录Google / GitHub / Okta / Microsoft 邀请制单次使用的邀请链接MLflow Tracing 集成Omnigent 与 MLflow Tracing 的集成提供跨 harness 的统一可观测性。配置只需几行uv toolinstallomnigent mlflowexportMLFLOW_TRACKING_URIhttp://your-mlflow-server:5000exportOMNIGENT_TELEMETRY_ENABLEDtrueomnigent run每次 agent 执行MLflow 自动记录Agent 的每一轮对话prompt response工具调用及参数、结果、耗时每轮的 token 消耗会话元数据模型名、agent 名、harness 类型实际用途模型对比同一任务分别用 Claude 和 GPT对比成本和质量A/B 测试评估不同 MCP server 提供商的性价比团队洞察哪个 harness 擅长规划哪类请求最慢feature 和 bug 各花了多少时间安装和快速上手# 安装推荐用 uvuv toolinstallomnigent# 或者用 pippipinstallomnigent# 启动选择模型后自动打开 localhost:6767omnigent# 简写别名omni# 升级omni upgrade启动后浏览器自动打开http://localhost:6767提供图形界面配置 agent 和查看会话。也可以直接在终端里交互。部署到服务器# Dockerdockerrun-p6767:6767 omnigentai/omnigent# 支持的托管平台Render, Railway, Fly.io, Cloudflare部署到服务器后团队成员通过 OIDC 登录共享同一个 Omnigent 实例所有策略和协作功能统一在服务端管理。项目地址与资源GitHub: omnigent-ai/omnigent官网: omnigent.aiDatabricks 博客: 《Introducing Omnigent: A Meta-Harness to Combine, Control and Share Your Agents》MLflow 集成: mlflow.org/blog/omnigent-mlflow-tracing主要作者: Matei ZahariaDatabricks 联合创始人Apache Spark 发明者总结Omnigent 的切入点不是造一个更好的 AI coding agent而是当你已经有多个 agent怎么把它们变成一个系统。从 Databricks 在 5,000 人工程团队里落地 AI agent 的实际经验来看这个问题是真实的工具碎片化、策略无从统一、团队协作没有基础设施、可观测性几乎空白。Omnigent 把这些问题一次打包处理——元编排层 策略治理 沙箱 协作 可观测性构成一个完整的 agent 运营体系。元编排层这个概念本身值得记住。随着 AI agent 工具越来越多、越来越专业化需要这一层的场景只会增加不会减少。今天是 Claude Code Codex明天可能是五个更专业化的工具而 Omnigent 要解决的那些问题——策略、成本、协作、可观测性——在每种组合里都会存在。探索 PrimeSkills —— 精选 AI Agent 与技能的市场每一个都经过真实企业工作流验证去掉浮夸留下真正有用的。欢迎访问我的个人主页发现更多有价值的见解和有趣的产品。
返回列表