CLI 코딩 도구를 쓰는 표준 방식은 사실상 대기열 1개짜리 작업입니다. 프롬프트를 넣고, 기다리고, 검토하고, 다시 반복합니다. 그리고 매 사이클마다 단일 에이전트가 단일 체크아웃 안에서 생각하는 동안 실제 시간이 몇 분씩 소모됩니다. Orca의 전제는 줄 서서 기다릴 이유가 없다는 것입니다.
Orca가 해결하는 문제: 브랜치 N개를 동시에, 브랜치 전환 없이
Orca는 Stably AI가 만든 무료 오픈소스 Agent Development Environment로, 여러 CLI 코딩 에이전트를 병렬로 실행하며 각 에이전트는 자기만의 실제 git worktree 안에 격리됩니다 . 순차적인 프롬프트-대기-검토 루프 대신, 같은 base ref에서 N개의 브랜치를 동시에 띄웁니다. 각 브랜치는 정확히 하나의 에이전트가 소유하는 진짜 git checkout이며, 자체 터미널, 내장 Chromium 탭, Monaco 에디터, 컨텍스트를 갖습니다. 그래서 파일시스템 수준의 동시성을 제공하면서 공유 상태는 0에 가깝고, 에이전트들이 작업 중 서로의 결과를 덮어쓸 수 없습니다 .
이 프로젝트는 MIT 라이선스로 배포되며, 2026년 7월 기준 GitHub 스타는 약 16k, 릴리스는 약 800개, 커밋은 6,300개 이상이었습니다 . 좌석당 요금도 없고 프록시 계층도 없습니다. 사용자는 자신의 에이전트 구독과 API 키를 가져오면 되고, Orca는 로컬 머신에서 제공자 API를 직접 호출합니다 .
한 실무자 리뷰는 이 절충점을 분명하게 정리합니다. Orca는 "에이전트 두 개, 모바일 알림, 벤더 중립 선택지가 필요해지는 순간 이기며, 자기 구독을 가져오는 모델 덕분에 같은 비용을 두 번 내지 않아도 된다."
Orca 자체는 좌석 요금이 없지만, CLI 사용료는 따로 듭니다

Orca는 오케스트레이션 계층일 뿐입니다. Claude Code, Codex, Gemini CLI 또는 지원되는 다른 CLI 라이선스는 사용자가 직접 준비합니다. Orca는 마진을 붙이지 않고 사용자의 머신에서 제공자 API를 직접 호출하므로, 트래픽을 중간에서 가져가는 프록시 계층이 없습니다 . 플랫폼 자체는 MIT 라이선스이며 비용은 $0입니다. 실제 청구액은 이미 지불하고 있는 에이전트 구독과 모델 크레딧에서 나옵니다. Orca는 그것들을 병렬로 실행할 뿐입니다.
가격 비교를 보면 "자기 구독을 가져오는" 모델이 더 구체적으로 보입니다.
| 제품 | 범위(공식) | 비고 |
|---|---|---|
| Orca | $0 | MIT, 오케스트레이션 전용 |
| GitHub Copilot | $0–$100/mo | Free → Max |
| Cursor | $0–$40/user/mo | Hobby → Teams |
| Devin | $0–$200/mo | Free → Max |
| Claude Max | $100/mo | Pro 사용량의 5배 |
설치는 한 줄이면 됩니다. macOS에서는 Homebrew를, Arch에서는 AUR을 쓰거나 onorca.dev 또는 GitHub Releases에서 빌드를 받으면 됩니다.
brew install --cask stablyai/orca/orca # macOS (Homebrew)
yay -S stably-orca-bin # Arch (AUR)내부적으로는 일반적인 Electron 앱입니다. Electron 43, Node 24, TypeScript 7을 사용합니다 . 텔레메트리는 무작위 로컬 ID를 기준으로 익명 사용 이벤트를 수집합니다. 프롬프트, 터미널 출력, 파일 내용, 브랜치 이름, repo 경로는 수집하지 않으며, Settings 또는 ORCA_TELEMETRY_DISABLED=1로 비활성화할 수 있습니다. 벤더는 PostHog, 리전은 미국입니다 .
브랜치를 만들고, N개를 동시에 띄우고, diff를 비교하는 Orca 시작법

