oh-my-codex(OMX)는 OpenAI Codex CLI 위에 멀티에이전트 오케스트레이션 레이어를 올려, 단순 코딩 어시스턴트를 "팀 단위 AI 개발 조직"으로 확장하는 워크플로우 프레임워크입니다. 37개 에이전트 역할, 46개 스킬, TypeScript 비즈니스 로직 + Rust 성능 크리티컬 모듈의 하이브리드 구조가 특징입니다.
Codex CLI 혼자 일하면 1인 스타트업입니다. omx --madmax --high로 시작하는 순간, 팀장(orchestrator)이 아키텍트·실행자·QA·보안 리뷰어를 tmux 창에 동시에 불러옵니다.
핵심은 점진적 복잡도입니다. 혼자(single) → 계획($plan) → 순차(ralph) → 팀 병렬($team) 모드로 필요에 따라 확장합니다. 필요 없는 것은 쓰지 않아도 됩니다.
2026년은 "에이전트 오케스트레이션의 해"입니다. 단일 LLM 호출로는 복잡한 소프트웨어 프로젝트를 다루기 어렵다는 인식이 퍼지면서, 멀티 에이전트 조율 프레임워크에 대한 수요가 폭발했습니다.
| 비교 대상 | OMX의 차별점 |
|---|---|
| 바닐라 Codex CLI | 단일 에이전트 → OMX는 37개 전문 에이전트 + 46개 스킬로 역할 분리 |
| Claude Code | 단일 세션 중심 → OMX는 tmux 기반 병렬 팀 모드 지원 |
| Cursor/Windsurf | IDE 종속 → OMX는 터미널 네이티브, CI/CD 파이프라인 통합 가능 |
| LangGraph/CrewAI | 범용 프레임워크 → OMX는 "코딩" 특화, 즉시 사용 가능한 프롬프트·스킬 내장 |
| oh-my-claudecode | Claude 전용 → OMX는 OpenAI Codex 생태계 (같은 저자의 자매 프로젝트) |
핵심 가치 제안 3가지:
omx --madmax --high로 세션을 시작하면 최적 설정이 자동 적용| 기술 | 용도 | 버전 |
|---|---|---|
| TypeScript | 메인 비즈니스 로직 (CLI, 에이전트, 스킬, 상태 관리) | 6.0+ |
| Rust | 성능 크리티컬 모듈 (파일 탐색, 셸 실행, 런타임 코어) | Edition 2021 |
| Node.js | 런타임 환경 | 20+ |
| Zod | 런타임 스키마 검증 (에이전트 입출력 타입 안전성) | 4.3+ |
| @modelcontextprotocol/sdk | MCP 서버 통합 | 1.26+ |
| Biome | 린팅·포매팅 (ESLint/Prettier 대체) | Rust 기반 |
| tmux / psmux | 팀 모드 병렬 워커 격리 | - |
| Git Worktree | 팀 워커별 독립 작업 디렉토리 | Git 2.5+ |
| c8 | 코드 커버리지 | - |
omx hud --watch로 실시간 팀 상태 모니터링이 가능합니다. Slack/Discord/Telegram 웹훅으로 작업 완료 알림도 받을 수 있습니다.사용자 입력에서 $keyword를 감지하여 적절한 스킬로 라우팅합니다. 대소문자 무시로 유연하게 매칭됩니다.
"가장 가벼운 방법부터 시도하고, 필요할 때만 무거운 방법으로 올라가라"는 원칙입니다.
팀 모드에서 각 워커는 독립 Git Worktree에서 작업합니다. 워커 간 파일 충돌을 방지하고, 실패한 워커의 변경사항을 안전하게 폐기하며, 리더가 최종 머지를 결정합니다.
성능이 중요한 연산(파일 탐색, 셸 명령 실행)은 Rust로 작성하고, TypeScript에서 프로세스 호출로 연동합니다. Node.js의 I/O 성능 한계를 극복하기 위한 전략입니다.
@modelcontextprotocol/sdk를 사용하여 MCP 서버를 통합. 외부 도구·데이터 소스와 표준화된 방식으로 연동합니다.
| 배울 것 | 어디서 | 왜 중요한가 |
|---|---|---|
| CLI 프레임워크 설계 | src/cli/ | 복잡한 명령어 체계를 깔끔하게 구조화하는 법 |
| Zod 스키마 검증 | 에이전트 입출력 | 런타임 타입 안전성 확보 (API 개발에 필수) |
| MCP SDK 활용 | src/mcp/ | AI 에이전트와 외부 도구 통합하는 표준 프로토콜 |
| 상태 머신 패턴 | src/state/, src/runtime/ | 복잡한 워크플로우의 상태 전환 관리 |
| 배울 것 | 어디서 | 왜 중요한가 |
|---|---|---|
| Workspace 구조 | Cargo.toml | 모노레포에서 여러 크레이트를 관리하는 법 |
| TypeScript ↔ Rust 브릿지 | crates/ | 성능 크리티컬 부분만 Rust로 분리하는 하이브리드 전략 |
| 파일 시스템 고속 탐색 | omx-explore | Rust의 시스템 레벨 I/O 성능 활용 |
| 배울 것 | 어디서 | 왜 중요한가 |
|---|---|---|
| 역할 기반 에이전트 설계 | prompts/ 폴더 | 각 역할에 맞는 시스템 프롬프트 작성법 |
| 팀 모드 아키텍처 | src/team/ | tmux + Git Worktree로 병렬 에이전트 실행 |
| 위임 결정 로직 | prompts/ + docs/ | "언제 직접 하고, 언제 위임할 것인가" 판단 기준 |
| 파이프라인 패턴 | src/ralph/, src/pipeline/ | 순차 실행 체인 구현 |
| 항목 | 요구사항 |
|---|---|
| OS | macOS, Linux, Windows (WSL2 권장) |
| Node.js | 20 이상 |
| 터미널 멀티플렉서 | tmux (macOS/Linux) 또는 psmux (Windows) |
| OpenAI API 키 | Codex CLI 사용에 필요 |
| 디스크 | ~200MB (node_modules + Rust 바이너리) |
| 메모리 | 팀 모드 시 워커 수 × ~500MB (Codex 프로세스당) |
Intel Mac: 시작 시 syspolicyd/trustd CPU 사용량 급증 → quarantine 속성 제거 또는 동시성 설정 축소로 해결 가능합니다.
# 설치 (codex가 이미 설치돼 있다면 두 번째 줄만 실행)
npm install -g @openai/codex
npm install -g oh-my-codex
# 초기 설정
omx setup
# 강력 모드로 시작
omx --madmax --high
# 에이전트 키워드 사용
# $architect로 프로젝트 분석
# $executor로 구현 요청
$architect와 $executor의 응답 스타일 차이를 비교해보세요.
skills/ 폴더의 기존 스킬 구조를 분석한 뒤, 새 스킬 폴더를 만들고(예: skills/my-logger/) 스킬 정의 파일을 작성하여 $my-logger로 호출해보세요.
prompts/architect.md를 읽고 구조를 파악한 뒤, prompts/my-reviewer.md(예: 한국어 코드 리뷰어)를 작성하고 에이전트 카탈로그에 등록하여 실제 프로젝트에서 테스트해보세요.
# tmux 설치 확인
tmux -V
# 팀 모드로 3명의 executor 실행
omx team 3:executor "프론트엔드 컴포넌트 3개를 병렬로 구현해줘"
# 상태 모니터링
omx team status my-project
omx hud --watch
# Rust 툴체인 설치
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 크레이트 빌드
cargo build --workspace
# omx-explore 벤치마크
cargo bench -p omx-explore
Node.js의 fs.readdir과 Rust walkdir 크레이트의 성능을 비교 벤치마크해보세요.
| 주차 | 주제 | 학습 자료 |
|---|---|---|
| 1주차 | TypeScript CLI 개발 기초 + Zod 런타임 타입 검증 + tmux 기초 | Node.js process.argv 파싱, Zod 공식 문서, tmux 세션/윈도우/패인 개념 |
| 2주차 | 프롬프트 엔지니어링 심화 + MCP + 에이전트 위임 패턴 | prompts/ 37개 파일 분석, Anthropic MCP 스펙, docs/ Delegation Rules |
| 3주차 | Rust 기초 (소유권, 라이프타임) + Cargo Workspace 구조 + TS↔Rust 브릿지 | The Rust Programming Language (공식 책), omx Cargo.toml + 5개 크레이트 분석 |
| 4주차 | Git Worktree 활용 + 알림 시스템 구현 + 미니 오케스트레이터 구현 | 병렬 작업을 위한 worktree 전략, Slack/Discord 웹훅 API |
| 키워드 | 설명 |
|---|---|
| Codex CLI | OpenAI가 만든 터미널 기반 코딩 에이전트. GPT 모델로 코드를 생성·수정. OMX의 실행 엔진 |
| 오케스트레이션 | 여러 에이전트를 조율하여 하나의 목표를 달성하는 것. 지휘자가 오케스트라를 이끄는 것과 같다 |
| tmux | 터미널 멀티플렉서. 하나의 터미널에서 여러 세션을 만들고 백그라운드에서 실행 가능. OMX 팀 모드의 핵심 |
| Git Worktree | 하나의 Git 리포지토리에서 여러 작업 디렉토리를 만드는 기능. 병렬 작업에 유용 |
| HUD | 비행기 조종석처럼 OMX는 터미널에 실시간 상태를 오버레이한다 |
| Ralph | OMX의 순차 실행 파이프라인. 작업을 단계별로 처리하며 각 단계 완료 후 다음으로 진행 |
| MCP | AI 에이전트가 외부 도구·데이터와 통신하는 표준 프로토콜. USB처럼 "꽂으면 바로 되는" 연결 |
| Zod | TypeScript용 런타임 스키마 검증 라이브러리. 컴파일 타임 + 실행 시점 모두에서 데이터 형태를 보장 |
| Biome | ESLint + Prettier를 대체하는 올인원 코드 품질 도구. Rust로 작성되어 매우 빠름 |
| Madmax 모드 | OMX의 최대 성능 설정. 모든 최적화를 켜고 에이전트가 최대한 적극적으로 작동 |
| Progressive Escalation | 가장 가벼운 방법으로 시작하여 필요에 따라 복잡한 방법으로 올라가는 원칙 |
| Deep Interview | 모호한 요구사항을 명확히 하기 위해 에이전트가 사용자에게 반복 질문하는 스킬 |
| Native Bridge | TypeScript와 Rust를 연결하는 인터페이스. 비즈니스 로직은 TS, 성능 크리티컬은 Rust로 분리하는 전략 |