Databricks 开源了 Omnigent,一个它称为元-harness 的 Apache 2.0 项目,而这个词里的区别就是整个想法。harness 是把一个模型包起来、变成一个 agent 的东西:Claude Code、OpenAI Codex 和 Pi 各自都是 harness。Omnigent 坐在它们上面一层,把每个 harness 当作一个更大系统里的可互换部件,把接口标准化,这样你就能在不同 agent 系统之间切换而无需重写任何东西。其动机,用团队自己的话说,是大多数人已经身处的乱局:「许多工程师如今同时玩转四五个 agent。他们在编码 agent、搜索工具、Docs 和 Slack 之间复制文本。每个 harness 只理解自己的会话。」Omnigent 添加了 harness 们缺少的那个共享层。在架构上它是两块,一个 Runner,把任何 agent 包进一个 sandbox 会话、置于一个统一 API 之后,以及一个 Server,持有策略与共享;一条命令启动一个终端会话和一个位于 localhost:6767 的本地 web UI,随后跨浏览器与手机同步。
卖点围绕三个 C 组织。组合:用一行改动在 Claude Code、Codex、Pi、OpenAI 与 Claude Agents SDK,或一个以 YAML 定义的自定义 agent 之间切换,并用一个 /model 命令在会话中途切换模型。控制:在元-harness 层而非通过 prompt 强制护栏的有状态、上下文相关的策略,给出的例子是在 agent 花费 100 美元后将其暂停,或在一个跟在 npm install 之后的 git push 前要求人工批准,YAML 策略跨 server、agent 和 session 三个范围堆叠,最严格的先检查。协作:通过 URL 共享一个实时 agent 会话,让队友实时观看、评论、共同驾驶或分叉对话。仓库里附带两个示例 agent:Polly,一个多 agent 编码编排器,把工作委派给 git worktrees 中的并行子 agent,并在合并前把每个 diff 路由给一个不同的 vendor 做交叉评审;以及 Debby,一个同时运行 Claude 和 GPT 的头脑风暴伙伴,你可以让它 /debate,让两者在收敛前互相批评。
最值得驻足的部分是护栏住在哪里,因为这正是整个行业一直在绕的答案。Omnigent 在模型之外、在编排层强制策略,而不是在一个模型可能被说服跳出的 system prompt 里,而它的 Omnibox 操作系统沙箱更进一步,把机密完全放在 agent 够不到的地方。在他们的例子里,一个 GitHub token 根本从不展示给 agent;它只由 egress 代理注入,且只在策略已批准的请求上。把这个对照本周的 OWASP 报告,后者把 prompt injection 命名为头号生产失败模式,并开出处方:限定爆炸半径,而非信任模型自我管束。Omnigent 接近于那份处方的直接实现:假设 agent 可能被攻陷,于是限定它能触及什么、为不可逆动作设关卡,并把凭据放在 agent 和被注入的指令都永远看不到的地方。
对于我们持续追踪的 runtime 之争,这是那一层走向元层。至今的战斗是关于哪个 harness 或 runtime 胜出,OpenClaw、Hermes、Claude Code、托管的企业平台。Omnigent 的押注是没有谁全胜,工程师会继续同时跑好几个,而持久的位置是凌驾于所有之上的控制平面:vendor 中立的组合、横切的策略,以及共享会话。它也默默地默认是一个多-vendor 设计,Polly 跨 vendor 交叉评审 diff,Debby 让 Claude 对阵 GPT,把模型多样性当作一个特性而非后备。诚实的注意事项说得很直白:它是 alpha、很早期,搭建需要 Python 3.12、Node.js 22 和 tmux,你自带模型、基础设施和花费,而且,对一个整个卖点就是互操作性的工具来说尤为值得注意,它目前还没有 MCP 支持,Omnigent Server MCP 被列在路线图上而非已交付。但这个想法属于那种倾向于留下来的:一旦你在玩转五个 agent,你接下来想要的不是第六个,而是一个能把它们组合、治理并观看的单一之处。