Orca의 첫 세션 흐름은 정해져 있습니다. repo를 추가하고, 하나의 프롬프트를 여러 격리된 worktree로 펼치고, 실시간 상태를 본 다음, 가장 좋은 브랜치를 남깁니다. 각 worktree는 자체 브랜치, 터미널, 컨텍스트를 가지므로 merge하기 전까지 base ref는 그대로 유지됩니다 .
- 로컬 저장소를 추가합니다. Orca 사이드바에서 workspace source로 등록합니다 .
- 브랜치를 만듭니다. base ref에서 실제
git worktree를 만들고, 여기에 CLI 도구(Claude Code, Codex, Gemini CLI 등)를 할당합니다 . - 브랜치마다 반복합니다. 같은 작업 설명을 각 터미널에 붙여 넣습니다. 실무자들은 보통 3~5개의 에이전트를 실행하며, 최대 50개까지 가능하다는 주장도 있습니다 .
- 대시보드를 봅니다. 각 브랜치에는 실시간 상태 점이 표시됩니다. 초록색은 실행 중, 노란색은 입력 대기, 회색은 유휴 상태입니다. 이 상태는 Claude Code, Codex 등이 내보내는 OSC 터미널 제목 신호에서 추론됩니다 .
- 인라인 diff를 검토합니다. diff 줄에 남긴 Markdown 코멘트는 해당 브랜치의 CLI 도구로 다시 전달되어 다음 반복에 쓰입니다 .
- 가장 나은 결과를 commit하고 push합니다. 나머지는 삭제하면 되고, 그동안 base ref는 계속 untouched 상태로 남습니다 .
무언가를 띄우기 전에 주의할 기본값이 하나 있습니다. Orca는 지원 에이전트를 높은 자율성 플래그와 함께 실행합니다. Claude Code는 --dangerously-skip-permissions, Codex는 --dangerously-bypass-approvals-and-sandbox, Gemini CLI는 --yolo를 사용하며, worktree를 sandbox처럼 취급합니다 . 파일시스템 격리는 위험한 shell 명령, 설치 스크립트, secret 접근을 막지 못합니다. 공유 자격 증명이나 production 접근 권한이 있는 머신에서 실행하기 전에는 Settings에서 이 launch argument들을 바꾸는 것이 좋습니다 .
세션은 창을 닫아도 살아 있습니다. background PTY daemon이 터미널을 소유하므로 앱을 닫아도 실행 중인 에이전트는 종료되지 않습니다. 다시 실행하면 Orca가 같은 브랜치, scrollback, split, focused tab에 다시 연결됩니다 .
복잡해지는 병합과 늘어나는 사용량: Orca가 풀어야 할 어려운 문제들

