Databricks 開源 Omnigent:一個跨 Claude Code、Codex 和 Pi 的元框架,用於組合、治理和共享 AI 代理
Databricks 釋出了 Omnigent,一個開源的 AI 代理元框架,位於 Claude Code、Codex 和 Pi 等代理之上,提供統一的介面、狀態化策略和即時會話共享。該專案採用 Apache 2.0 許可證,目前處於 alpha 階段。
Databricks 近日開源了 Omnigent,一個針對 AI 代理的“元框架”(meta-harness)。該專案採用 Apache 2.0 許可證,由 Databricks AI 團隊與 Neon 共同構建。
在 AI 代理的術語中,“框架”(harness)是圍繞模型的外殼,將其轉化為代理。Claude Code、Codex 和 Pi 就是這樣的框架。而 Omnigent 位於這些框架之上的一層,將每個框架視為更大系統中的可互換元件。
許多工程師經常同時操作四到五個代理,在編碼代理、搜尋工具、文件和 Slack 之間複製貼上文本。每個框架只理解自己的會話。Omnigent 增加了一個共享層,整合了組合、控制和協作功能。
Omnigent 是什麼
Omnigent 是命令列代理和代理 SDK 之上的通用介面。它封裝了像 Claude Code、Codex 和 Pi 這樣的終端編碼代理,也支援 OpenAI Agents 和 Claude Agents SDK 等 SDK。
其設計基於一個觀察:無論框架內部如何呼叫模型,使用者面對的都是相同的介面——訊息和檔案輸入,文本流和工具呼叫輸出。Omnigent 標準化了這一介面,使框架可以互換。
使用者自行提供模型和基礎設施,Omnigent 在其上執行代理。它可以協調多個代理作為可互換的工作者,在一個編排器下工作。
Omnigent 的工作原理
架構分為兩部分:一個“執行器”(runner)將任何代理封裝在沙箱化會話中,提供統一的 API;一個“伺服器”(server)提供策略和共享功能。伺服器透過終端、應用程式和 Web API 公開每個會話。
一條命令即可在終端啟動會話,同時在 localhost:6767 啟動本地 Web UI。同一會話可在瀏覽器或手機上訪問。訊息、子代理、終端和檔案保持同步。
CLI 安裝後有兩個名稱:omnigent 和 omni,兩者可互換。首次執行時會檢測環境中已有的模型憑據。
三大能力:組合、控制與協作
Databricks 團隊將 Omnigent 圍繞三個能力構建:
- 組合(Composition):無需重寫程式碼即可組合不同的模型、框架和技術。只需一行程式碼更改即可在 Claude Code、Codex、Pi 和自定義代理之間切換。
- 控制(Control):狀態化上下文策略,跟蹤代理操作並在元框架層執行限制,而非透過提示。例如,代理每花費 $100 即暫停,或安裝新 npm 包後需人工批准才能 git push。
- 協作(Collaboration):透過 URL 共享即時代理會話。團隊成員可以即時觀察代理工作、與其聊天、評論檔案、協同驅動會話或分叉對話。
一個名為 Omnibox 的 OS 沙箱支援這些能力。它可以鎖定系統訪問,轉換網路請求。例如,保持 GitHub 令牌對代理隱藏,僅在出口代理的批准請求中注入。
用例與示例
專案自帶兩個示例代理:
- Polly:一個多代理編碼編排器,本身不寫程式碼。它規劃任務,然後將工作委派給並行 git worktrees 中的編碼子代理。每個差異由不同供應商的審查者審查,然後合併結果。
- Debby:一個雙頭頭腦風暴夥伴,一頭是 Claude,另一頭是 GPT。每個問題同時發給兩個模型,答案並排顯示。輸入 /debate 則兩個頭相互批評後趨同。
其他實用模式類似:一個前沿顧問模型可以指導更便宜的開源工作器;一個主代理可以編排並行子代理;不同的 LLM 可以在一個流程中處理規劃、搜尋和程式碼生成。
互動式概念演示
Marktechpost 團隊建立了一個互動式演示,展示 Omnigent 的元框架工作流。使用者為 Polly 編排器選擇任務,它規劃並委派給三個子代理(Claude Code、Codex 和 Pi)並行執行並即時流式輸出步驟。會話成本計費器隨著工作增加,兩個策略開關展示控制層:成本預算在 $3.00 暫停請求批准,上下文策略在 npm install 後阻止 git push 直到允許。子代理完成後,每個差異由不同供應商交叉審查,然後標記為可合併。終端、Web 和移動標籤顯示同一會話跨介面同步。這是一個說明性模擬,不呼叫真實模型。
與單一框架的對比
| 能力 | 單一框架(例如 Claude Code) | Omnigent 元框架 | |------|-----------------------------|-----------------| | 代理和模型 | 單一框架;內部交換模型 | Claude Code、Codex、Pi、SDK、自定義——可互換 | | 切換成本 | 每工具重新整合 | 一行更改 | | 介面 | 終端或工具自有 UI | 終端、Web、桌面、移動、API——同一會話 | | 治理 | 允許/拒絕列表,通常基於提示 | 狀態化上下文策略,在框架層 | | 成本控制 | 手動跟蹤 | 預算策略在設定閾值暫停 | | 協作 | 工具間複製貼上 | 即時共享會話、協同驅動、分叉 | | 沙箱 | 取決於工具 | OS 沙箱加出口代理秘密注入 | | 雲執行 | 本地機器 | 可部署的 Modal 或 Daytona 沙箱 | | 許可證 | 各不相同 | Apache 2.0,開源 |
快速開始
Omnigent 需要 Python 3.12+、Node.js 22 LTS 和 tmux。一鍵安裝命令:
curl -fsSL https://omnigent.ai/install.sh | sh然後設定模型憑據:
omni setupOmnigent 接受四種憑據型別:第一方 API 金鑰和 Claude 或 ChatGPT 訂閱,OpenAI 或 Anthropic 相容閘道器,以及 Databricks 工作區。/model 命令可在會話中切換模型。
自定義代理是一個簡短的 YAML 檔案,宣告提示、框架、工具和可選的子代理。
name: my_agent
prompt: You are a helpful data analyst.
executor:
harness: claude-sdk # or: codex, codex-native, claude-native, openai-agents, pi
tools:
researcher:
type: agent
prompt: Search for relevant information and summarize it.執行命令:
omnigent run path/to/my_agent.yaml策略也使用 YAML。內建策略示例:
policies:
budget:
type: function
handler: omnigent.policies.builtins.cost.cost_budget
factory_params:
max_cost_usd: 5.00
ask_thresholds_usd: [3.00]策略在三個級別堆疊:伺服器範圍、代理級別和會話級別。更嚴格的會話規則優先。
優勢與侷限
優勢:
- 統一介面管理 Claude Code、Codex、Pi 和自定義代理
- 會話可在終端、Web、桌面和手機訪問
- 狀態化策略,而不僅僅是允許/拒絕
- 即時會話共享替代工具間複製貼上
- 雲沙箱(Modal 和 Daytona)無需本地筆記型電腦
- Apache 2.0 許可證,支援 Fly.io、Railway、Render 等
侷限:
- 專案處於 alpha 階段,早期生命週期
- 需要 Python、Node.js 和 tmux 設定
- 使用者自帶模型、基礎設施和費用
- 路線圖專案如 Omnigent Server MCP 尚未釋出
- 離線團隊成員需要始終線上的部署伺服器才能加入
更多資訊請訪問 GitHub 倉庫、快速入門指南和技術文件。