AI News HubLIVE
站内改写3 分鐘閱讀

Databricks 開源 Omnigent:一個跨 Claude Code、Codex 和 Pi 的元框架,用於組合、治理和共享 AI 代理

Databricks 發佈了 Omnigent,一個開源的 AI 代理元框架,位於 Claude Code、Codex 和 Pi 等代理之上,提供統一的接口、狀態化策略和實時會話共享。該項目採用 Apache 2.0 許可證,目前處於 alpha 階段。

來源MarkTechPost作者: Asif Razzaq

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 setup

Omnigent 接受四種憑據類型:第一方 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 倉庫、快速入門指南和技術文檔。