
引言“你同時用著 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 與技能的市場每一個都經過真實企業工作流驗證去掉浮夸留下真正有用的。歡迎訪問我的個人主頁發現更多有價值的見解和有趣的產品。