Omnigent로 이종 코딩 에이전트를 통합하고 통제하는 방법
Omnigent가 이종 코딩 에이전트를 공통 인터페이스로 묶고 정책·샌드박스·세션 협업을 통제하는 메타하니스 구조와 도입 기준을 다룬다.
2026-08-14 · 최초 발행 2026-08-02
서로 다른 하니스 위에 놓는 컨트롤 플레인
코딩 에이전트마다 실행 환경과 컨텍스트, 권한 체계가 다르다. 여러 제품을 한 워크플로우에서 운용하려면 각 인터페이스에 맞춘 통합 코드를 반복해서 작성해야 하고, 보안이나 협업 정책도 하니스별로 따로 관리하게 된다.
데이터브릭스가 2026년 6월 공개한 Omnigent는 이 경계를 메타 계층에서 다룬다. Claude Code·Codex·Pi 같은 코딩 에이전트와 OpenAI Agents·Claude Agent SDK를 단일 인터페이스로 감싸는 오픈소스 메타하니스이며, 라이선스는 Apache 2.0이다.
Omnigent가 맡는 역할은 새로운 에이전트 워크플로우를 정의하는 일이 아니다. 이미 존재하는 이종 하니스를 공통 API로 연결하고, 그 위에서 조합과 통제, 협업을 처리하는 컨트롤 플레인에 가깝다.
이 구상은 데이터브릭스의 5,000명 이상 엔지니어링 조직에서 진행한 조기 도입 경험에서 출발했다. 개별 하니스 내부만 개선해서는 해결하기 어려운 조합·보안·협업 문제가 하니스 경계를 계속 넘나든다는 판단이 배경에 있다.
공개 당시 Omnigent는 알파 단계이며 최신 버전은 v0.2.0이다. Python 3.12+ 환경을 대상으로 omnigent-ai/omnigent 저장소에서 개발되고 있으며, 데이터브릭스 AI팀과 Neon이 기여하고 있다. 코드 재작성 없이 에이전트를 조합하는 composition, 메타 계층에서 상태에 따라 정책을 적용하는 control, URL로 실시간 세션을 나누는 collaboration이 중심 축이다.
실행과 정책을 분리한 러너·서버 구조
Omnigent는 러너와 서버를 분리한다. 러너는 개별 에이전트를 격리된 샌드박스 세션에서 실행한 뒤 균일한 API로 노출한다. 로컬에서는 omnigent run path/to/agent.yaml 형태로 실행한다.
서버는 러너 위에서 정책과 공유 기능을 제공한다. omnigent server start로 시작하면 터미널·앱·웹 API가 같은 세션을 사용할 수 있고, http://localhost:6767에서 웹 UI에 접근할 수 있다. 실행 환경의 차이는 러너가 흡수하고, 상위 오케스트레이션은 공통 계약만 다루는 구조다.
하니스 연결 방식은 대상에 따라 나뉜다. claude-native, codex-native, cursor-native, kiro-native, pi-native 같은 네이티브 하니스는 PTY/tmux 래퍼와 OS 샌드박싱을 사용한다. SDK 기반 연결에는 Anthropic Claude Agent SDK용 claude-sdk, OpenAI Agents SDK용 openai-agents, GitHub Copilot SDK용 copilot이 있다. antigravity, qwen, kimi 등은 커스텀 어댑터로 확장할 수 있다.
Linux와 macOS에서는 bwrap과 seatbelt를 사용하고, Windows에서는 Job Object로 프로세스 트리를 격리한다. Modal·Daytona·E2B·Kubernetes 같은 클라우드 샌드박스를 세션별로 프로비저닝하는 방식도 지원한다.
병렬 작업은 격리하고 결과는 한곳에서 수렴한다
멀티에이전트 실행에서는 동시에 작업하는 것보다 변경 충돌을 막고 결과를 다시 합치는 방식이 더 중요하다. Polly 예제에서는 오케스트레이터가 하위 작업을 병렬 git worktree에 배치한다. 각 에이전트는 분리된 작업 공간에서 코드를 변경하고, 오케스트레이터는 완료된 산출물이 수렴할 때까지 기다린 뒤 통합과 검증을 수행한다.
일부 작업이 실패하면 해당 단위만 다시 실행할 수 있다. 같은 세션의 diff를 서로 다른 벤더 에이전트에 나눠 교차 리뷰하게 만들 수도 있다. 생성과 검토를 다른 모델에 맡겨 자기 승인 구조를 피하는 패턴이다.
웹 UI에는 서브에이전트 트리와 메시지 흐름이 실시간으로 표시된다. 병렬 작업이 어느 하니스에서 실행되고 있으며 어디에서 멈췄는지 추적할 수 있어 디버깅과 관측성 확보에 유용하다.
하니스 교체를 코드 변경에서 설정 변경으로 옮긴다
실행할 에이전트는 YAML의 executor.harness 필드에서 지정한다. 상위 워크플로우를 고치지 않고 이 값만 바꿔 하니스를 교체할 수 있으며, 서브에이전트는 상위 설정을 상속하거나 자신의 하니스를 독립적으로 재정의할 수 있다.
executor:
harness: claude-sdk # → codex-native / openai-agents 등으로 한 줄 교체
policies:
budget:
handler: omnigent.policies.builtins.cost.cost_budget
factory_params:
max_cost_usd: 5.00
ask_thresholds_usd: [3.00]
런타임에는 omnigent run examples/polly/ --harness pi처럼 --harness 플래그로 실행 대상을 바꿀 수 있다. 동일 작업을 여러 하니스로 실행해 품질을 비교하거나, 기존 워크플로우를 유지한 채 실행 하니스만 단계적으로 전환할 때 쓸 수 있다.
작업 성격에 따라 하니스를 나누는 운영도 가능하다. Claude Code에는 장문 리팩터링을, Codex에는 빠른 스크립트를, Pi에는 탐색 작업을 배치하는 식이다. 특정 하니스에 묶인 통합 코드를 줄이면 모델이나 도구를 바꿀 때의 비용도 한 줄 설정 수준으로 낮출 수 있다.
자격 증명은 Anthropic·OpenAI API 키, Claude Pro/Max 구독, OpenRouter·Ollama·Azure 게이트웨이, 데이터브릭스 워크스페이스의 네 유형으로 통합 관리한다.
협업 세션과 정책을 운영 표준으로 묶기
Omnigent의 세션은 URL로 공유할 수 있다. 동료가 같은 세션의 파일을 검토하고 코멘트를 남기거나 실행 방향을 조정할 수 있으며, 웹·모바일·macOS 네이티브 앱·API에서도 동일한 세션에 접근한다.
조직 차원에서는 프롬프트보다 정책 코드가 핵심이다. 프롬프트에 행동 지침을 적는 방식과 달리 메타 계층의 정책 핸들러는 실행 흐름에서 비용과 권한을 제어한다. 정책은 서버 전역·에이전트별·세션별 3계층에 적용할 수 있다.
상태 기반 정책은 앞선 행위와 현재 요청을 함께 판단한다. 예를 들어 npm 신규 패키지를 설치한 뒤 git push를 시도하면 사람의 승인을 요구하도록 구성할 수 있다. 누적 지출이 임계값을 넘었을 때 세션을 일시정지하고 계속할지를 묻는 비용 정책도 제공하며, $100 단위 등으로 임계값을 설정할 수 있다.
세션별 행위와 정책 트리거 기록은 사후 감사와 내부통제 증빙에 활용된다. 조직 규모가 커질수록 하니스마다 별도의 비용·권한·감사 방식을 유지하는 부담이 누적되므로, 메타 계층의 표준화 효과도 함께 커진다.
LangGraph·CrewAI와는 맡은 계층이 다르다
Omnigent와 LangGraph, CrewAI를 같은 종류의 프레임워크로 놓고 우열을 가리기는 어렵다. LangGraph는 상태 그래프 실행 엔진이고 CrewAI는 역할 기반 팀 모델링에 초점을 둔다. 두 도구가 에이전트 워크플로우를 구성하는 빌더라면, Omnigent는 이미 존재하는 코딩 에이전트와 SDK를 감싸는 운영·거버넌스 계층이다.
| 구분 | Omnigent | LangGraph | CrewAI |
|---|---|---|---|
| 추상화 계층 | 메타하니스(하니스 위) | 상태 그래프 오케스트레이션 | 역할 기반 크루(crew) |
| 핵심 강점 | 이종 코딩 에이전트 통합·교체 | 정밀 상태 관리·내구성 | 빠른 프로토타이핑 |
| 에이전트 교체 | 한 줄 YAML/CLI 설정 | 그래프 노드 재구성 | 역할·태스크 재정의 |
| 거버넌스 | 메타 계층 상태 기반 정책 | 그래프 수준 제어 | 관측성·복구 상대적 약함 |
| 샌드박싱 | OS+클라우드 샌드박스 내장 | 미내장(별도 구성) | 미내장 |
| 협업 | URL 실시간 세션 공유 | 미지원 | 미지원 |
| 적합 영역 | 멀티벤더 코딩 에이전트 표준화 | 엔터프라이즈 내구성 워크플로우 | 업무 자동화 신속 구축 |
| 라이선스 | Apache 2.0 (알파) | 오픈소스 | 오픈소스 |
구조적으로 보면 Omnigent의 메타하니스는 표현·제어·실행 계층을 분리하는 separation of concerns를 에이전트 운영에 적용한 사례다. 이종 에이전트 어댑터는 EAI의 어댑터 패턴과 닮았고, 비용·권한 정책을 인프라 계층에서 강제하는 방식은 전사 IT 거버넌스와 내부통제 요구에 연결된다. 단일 인터페이스는 운영 복잡도와 벤더 종속 위험을 함께 줄이는 수단이 된다.
공개된 로드맵이 가리키는 방향
2026년에 제시된 방향에는 GEPA 기반 에이전트 자동 튜닝, MemEx·RLM에서 영감을 받은 코드 기반 인트로스펙션, Omnigent Server MCP를 이용한 크로스 세션 에이전트 협업이 포함된다. 추가 코딩 에이전트와 SDK를 연결하기 위한 하니스 확장도 계속될 예정이다.
현재는 알파 단계다. 프로덕션 전면 적용에 앞서 PoC로 하니스 호환성과 결과 수렴 방식을 확인하고, 조직의 권한·비용 정책과 샌드박스 경계를 먼저 설계할 필요가 있다. Omnigent의 가치는 개별 모델 성능보다 서로 다른 에이전트를 어떤 규칙으로 조합하고 통제할지에 있다. LangGraph의 내구성이나 CrewAI의 신속한 워크플로우 구성과도 경쟁 관계보다 보완 관계로 보는 편이 맞다.
Sources
- Introducing Omnigent: A Meta-Harness to Combine, Control and Share Your Agents (Databricks Blog)
- omnigent-ai/omnigent (GitHub)
- Databricks Open-Sources Omnigent: A Meta-Harness (MarkTechPost)
- AI Agent Orchestration Gets a Control Plane (TechTimes)
- Best Multi-Agent Frameworks in 2026: LangGraph, CrewAI (Gurusup)