Claude Code에서 Codex / Gemini로 작업 위임하기 (토큰 절약 + 모델 특성 활용)
요약
Claude Code의 높은 편리성 때문에 토큰 소비가 과도해지는 문제를 해결하기 위해, Codex와 Gemini 같은 외부 모델의 CLI 기능을 활용하여 작업을 위임하는 방법을 제안합니다. 이를 통해 Claude Code의 세션 컨텍스트를 보존하면서 각 모델의 강점을 활용할 수 있으며, 비용 효율적인 다중 모델 조합을 구축할 수 있습니다. 특히, `codex exec`나 `gemini -p`와 같은 헤드리스 모드를 사용하면 Claude Code가 직접 처리해야 할 작업을 외부 CLI에 맡겨 토큰 소모를 줄이고 대화 이력을 오염시키지 않는 것이 핵심입니다.
핵심 포인트
- Claude Code의 높은 편리성으로 인한 과도한 토큰 소비 문제를 해결할 수 있습니다.
- Codex와 Gemini 같은 외부 모델의 CLI 기능을 활용하여 작업을 위임함으로써 Claude Code의 세션 컨텍스트를 보존합니다.
- 각 모델별 강점(Claude: 설계/논의, Codex: 코드 변환/JSON Schema, Gemini: 최신 정보 검색)에 따라 적절한 도구를 분담하여 사용해야 합니다.
- API 키 대신 구독 기반 CLI 인증을 활용하면 추가 비용 없이 여러 모델을 조합할 수 있습니다.
Claude Code가 너무 편리해서 이것저것 의뢰하게 되는데, 5시간 / 1주일 플랜 사용 제한을 순식간에 다 써버려서 곤란한 적이 여러 번 있었습니다.
병행해서 ChatGPT나 Gemini도 사용하던 중, 각각의 CLI(codex exec와 gemini -p)를 조합하면 Claude Code의 토큰 소비를 억제하면서 모델별 강점도 활용할 수 있다는 것을 깨달았습니다.
Claude Code는 "사령탑", Codex / Gemini는 "실동 부대". Claude Code에서 codex exec나 gemini -p로 셸(Shell)을 통해 작업을 위임함으로써, Claude Code 자신의 세션을 더럽히지 않고 각 모델의 특성을 끌어낼 수 있습니다.
비용 측면에서도 사실 이치에 맞습니다. Claude Code Max 플랜은 편리한 반면 가격이 어느 정도 나가기 때문에, Claude Pro에 ChatGPT Plus / Google AI Plus를 더한 구성이 합계 금액을 더 낮출 수 있는 경우가 많습니다. 부차적으로는 Claude 서비스가 다운되었을 때의 대체 수단이 되거나, "개발의 라이프라인을 한 벤더에게 장악당하는" 리스크 분산으로도 이어집니다.
이 기사에서는 그 분담의 구체적인 방법을 정리합니다.
전제: 3가지 CLI와 인증
codex와 gemini는 OpenAI / Google이 공식적으로 제공하는 CLI 도구입니다. claude 역시 마찬가지로 Anthropic 공식 CLI이며, 세 가지 모두 npm 글로벌 설치로 설치할 수 있습니다.
# Claude Code (Anthropic 공식)
npm install -g @anthropic-ai/claude-code
claude login # 브라우저에서 Anthropic 계정으로 OAuth
...
"구독 계약으로 추가 비용 없음"의 의미
각 CLI에는 크게 두 가지 인증 모드가 있습니다.
| 인증 모드 | 비용 | 구조 |
|---|---|---|
API 키 (ANTHROPIC_API_KEY / OPENAI_API_KEY / GEMINI_API_KEY) | 종량 과금 | 요청마다 과금 |
OAuth 로그인 (claude login / codex login / gemini) | 구독 범위 소비 | Claude Pro / Max, ChatGPT Plus / Pro, Google AI Pro / Ultra의 구독 범위를 CLI에서도 사용 가능 |
즉, Claude Pro + ChatGPT Plus + Google AI Pro를 계약하고 있다면, 세 가지 CLI를 추가 API 비용 없이 호출할 수 있다(범위를 초과하면 Rate Limit이 걸림)는 의미입니다. API 키 모드로 전환하면 종량 과금으로 무제한 사용도 가능합니다.
구독 범위를 CLI에서 소비하는 구조는 웹 버전이나 IDE 확장 프로그램과 동일한 계정을 공유하는 것이며, 각각 각 회사의 공식 기능입니다.
3가지 CLI의 역할 분담
세 가지 모두 "헤드리스 (Headless, 대화를 거치지 않는) 모드"가 있어, 셸이나 Claude Code의 Bash 도구에서 호출할 수 있습니다.
| CLI | 헤드리스 실행 | 강점 | 주요 용도 |
|---|---|---|---|
| Claude Code | claude -p "..." | 설계 판단 / 코드 품질 / 대화 문맥 유지 | 사령탑 |
| Codex CLI (OpenAI) | codex exec "..." | 장문 코드 변환 / 타입 추론 (Type Inference) / JSON Schema 강제 출력 | 리팩토링·정렬 |
| Gemini CLI (Google) | gemini -p "..." | Google 검색 그라운딩 (Grounding) / 최신 정보 | 리서치·번역 |
구독 계약 (ChatGPT Plus / Google AI Plus 등)이 있는 경우, 각각의 CLI를 추가 API 비용 없이 호출할 수 있다는 점도 큽 (API 키 모드에서도 당연히 동작합니다).
직접 수행 vs 위임
# ❌ Claude Code가 모든 파일을 읽고 직접 수정함 → 토큰 소비가 큼
# (Claude Code의 대화 이력에도 diff가 쌓임)
# ✅ Codex에게 통째로 맡김 → Claude Code의 토큰은 보존됨
...
위임 대상(Codex / Gemini)은 독립된 컨텍스트 (Context) 에서 동작하므로, Claude Code의 대화 이력을 오염시키지 않습니다. Claude Code 측에는 「명령을 실행했다 → 완료되었다」라는 사실만 남습니다.
언제 무엇에 위임할 것인가
대략적인 기준입니다.
| 태스크 | 권장 | 이유 |
|---|---|---|
| 아키텍처 판단 / 설계 / 복잡한 논의 | Claude Code 자신 | 대화의 문맥이 필요함 |
| 대량 파일의 일괄 변환 · 타입 지정 · 포맷팅 | Codex | 긴 코드 처리 능력이 강함 |
| 최신 정보 조사 / 리서치 요약 | Gemini | Google 검색 그라운딩 (Grounding) 이 유효함 |
| 번역 / Markdown 교정 / Mermaid 수정 | Codex or Gemini | 어느 쪽이든 OK, 구독 중인 모델 사용 |
| JSON Schema를 엄격히 따르는 출력을 원할 때 | Codex | --output-schema 가 확실함 |
| 수학적 추론 / 로직 검증 | 양쪽 모두 실행 후 비교 | 모델 특성에 따라 장단점이 나뉨 |
codex exec 의 기본
Codex CLI(codex exec)를 사용하면 Codex의 에이전트 능력(파일 읽기/쓰기 · shell · MCP)을 셸(Shell)에서 비대화형(Non-interactive)으로 호출할 수 있습니다.
파이프라인에서 사용하기
# stdin → 가공 → stdout
cat input.md | codex exec "이 Markdown을 영어로 번역해 주세요. Markdown 구문은 유지할 것."
# 결과만 추출하고 싶을 때는 --output-last-message 사용
...
기본 출력에는 실행 로그(user / assistant / tokens 블록)가 포함되므로, 최종 메시지만 필요한 경우에는 --output-last-message를 사용하는 것이 정석입니다.
구조화된 JSON 출력
--output-schema로 JSON Schema를 전달하면, 최종 출력이 해당 스키마를 준수한 JSON으로 반환됩니다.
cat > /tmp/schema.json <<'JSON'
{
"type": "object",
...
스키마를 위반하는 응답은 Codex 측에서 재생성되므로, 셸 스크립트에서 jq로 넘기는 것을 전제로 한 처리가 안정적입니다.
샌드박스(Sandbox)와 자동 승인
파일 편집을 동반하는 태스크는 헤드리스(Headless)로 실행되는 이상 대화형 프롬프트에 응답할 수 없으므로, 샌드박스와 승인 모드를 명시해야 합니다.
| 모드 | 쓰기 범위 | 용도 |
|---|---|---|
-s read-only | 없음 | 분석 · 리뷰 |
-s workspace-write (default) | cwd / /tmp | 일반적인 편집 태스크 |
--full-auto | workspace-write + 승인 없음 | 스크립트용, 이것이 기본 |
--dangerously-bypass-approvals-and-sandbox | 모든 액세스 | 비권장, 외부 격리 환경에서만 사용 |
# 편집 태스크의 기본 형태
codex exec --full-auto "src/ 의 코드를 prettier에 맞춰 정렬해 주세요"
# 읽기 전용으로 리뷰만 수행
...
--dangerously-bypass-approvals-and-sandbox는 rm -rf / 도 허용합니다. Docker / Cloud Run / Cloud Build와 같은 외부와 격리된 환경 이외에서는 피하는 것이 안전합니다.
gemini -p 의 기본
Gemini CLI는 -p 플래그를 통해 헤드리스로 호출할 수 있습니다. Codex와의 차이점은 기본적으로 Google 검색 그라운딩 (Grounding) 이 활성화 되어 있다는 점입니다.
웹 검색을 포함한 리서치에 강함
다음 예시에서 맨 앞에 echo "" |를...
echo "" |를 붙이는 이유는 표준 입력(Standard Input)을 빈 상태로 닫아 Gemini CLI의 파이프 대기를 억제하기 위해서(TTY가 없는 환경에서 gemini -p가 stdin으로부터의 추가 입력을 기다리며 프리징(Freezing)되는 동작을 회피)입니다. stdin의 내용을 사용하지 않을 때의 관용구로 기억해 두면 편리합니다.
# 최신 정보를 요약하게 함
echo "" | gemini -p "Next.js 15의 주요 변경점을 일본어로 요약해 주세요"
# 라이브러리의 파괴적 변경(Breaking Changes)을 조사
...
Claude Code 단독으로는 '지식 컷오프(Knowledge Cutoff) 이후의 정보'를 가지고 있지 않기 때문에 WebFetch를 구사해야 하지만, Gemini CLI에 위임하면 그 부분도 한 번에 해결됩니다.
파일 편집과 yolo 모드
# 편집을 포함하는 태스크는 --approval-mode yolo(전자동 승인)
gemini -p "src/utils.ts의 TODO 코멘트를 모두 구현해 주세요" --approval-mode yolo
# 단축형
...
'파일 편집만 자동 승인, 명령어 실행은 확인'을 원한다면 --approval-mode auto_edit도 사용할 수 있습니다.
출력 포맷
| 포맷 | 용도 |
|---|---|
-o text (default) | 그대로 파이프 전달 |
-o json | session_id / response / stats (토큰 수 등)를 일괄 JSON으로 |
-o stream-json | 메시지마다 JSON을 순차적으로 출력, 진행 상황 표시 및 에러 검출에 |
# json으로 stats도 취득
result=$(cat file.md | gemini -p "요약해 주세요" -o json | jq -r .response)
Claude Code에서 위임하는 패턴
Claude Code 세션 내에서 Bash 도구를 통해 codex exec / gemini -p를 호출하는 구체적인 예시입니다. CLAUDE.md나 Skill에 이러한 패턴을 작성해 두면, Claude Code가 자동으로 '이것은 위임하는 편이 빠르다'라고 판단하게 됩니다.
1. 대량 파일의 영문 번역 (Gemini)
# Claude Code → Bash → Gemini로 위임
for f in docs/ja/*.md; do
out="docs/en/$(basename "$f")"
...
Claude Code 측에는 '명령어를 실행했다'는 사실만 대화에 남기 때문에 컨텍스트(Context)가 비대해지지 않습니다.
2. 타입 에러 수정 (Codex)
# Codex의 workspace-write 모드로 일괄 수정
codex exec --full-auto "tsc의 출력을 보고 src/의 타입 에러를 모두 수정해 주세요. 최종적으로 tsc가 pass하는 상태로 만들어 주세요."
Claude Code는 '수정 완료 → tsc 통과'라는 결과만 전달받아 다음 판단으로 넘어갈 수 있습니다.
3. JSON Schema를 이용한 구조화 추출 (Codex)
# 기사에서 meta 정보를 JSON으로
cat article.md | codex exec --skip-git-repo-check \
--output-schema /tmp/meta-schema.json \
...
이를 Claude Code가 전달받아 후속 처리(DB 투입, 별도 파일 생성 등)로 넘깁니다.
4. 최신 정보 리서치 + 요약 (Gemini)
echo "" | gemini -p "테트리스의 최신 가이드라인(SRS 포함)의 변경점을 일본어로 요약. 출처 URL도 포함해 주세요." \
-o text > /tmp/research.md
Claude Code는 요약 결과(수백 자)만 읽으면 되므로, 웹 검색의 원문 콘텐츠를 대량으로 읽지 않아도 됩니다.
모델 지정 팁
구독 모델 할당량이 정해져 있는 경우, 용도별로 경량 모델로 전환하면 쿼터(Quota)를 더 오래 유지할 수 있습니다.
Codex: 고추론 모델 / 저가형 모델 전환
codex exec -m o3 "복잡한 데이터 구조의 설계 리뷰"
codex exec -m gpt-5-mini "텍스트를 3개 언어로 번역"
...
Codex는 --oss --local-provider ollama를 사용하여 로컬 LLM (Large Language Model)으로도 전환할 수 있으므로, 완전 오프라인 환경이나 민감한 코드 처리에도 사용할 수 있습니다.
에러 핸들링(Error Handling)과 안전한 운영
헤드리스(Headless)로 동작시키는 이상, 대화를 통해 "아, 실수했습니다"라고 정정할 수 없으므로 처음에는 안전한 방향으로 구성합니다.
# 1. read-only 모드로 동작 확인
codex exec -s read-only "src/를 읽고 제안만 해주세요"
# 2. 편집 모드로 전환(--full-auto)
...
대화 로그를 남기고 싶지 않은 처리(기밀 포함 등)는 Codex의 경우 --ephemeral을 사용하면 되고, Gemini는 애초에 gemini -p 단발 호출 시 세션을 저장하지 않으므로 괜찮습니다.
요약
3가지 CLI의 헤드리스 모드를 조합하면, Claude Code를 사령탑으로 두고 작업을 분산할 수 있습니다.
- Claude Code (사령탑): 설계 판단 / 아키텍처 (Architecture) / 전체적인 흐름
- Codex (실행 1): 긴 코드의 변환 / JSON Schema 출력 / 로컬 LLM 전환
- Gemini (실행 2): Google 검색 그라운딩 (Grounding) / 최신 정보 리서치 / 번역
구독 범위 내에서 해결할 수 있다는 점도 실무적으로는 고마운 부분이며, "Claude Code의 토큰 고갈"을 회피하는 수단이 되기도 합니다.
참고로, 저는 평소 tech-book.net이라는 기술서를 토픽(Topic)별로 정리하는 사이트를 운영하고 있습니다. 각 토픽 페이지에는 "관련 서적 + 관련 용어 + 학습 맵"이 정리되어 있으며, 본 기사의 테마 주변이라면 /topics/ai-agents (AI 에이전트의 설계·운용)나 /topics/typescript 부근이 Claude Code / Codex / Gemini 관련 지식을 서적 기반으로 심도 있게 파고들고 싶을 때 발판이 될 것이라고 생각합니다. 괜찮으시다면 한번 둘러봐 주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기