도구 비교 — Claude Code / Claude Desktop App / Antigravity CLI / Antigravity / Codex CLI / Codex Desktop App
같은 "멀티 에이전트팀"이라도 어떤 도구로 만드느냐에 따라 실행 방식과 제약이 달라진다 | 공식 문서: Claude Code, Antigravity CLI, Antigravity Agent Manager, Codex
claude --version · Antigravity CLI: agy --version 또는 세션 안에서 /usage · Antigravity Desktop: 앱 내 정보 화면 · Codex CLI: codex --version · Codex Desktop App: 앱 내 정보 화면agy)가 대체했다. 이 핸드북은 그 이전에는 Gemini 명령줄 인터페이스(CLI)를 기준으로 작성됐으나, 현재 시점 기준으로 Antigravity 명령줄 인터페이스(CLI)로 전면 갱신했다. 오래된 자료에서 gemini 명령이나 .gemini/agents/ 경로를 보게 되면 이미 지나간 버전임을 감안한다.한눈에 보는 6가지 도구 (Desktop 우선, CLI 병행)
Anthropic 계열 ├── Claude Desktop App ★ 기본 GUI 기반, 서브에이전트는 되지만 훅·tmux 병렬은 제한 └── Claude Code (CLI) 터미널 기반, 훅·Agent Teams·서브에이전트 완전 지원 Google 계열 ├── Antigravity (Desktop) ★ 기본 독립 데스크톱 앱, Agent Manager로 워크스페이스 단위 병렬 관리 └── Antigravity CLI (agy) 터미널 기반, Gemini CLI 후속 — 오케스트레이터가 동적으로 서브에이전트 생성 OpenAI 계열 ├── Codex Desktop App GUI 기반, 네이티브 서브에이전트 도구 없음 — PM이 순차 실행으로 역할을 대신함 └── Codex CLI 터미널 기반, 훅 스위트 미실행 — 거버넌스 규칙을 프롬프트로 자체 강제
1. Claude Desktop App vs Claude Code (CLI)
이 핸드북은 Claude Desktop App을 기본 실습 도구로 삼는다. GUI로 서브에이전트를 만들고 호출하는 흐름이 같으므로, Claude Code(CLI)로도 아래 내용을 그대로 따라 할 수 있다. 두 도구는 같은 Claude 엔진을 쓰지만 실행 환경이 다르기 때문에, 멀티 에이전트 하네스를 이루는 장치 중 일부는 CLI에서만 동작한다. 가장 큰 차이는 자동화 훅(hook)과 Agent Teams의 실행 모드다.
Claude Desktop App(또는 Claude Code) — .claude/agents/*.md 서브에이전트
Claude Desktop App은 Claude Code와 동일하게 .claude/agents/*.md 파일로 커스텀 서브에이전트를 정의하고 Agent/Task 도구로 호출한다. 다만 .claude/settings.json에 정의한 PostToolUse/TeammateIdle/TaskCompleted 훅은 Claude Desktop App에서는 발화하지 않는다. CLI 세션에서만 파일 저장·작업 완료 같은 이벤트에 맞춰 자동 실행된다. Claude Desktop App을 쓰는 팀은 훅이 하던 일(예: 감사 스크립트 실행)을 세션이 끝난 뒤 수동으로 실행해야 한다.
이 차이가 실제로 어떤 사고로 이어지는지 예를 들어보자. 팀이 CLI에서는 PostToolUse 훅으로 "파일을 저장할 때마다 bun scripts/audit.ts를 자동 실행해 시크릿 유출이나 규칙 위반을 잡는다"고 설정해 뒀다고 하자. 같은 팀원이 Claude Desktop App에서 똑같이 파일을 수정하면 훅이 전혀 발화하지 않는데, 화면상으로는 명령줄 인터페이스(CLI)와 똑같이 "파일이 저장됐다"는 결과만 보이므로 훅이 안 돌았다는 사실 자체를 알아차리기 어렵다. 그 상태로 커밋까지 이어지면, 원래는 훅이 잡아냈어야 할 문제가 조용히 통과된다. "감사를 돌리지 않았다"가 아니라 "감사가 도는 줄 알았는데 안 돌았다"는 게 실제 위험 지점이다.
teammateMode — Claude Desktop App은 in-process만, Claude Code는 tmux도 가능
실험적 기능인 Agent Teams는 여러 Claude 인스턴스를 병렬로 띄우는데, Claude Desktop App은 같은 프로세스 안에서 병렬 처리하는 in-process 모드만 쓸 수 있고 일부 키보드 내비게이션(Shift+Down 등)이 제한된다. 터미널 분할(tmux split-pane)을 쓰는 tmux 모드는 Claude Code(CLI)에서만 추가로 지원된다.
| 기능 | Claude Desktop App | Claude Code (CLI) |
|---|---|---|
Agent/Task 도구로 서브에이전트 호출 |
지원 | 지원 |
.claude/agents/*.md 커스텀 서브에이전트 |
지원 | 지원 |
| PostToolUse / TeammateIdle / TaskCompleted 훅 | 미지원 (수동 실행 필요) | 지원 (자동 발화) |
Agent Teams — teammateMode: in-process |
지원 (일부 단축키 제한) | 지원 |
Agent Teams — teammateMode: tmux |
미지원 | 지원 |
teammateMode를 명시적으로 in-process로 지정해야 한다. 훅이 발화하지 않는다는 점도 팀 규칙에 반영해야 한다. 자동 감사가 조용히 건너뛰어지는 것을 "통과"로 착각하지 않도록 주의한다.2. Antigravity (Desktop) vs Antigravity CLI (agy)
Google 진영도 이 핸드북은 Antigravity(Desktop)를 기본 실습 도구로 삼는다. 애초에 여러 워크스페이스에 걸쳐 여러 에이전트를 동시에 감독하도록 설계된 독립 데스크톱 앱이다. Antigravity CLI(agy)는 터미널에서 하나의 세션이 목표를 받아 스스로 하위 작업을 쪼개는 구조로, 같은 플랫폼의 CLI 면이다. 두 도구는 설정 폴더(~/.gemini 하위 antigravity-cli/)도 공유한다.
Workspaces · Inbox · Playground — Antigravity(Desktop) Agent Manager
Antigravity의 Agent Manager는 여러 워크스페이스를 한 화면에서 감독하는 상위 인터페이스다. 워크스페이스마다 에이전트 하나씩 배정하는 것이 원칙이고, 승인·피드백이 필요한 메시지는 Inbox에 모인다. 정식 워크스페이스에 편입하기 전에 가볍게 시도해 볼 공간은 Playground다. 에이전트를 띄울 때 활성 폴더에서 바로 작업하는 Local Mode와, 격리된 git worktree에서 작업하는 New Worktree Mode 중 하나를 고른다.
Antigravity CLI(agy)의 슬래시 커맨드 — /goal, /agent, /agents
Claude Code/App처럼 .claude/agents/*.md 같은 파일로 서브에이전트를 미리 정의해 두는 방식과 달리, Antigravity 명령줄 인터페이스(CLI)는 목표(goal)를 받으면 오케스트레이터 에이전트가 작업을 어떻게 쪼갤지 스스로 판단하고 그때그때 서브에이전트를 만들어 병렬로 실행한다. 각 서브에이전트는 독립된 컨텍스트 창을 가져 메인 세션의 맥락이 흐려지는 것을 막는다.
비유하면 Claude Code/App은 "미리 뽑아 둔 정규직 팀원 명단"을 갖고 일하는 쪽이고, Antigravity 명령줄 인터페이스(CLI)는 "일이 생길 때마다 그 일에 맞는 프리랜서를 그 자리에서 섭외하는" 쪽에 가깝다. 전자는 팀원이 누구인지 항상 알 수 있어 권한 통제가 쉽고, 후자는 매번 새 인력을 구하는 유연함이 있지만 "이번엔 누가 투입됐는지" 사후에 확인할 방법이 필요하다. 그 확인 창구가 아래 /agents다.
Agent(Task) 툴이 그때그때 필요한 작업을 판단해 서브에이전트를 스폰하며(1장 §3b), Antigravity(Desktop)도 Agent Manager에서 사전 정의 파일 없이 목표를 자연어로 주는 방식은 동일하다(§1). 이 절에서 소개하는 /goal·/agent·/agents는 그 같은 동적 오케스트레이션 능력을 CLI 화면에서 슬래시 커맨드로 다루기 위한 문법일 뿐이다. Claude Code/App은 이 문법 대신 채팅 문장으로, Antigravity 데스크톱(Desktop)은 이 문법 대신 GUI 버튼(Inbox 승인, Playground 등)으로 같은 일을 한다.다음은 agy를 실제로 쓸 때 자주 쓰는 CLI 전용 슬래시 커맨드 네 가지다. 아래 표는 "Antigravity CLI에만 있는 기능 목록"이 아니라 "같은 기능을 명령줄 인터페이스(CLI)에서 부르는 이름"으로 읽는다.
| 명령 | 동작 |
|---|---|
agy | TUI 세션을 시작한다. |
/goal <목표> | 중간 확인 없이 목표를 끝까지 실행한다. 오케스트레이터가 하위 작업을 스스로 쪼갠다. |
/agent <작업> | 백그라운드 에이전트에 장기 작업을 맡기고, 완료를 기다리지 않고 바로 다른 프롬프트를 이어갈 수 있다. |
/agents | 지금까지 생성된 서브에이전트의 실행 중/완료/막힘 상태 목록을 보여준다. |
세션을 시작하고 목표를 실행하는 실제 흐름은 다음과 같다.
agy
세션 안에서(대화형):
/goal 이 폴더의 모든 텍스트 파일에 요약을 달아줘
CI·자동화처럼 대화 없이 한 번만 실행하고 끝내고 싶다면(비대화형):
agy -p "커밋 메시지 초안 작성"
CLI 쪽에서도 세션을 분리해야 안전하다. 한 agy 세션이 API 레이어를 리팩터링하는 동안 다른 세션이 테스트를 작성해도, 같은 파일을 건드리지 않는 한 충돌하지 않는다.
3. Codex Desktop App vs Codex CLI
OpenAI 진영은 Codex다. Codex Desktop App과 Codex CLI 둘 다 저장소 루트의 CODEX.md를 읽어 행동 지침을 따르는데, 앞의 네 도구와 구조적으로 다른 점이 하나 있다 — Codex에는 네이티브 서브에이전트 도구가 없다. Claude 계열의 Agent/Task 도구나 Antigravity 계열의 동적 서브에이전트 생성에 해당하는 기능이 Codex에는 없으므로, 여러 전문 에이전트를 오케스트레이션하는 하네스 패턴 자체를 다른 방식으로 구현해야 한다.
서브에이전트가 없다면 — PM이 직접 순차 실행
Codex에서 PM(오케스트레이터) 역할은 각 전문 에이전트의 정의 파일(agents/<name>.md)을 역할 컨텍스트로 직접 불러온 뒤, 같은 세션 안에서 그 역할이 하는 일을 순서대로 수행한다. 별도 프로세스나 서브에이전트를 스폰하는 것이 아니라, PM 자신이 "지금은 설계 에이전트처럼 생각하고, 다음은 구현 에이전트처럼 생각한다"는 식으로 역할을 갈아입으며 단계를 밟는다. 병렬 실행이나 독립된 컨텍스트 창 분리는 없고, 모든 단계가 하나의 선형 세션 안에서 이루어진다.
훅이 없다면 — 프롬프트로 자체 강제
Codex는 워크스페이스의 훅(Hook) 스위트를 실행하지 않는다. Claude Code의 PostToolUse/TeammateIdle/TaskCompleted 같은 자동 발화 이벤트에 대응하는 장치가 없으므로, 감사 스크립트 실행이나 게이트 규칙 같은 거버넌스는 CODEX.md에 명시된 지침을 PM이 매 세션 스스로 인지하고 실행하는 방식(프롬프트 자체 강제)으로 대신한다. 이는 Antigravity Desktop이 훅 없이 GUI로 대응하는 것과는 또 다른 방식 — Antigravity는 "해당 기능 자체가 없음"이고, Codex는 "기능은 필요하지만 훅 대신 프롬프트 지침으로 구현"이라는 차이가 있다.
| 기능 | Codex Desktop App | Codex CLI |
|---|---|---|
| 네이티브 서브에이전트 도구 | 미지원 — PM이 agents/<name>.md를 역할 컨텍스트로 불러와 세션 내 순차 실행 |
동일 (Desktop App과 구조 차이 없음) |
| 자동화 훅 (PostToolUse 등) | 미지원 — 거버넌스는 CODEX.md 프롬프트로 자체 강제 |
미지원 (동일) |
| 병렬 실행 | 미지원 (단일 선형 세션) | 여러 터미널을 열어 세션 간 병렬은 가능 — 세션 내부 병렬은 미지원 |
| 설정/스킬 위치 | .codex/skills/, .codex/prompts/, .codex/config.toml |
동일 |
4. 멀티 에이전트 지원 범위 비교표
| 항목 | Claude Desktop App | Antigravity (Desktop) | Claude Code (CLI) | Antigravity CLI (agy) | Codex (Desktop/CLI) |
|---|---|---|---|---|---|
| 실행 형태 | 데스크톱 GUI | 독립 데스크톱 앱 | 터미널 CLI | 터미널 CLI (단일 컴파일 바이너리) | 데스크톱 GUI / 터미널 CLI (구조 동일) |
| 서브에이전트 정의 방식 | .claude/agents/*.md (사전 정의) |
(Agent Manager는 워크스페이스 단위. 별도 에이전트 정의 파일 개념보다 워크스페이스/프로젝트 단위 격리) | .claude/agents/*.md (사전 정의) |
오케스트레이터가 목표를 보고 동적으로 생성 (사전 정의 불필요) | 네이티브 서브에이전트 도구 없음 — PM이 agents/<name>.md를 역할 컨텍스트로 불러옴 |
| 서브에이전트 호출 방식 | Agent/Task 도구 |
Agent Manager에서 워크스페이스별 에이전트 생성 | Agent/Task 도구 |
/goal(완주형) 또는 기본 단계별 확인형, /agent로 백그라운드 위임 |
없음 — PM이 세션 안에서 역할을 바꿔가며 순차 실행 |
| 병렬 실행 단위 | Agent Teams (in-process만) |
워크스페이스별 독립 에이전트 (Local Mode / New Worktree Mode) | 한 메시지에 여러 Agent 호출 / Agent Teams |
세션 내부(오케스트레이터가 여러 서브에이전트 병렬 실행) + 세션 간(터미널 여러 개) | 세션 내부 병렬 없음 — 여러 터미널/창으로 세션 간 병렬만 가능 |
| 비대화형/자동화 실행 | 미지원 | (해당 없음. GUI 중심) | (스크립트 훅으로 대응) | agy -p "프롬프트". 한 번 실행 후 종료, CI에 적합 |
(해당 훅 장치 없음 — CODEX.md 프롬프트로 자체 강제) |
| 자동화 훅 | 미지원 | (해당 없음) | 지원 | (훅 대신 서브에이전트별 실행 로그를 agy inspect로 확인) |
미지원 — 워크스페이스 훅 스위트를 전혀 실행하지 않음 |
| 실행 중인 서브에이전트에 추가 메시지 전달 | 단일 Agent 호출: 불가(완료까지 대기) / Agent Teams: 가능(SendMessage) |
가능. Inbox에서 승인·피드백 메시지를 주고받으며 진행 중 에이전트에 개입 | Claude Desktop App과 동일. 단일 Agent 호출은 불가, Agent Teams는 SendMessage |
/agent로 위임한 백그라운드 작업에 상태 확인(/agents)은 되지만, 실행 중 작업 자체에 끼어들어 지시를 바꾸는 경로는 제한적 |
해당 없음 — 서브에이전트 자체가 없으므로 개념이 성립하지 않음 |
| 서브에이전트 간 직접 소통 | 단일 Agent 호출: 불가(메인 세션을 거쳐야 함) / Agent Teams: 가능(팀메이트끼리 SendMessage) |
불가. Workspace(에이전트) 사이는 의도적으로 격리(§2의 "인지적 중첩" 경고 참고), 소통은 항상 사람을 거침 | Claude Desktop App과 동일 | 불가. 동적으로 생성된 서브에이전트들은 오케스트레이터를 통해서만 결과가 취합됨, 서브에이전트끼리 직접 통신하지 않음 | 해당 없음 — 모든 "역할"이 하나의 PM 세션 안에서 순차적으로 일어남 |
Desktop 우선 안내 CLI 완전 병행 지원 실험적 기능 다수
Agent(Task) 호출과 Antigravity 명령줄 인터페이스(CLI)의 동적 서브에이전트는 전자에 가깝다. 스폰되면 끝까지 혼자 처리하고 요약만 반환하므로, 중간에 새 지시를 주거나 다른 서브에이전트와 대화하게 만들 방법이 없다. 반면 Claude Code/App의 Agent Teams는 각 팀메이트가 SendMessage로 서로 직접 메시지를 주고받을 수 있는 후자다(2장 §1의 P-1 실습에서 이미 다룬다). Antigravity(Desktop)는 에이전트 간 통신 자체를 지원하지 않는 대신, 사람이 Inbox를 통해 진행 중인 에이전트 각각과 개별적으로 대화할 수 있다는 점이 다른 세 도구와 구분되는 지점이다. Codex는 이 스펙트럼 바깥에 있다 — 애초에 서브에이전트라는 개념이 없으므로 "일회성"이냐 "팀메이트"냐를 따질 대상 자체가 없다.5. 이 핸드북에서 어떤 도구를 골라 실습할지
이 핸드북은 Claude Desktop App과 Antigravity(Desktop)를 기본 실습 도구로 안내한다. GUI로 시작하는 편이 진입 장벽이 낮기 때문이다. 이후 2장에서도 이 두 Desktop 도구를 먼저 보여주고, 바로 이어서 Claude Code(CLI)·Antigravity CLI(agy) 절차를 병기하며, Codex(Desktop/CLI)로 옮길 때 달라지는 지점은 §3를 참고해 갈아 읽는다. 어떤 도구든 하나만 골라 따라가도 되고, 여러 도구를 비교하며 같이 실습해도 된다. 다음 기준을 참고하면 선택이 쉬워진다.
- 일단 GUI로 감을 잡고 싶다면. Claude Desktop App 또는 Antigravity(Desktop)로 시작한다. 이 핸드북의 기본 경로다.
- 여러 서로 다른 프로젝트를 동시에 감독하고 싶다면. Antigravity(Desktop)의 Agent Manager(워크스페이스 단위 격리)가 이런 시나리오에 맞춰 설계돼 있다.
- 훅 기반 자동화(감사·QA 게이트)가 필요하다면. Claude Code(CLI)로 넘어간다. Claude Desktop App과 Antigravity·Codex 계열에는 이에 대응하는 자동 훅이 없다.
- 서브에이전트를 일일이 정의하지 않고 오케스트레이터가 알아서 쪼개 주길 원한다면. Antigravity CLI(
agy)가 목표만 주면 동적으로 서브에이전트를 만들어 준다. 대신 세부 제어는 상대적으로 덜하다. - 이미 Codex 구독·환경이 있어 그대로 쓰고 싶다면. Codex(Desktop/CLI)로 실습할 수 있다. 다만 서브에이전트·병렬 실행·훅에 의존하는 실습(Agent Teams, SendMessage 등)은 §3에서 설명한 순차-역할-전환 방식으로 바꿔 따라간다.
위 의사결정 흐름도는 Claude/Antigravity 네 도구 사이의 선택 기준을 보여준다. Codex(Desktop/CLI)는 애초에 서브에이전트·훅이라는 축 자체가 없어 이 흐름도에 넣지 않았다 — "이미 Codex 환경이 있는가"가 사실상 유일한 선택 기준이며, 그렇다면 §3를 참고해 순차-역할-전환 방식으로 실습을 바꿔 읽는다.
💡 핵심 한 줄: 여섯 도구 모두 "좁은 역할을 맡기고 오케스트레이터가 조율한다"는 하네스 엔지니어링의 기본 구조는 같다. 달라지는 것은 그 구조를 어떤 실행 환경(CLI/GUI, 훅 유무, 서브에이전트를 미리 정의·동적 생성·아예 없음 중 무엇에 얹느냐)이다.
6. 여섯 도구를 묶어 주는 AGENTS.md
지금까지 비교한 훅·병렬 실행·서브에이전트 정의 방식은 도구마다 다르지만, 저장소 루트 설정만큼은 하나로 합칠 수 있다. AGENTS.md는 2025년 8월 OpenAI 주도로 Google·Cursor·Factory가 함께 만들고 2025년 12월 리눅스 재단 Agentic AI Foundation에 기증된 개방형 표준으로, Codex·Cursor·GitHub Copilot·Google Jules는 물론 Claude Code(가져오기 방식)와 Antigravity 계열을 포함해 30개 이상의 도구가 지원한다. 흥미로운 점은 Codex가 이 표준을 함께 만든 당사자라는 것 — Codex는 AGENTS.md를 네이티브로 읽고, 그 위에 도구별 세부 지침을 담은 CODEX.md를 얹는다.
저장소 루트에 AGENTS.md 하나를 두면 여섯 도구 모두 세션 시작 시 이를 읽어 빌드/테스트 명령, 코드 스타일, 손대면 안 되는 영역 같은 공통 규칙을 공유한다. 도구별 세부 동작(훅, teammateMode, 서브에이전트 정의 위치 등)은 이 표에서 비교한 대로 여전히 CLAUDE.md·GEMINI.md·CODEX.md 같은 도구별 파일에 따로 적는다. AGENTS.md가 공통분모를, 도구별 파일이 차이점을 맡는 구조다.
| 파일 | 역할 | 읽는 도구 |
|---|---|---|
AGENTS.md |
도구 중립적 공통 규칙 (빌드/테스트 명령, 코드 스타일, 금지 영역) | Claude Code(가져오기) · Antigravity 계열 · Codex(네이티브) · Cursor · Copilot 등 30개 이상 |
CLAUDE.md |
Claude Code/App 전용 세부 동작 (훅, 슬래시 커맨드, 에이전트 디스패치 규칙) | Claude Code, Claude Desktop App |
GEMINI.md |
Antigravity CLI/Desktop 전용 세부 동작 | Antigravity CLI, Antigravity (Desktop) |
CODEX.md |
Codex CLI/Desktop App 전용 세부 동작 — 네이티브 서브에이전트가 없어 PM 순차 실행 방식, 훅 대신 프롬프트 자체 강제 규칙을 담는다 | Codex CLI, Codex Desktop App |
💡 핵심 한 줄: 5장 §1에서 다루는 ai-workspace-standards 저장소는 이 구조를 그대로 구현한다. 루트 AGENTS.md가 에이전트 정본 목록(SSOT) 역할을 하고, .agents/ 폴더가 .claude/·.gemini/·.codex/와 나란히 도구-불가지론적 커맨드·스킬을 담아 둔다.
참고 링크
- 📖 Claude Code — Subagents 공식 문서
- 📖 Antigravity CLI — Getting Started 공식 문서
- 📖 Antigravity CLI — Using AGY CLI 공식 문서
- 📖 Antigravity — Agent Manager 공식 문서
- 📖 AGENTS.md — 개방형 표준 공식 사이트
- 📖 Codex — 공식 문서
Claude Code 2026-09 / Antigravity CLI 1.1.0+ / Antigravity 2.0 / Codex CLI·Desktop App 기준 | 2026년 9월
참고 영상
- ENGemini CLI vs Claude Code vs Codex Compared! — 세 가지 AI CLI 도구의 핵심 기능 비교 분석
- ENClaude Code vs Gemini CLI vs Codex: Which One is Best? — 실사용 비교와 도구 선택 기준
- KOClaude Code vs Gemini CLI, AI로 웹사이트 만들기 — 두 CLI 도구를 나란히 테스트하며 실사용 비교