병렬 처리는 어려운 일을 뒤쪽 단계로 밀어냅니다. 브랜치 격리는 동시 체크아웃 사이의 파일시스템 충돌은 막아 주지만, 논리적 충돌까지 막아 주지는 못합니다. 두 브랜치가 같은 추상화를 서로 다른 방향으로 리팩터링하면 각각은 유효하고 개별적으로는 올바른 diff를 만들 수 있지만, 충돌은 리뷰 시점에야 드러납니다. 한 실무자 리뷰의 표현처럼 에이전트는 "valid diffs that only collide at review time"를 만들어 내며, 이는 노력을 없애는 것이 아니라 더 어려운 병합 단계로 옮깁니다 .
사용량도 같은 방식으로 늘어납니다. 세 개의 브랜치를 동시에 돌리면 각 에이전트가 벤더 API를 독립적으로 호출하므로 Anthropic 또는 다른 제공업체의 할당량을 대략 3배 소모합니다 . 흔한 완화책은 탐색용 브랜치에서는 더 저렴한 모델을 경쟁시키고, 더 강력한 모델은 병합 브랜치에만 남겨 두는 것입니다. 자율성의 대가도 기억해야 합니다. 높은 자율성 실행 플래그는 CLI 도구가 임의의 셸 명령을 실행하고, 패키지를 설치하고, 환경 변수를 읽을 수 있게 합니다. 브랜치는 파일시스템 샌드박스일 뿐 보안 경계가 아닙니다 .
운영 측면의 몇 가지 한계까지 보면 그림은 더 분명해집니다.
- 리뷰어들은 설치 용량이 약 250MB이고 유휴 RAM 사용량이 400~800MB 수준이라고 보고합니다 .
- 매일 배포되는 흐름 때문에 가끔 회귀가 생기지만, 수정은 보통 24시간 안에 반영됩니다 .
- 예상된 OSC title 신호를 내보내지 않는 CLI 도구에서는 상태 추적이 조용히 실패하므로, 지원되지 않는 에이전트는 대시보드 상태가 완전하지 않은 채로 실행됩니다 .
실험 이후: Orca Serve, Linear 연동, 모바일 모니터링
경쟁 후 병합하는 흐름이 자연스러워지면, Orca의 주변 기능들은 이를 단일 노트북 너머로 확장합니다. orca serve 명령(베타)은 전체 런타임을 원격 호스트로 옮깁니다. 서버가 저장소, worktree, 터미널, 제공업체 확인, CLI 에이전트 프로세스를 소유하고, 데스크톱 또는 브라우저 클라이언트는 LAN, Tailscale, SSH 포트 포워딩, 터널을 통해 접속합니다 . 덕분에 에이전트가 실행되는 장소와 사용자가 지켜보는 장소를 분리할 수 있습니다.
연동은 복사와 붙여넣기의 부담을 없애 줍니다. Orca는 GitHub와 Linear에 기본 연결되므로 PR, 이슈, 티켓에서 곧바로 worktree를 열 수 있고, 작업 맥락은 배정된 에이전트로 자동 전달됩니다 . iOS와 Android 동반 앱을 사용하면 데스크톱 없이도 실시간 상태 점을 확인하고 후속 메시지를 보낼 수 있지만, 계속 살아 있으려면 활성 데스크톱 세션이 필요합니다 . 반복되는 패턴에는 Orca CLI가 worktree create, snapshot, click, fill 같은 명령으로 설정을 스크립트화합니다 .
기여 흐름은 표준 Electron/TypeScript 방식입니다. TypeScript 7.0.2, Electron 43, React 19.2.5 기반에서 pnpm install && pnpm dev를 실행합니다 . 핵심은 이렇습니다. 먼저 로컬 worktree 세 개로 하나의 프롬프트를 경쟁시켜 보고, 동시성이 한 대의 머신을 넘어설 때에만 orca serve와 모바일 앱을 꺼내면 됩니다.
자주 묻는 질문
Orca에서 Claude Code, Codex, Gemini CLI를 동시에 쓸 수 있나요?
네. Orca는 특정 도구에 묶이지 않습니다. “터미널에서 실행되면 Orca에서도 실행된다”는 방식이기 때문에, 같은 세션 안에서 한 브랜치에는 Claude Code를, 다른 브랜치에는 Codex를, 세 번째 브랜치에는 Gemini CLI를 배정할 수 있습니다 . 지원 목록에는 GitHub Copilot, Cursor CLI, Cline, Continue, Amp, Kilocode, Qwen Code, Grok, OpenCode, Pi, Devin도 포함됩니다 . 한 가지 주의할 점은, 실시간 초록/노랑/회색 상태 점은 OSC 터미널 제목 신호에 의존하므로, 이를 내보내지 않는 도구도 실행은 되지만 대시보드 상태는 표시되지 않습니다 .
브랜치 5개를 동시에 돌리면 실제 비용은 얼마나 드나요?
Orca 자체는 MIT 라이선스로 $0입니다. 아무것도 프록시하지 않고, 좌석당 요금도 붙지 않습니다 . 실제 비용은 기존에 쓰던 제공업체 사용량이 N배가 되는 데서 나옵니다. Claude Code 브랜치 5개를 동시에 돌리면 각 에이전트가 사용자 머신에서 벤더 API를 직접 호출하므로 Anthropic 쿼터도 대략 5배로 소모됩니다 . 실무에서는 탐색용 브랜치에는 더 저렴한 모델들을 경쟁시키고, 더 강한 모델은 병합 단계에만 쓰는 식으로 비용을 줄입니다 .
CLI 도구를 --dangerously-skip-permissions로 실행해도 안전한가요?
브랜치 격리는 파일시스템을 보호할 뿐, 셸 자체를 보호하지는 않습니다. Orca는 기본적으로 높은 자율성 플래그로 에이전트를 실행합니다. Claude는 --dangerously-skip-permissions, Codex는 --dangerously-bypass-approvals-and-sandbox, Gemini는 --yolo를 사용하며, 워크트리를 샌드박스로 간주합니다 . 이 방식은 동시에 체크아웃된 브랜치들이 서로를 덮어쓰는 일은 막아주지만, 위험한 셸 명령, 의존성 설치 스크립트, 시크릿 접근, 네트워크 호출까지 막지는 못합니다 . 프로덕션 자격 증명이나 공유 시크릿이 들어 있는 저장소라면 브랜치를 생성하기 전에 Settings에서 실행 인자를 바꾸세요.
Orca 창을 닫거나 머신을 재시작하면 실행 중인 브랜치는 어떻게 되나요?
터미널은 백그라운드 PTY 데몬이 소유하므로, 앱 창을 닫아도 실행 중인 에이전트가 종료되지는 않습니다. 다시 실행하면 Orca가 같은 프로세스, 스크롤백, 워크트리, 분할 화면, 포커스된 탭에 다시 연결됩니다 . 예외는 더 강한 장애 상황입니다. 호스트가 재부팅되거나 데몬 프로세스 자체가 죽으면, 다음에 열 때 레이아웃과 마지막 스크롤백은 돌아오지만 진행 중이던 에이전트 세션은 사라집니다 .
Orca를 로컬이 아니라 원격 머신에서 실행할 수 있나요?
네. orca serve(베타)를 사용하면 전체 런타임을 서버 측에서 실행할 수 있습니다. 이때 서버가 저장소, 워크트리, 터미널, 제공업체 확인, 에이전트 프로세스를 소유합니다 . 그런 다음 데스크톱 또는 브라우저 클라이언트가 LAN, Tailscale, SSH 포트 포워딩, 터널을 통해 연결합니다 . 노트북의 가동 시간과 무관하게 장시간 실행되는 브랜치를 유지하려면 이 방식이 현실적인 선택이며, 모니터링과 후속 작업을 위해 iOS 및 Android companion 앱과도 함께 쓸 수 있습니다 .
이 글이 도움이 되셨다면, 새 글이 올라올 때마다 이메일로 받아보세요.