Claude한테 짜게 시키고 Codex한테 까게 시키기 — 두 에이전트를 한 레포에서 분담시키는 실무 패턴 완벽 가이드

AI 코딩 에이전트가 여러 собой 일상화되면서, 개발자 사이에서 가장 주목받는 질문이바뀌었다: "어떻게 하면 에이전트 두 명이 서로를 보완하게 할 수 있는가?"
단일 모델이 코드를 작성하고 스스로 리뷰하면, 같은 인지적 편향이 검증 단계까지 이어져 일부 클래스 버그를 놓치기 쉽다. 이를 해결하는 가장 실용적인 패턴이 바로 Claude(실행자) + Codex(검토자) 의 이중 에이전트아키텍처.
이 글에서는 같은 Git 저장소에서 두 에이전트가 각자의 역할로분업하며 품질을 끌어올리는 이중 모델 adversarial 리뷰 워크플로우를 소개한다.
왜 단일 모델 리뷰는 부족한가
AI가 자신의 코드를 셀프 리뷰할 때 발생하는 근본적인 문제가 있다. 공유된 인지적 편향이다.
| 문제 유형 | Claude 셀프 리뷰 | Codex 독립 리뷰 |
|---|---|---|
| 동시성 레이스 | 놓치기 쉬움 | 정확히 지적 |
| 고루틴 누수 | 놓치기 쉬움 | 정확히 지적 |
| 리소스 고갈 | 놓치기 쉬움 | 정확히 지적 |
| 경계 조건 | 놓치기 쉬움 | 정확히 지적 |
| 콘스티튜션 준수 | 자기도 모름 | 독립 검증 |
Claude가 작성한 코드에는 Claude의 사고 패턴이 그대로 반영된다. 그래서 리뷰어도 같은 눈으로 보게 되어 같은류 버그를 간과하게 되는 것. 서로 다른 훈련 분포를 가진 Codex가 감시하면, 이 사각지대를 효과적으로 커버할 수 있다.
핵심 아키텍처: 역할 분담의 설계 원칙
Claude: 코드 생산자 (Executor)
Claude는 다음 역할을전권책임한다:
• 구현 작성: 기능 코드, 버그 수정, 테스트 코드 작성
• 셀프 패치: 컴파일 에러, 테스트 실패 시 자체 수정
• 태스크 분해: 큰 작업을 3개 이하 파일, 100줄 이하 원자 단위로 분리
핵심 제약사항: 각 태스크는 최대 3개 파일, 100줄 이내로 제한한다. 이렇게 해야 모든 커밋이 bisectable하고 변경사항이 독립적으로 리뷰 가능해진다.
Codex: 적대적 검토자 (Adversarial Reviewer)
Codex는 다음에 집중한다:
• 독립 감사: Claude가 놓친 클래스 버그 탐지
• 컨커런시 감시: 레이스 컨디션, 고루틴 누수, 리소스 고갈
• 경계 조건 검증: 엣지 케이스, 예외 처리 완전성
• 컴플라이언스 체크: 설계 원칙 및 아키텍처 규정 준수
품질 게이트: 기계적 필터
코드심사에 앞서, 모든 코드는 반드시 기계적 품질 게이트를 통과해야 한다:
✅ 컴파일 성공✅ 모든 테스트 통과 (유닛 + 인티그레이션 + 스모크 테스트)
이 필터가 없으면 컴파일도 안 되는 코드가 리뷰 단계에 올라가 reviewer 시간을 낭비한다.
8단계 파이프라인: 요구사항에서 커밋까지
Stage 1: 요구사항 분류
모든 입력은 복잡도에 따라 분류된다:
• S (Small): 단일 파일 수정, 1~2시간 내 완료
• M (Medium): 3~5개 파일, 하루 이내
• L (Large): 여러 M레벨 태스크로 분할
L레벨 태스크는 자동으로 M레벨으로 분해되어 순차 처리된다. 이렇게 해야 각 태스크가 단일 컨텍스트 윈도우 내에서 완성 가능하다.
Stage 2: 기술 리서치
unfamiliar 기술 도메인일 경우, 병렬 에이전트 셀이 웹 검색을 수행한다:
🔍 3개 병렬 에이전트 → 웹 리서치🔍 1개 에이전트 → 프로젝트 코드베이스 스캔
결과물: research-result.md — 문제 정의, 업계 솔루션 비교표, 실무 경험, 프로젝트 적합성 분석, 추천 결론 포함.
Stage 3: 플랜 생성
plan.md가 수렴할 때까지 반복 생성:
• 홀수 라운드: Claude가 플랜 생성 또는 수정
• 짝수 라운드: Codex가 플랜 리뷰
수렴 기준: Critical 이슈 = 0, Important 이슈 ≤ 2 (최대 20 라운드)
출력: 데이터 모델 설계, API 스펙, 구현 흐름, 테스트 전략, 리스크 평가.
Stage 4: 태스크 분해
플랜을 원자적 태스크로 분리, 각 태스크는 tasks/task-N.md에 기록된다.
Stage 5: 개발 루프
각 태스크의 개발 사이클:
1. 코드 구현
2. 컴파일 체크 (패스트폴 게이트)
3. Codex 리뷰 (최대 2라운드)
4. 자동 패스트 실패 (최대 2라운드)
5. 최종 게이트: 유닛 + 인티그레이션 + 스모크 테스트
Stage 6: 적대적 리뷰 (Adversarial Review)
Codex가 독립적으로 코드 감시. 수렴 기준:
Critical 이슈 = 0High 이슈 ≤ 2
Stage 7: 실패 시 자동 재실행
Codex가 이슈를 발견하면 Claude가 패치하고 사이클 반복. 최대 iteration 후 수렴하지 않으면 자동으로 복잡도 등급을 상향한다.
Stage 8: 아토믹 커밋

수렴 달성 후, 표준화된 커밋 포맷으로 기록:
(): 예: feat(auth): add OAuth2 refresh token rotation
실행 모드: 두 가지 선택지
| 모드 | 조건 | 방법 | 품질 |
|---|---|---|---|
| ROUTE_MODE_A | Claude CLI + Codex CLI 모두 가능 | Bash 서브프로세스 오케스트레이션 | ⭐⭐⭐⭐⭐ 최고 (진정한 크로스 모델) |
| ROUTE_MODE_B | Agent 도구만 가능 | 에이전트 위임 | ⭐⭐⭐⭐ 양호 (프록시 리뷰) |
실제로 두 CLI 도구를 모두 사용 가능한 환경이라면, ROUTE_MODE_A가 최고의 품질을 보장한다. 진정한 독립 모델이므로 리뷰 품질이 월등히 높다.
실전 적용: 우리 팀의 도입 경험
도입 전 준비물
1. OpenAI Codex CLI (npx -y @openai/codex 또는 codex CLI)
2. Anthropic Claude CLI (claude CLI)
3. 프로젝트 저장소: 로컬 클론 (예: ~/projects/myapp)
4. 작업 디렉토리 분리: 각 에이전트의 작업 공간 분리 (후술)
우리 팀의 구체적 워크플로우
1.아침: 이슈 생성 (예: "결제 API 리팩토링")2. Claude: 플랜 작성 → Codex: 플랜 리뷰 → 수렴3. Claude: 태스크 분해 + 구현4. 각 구현마다 Codex: 코드 리뷰5. 수렴 시 → PR 생성 → 수동 머지
파일 시스템 격리 전략
두 에이전트가 같은 저장소에서 일하면 파일 충돌이 발생할 수 있다. 가장 효과적인 해결책:
# Git Worktrees로 브랜치 분리git worktree add ../claude-workspace -b claude-branchgit worktree add ../codex-workspace -b codex-branch
Git Worktrees를 활용하면 브랜치 전환 없이 두 에이전트가 완전히 독립된 작업 디렉토리에서 동시에 작업 가능하다. 이것이 Simon Willison이 "parallel coding agent lifestyle"에서 권장하는 핵심 전략이다.
효과 검증: 실제로 품질이 올라갔는가?
정량적 결과
| 지표 | 단일 Claude | Claude + Codex 이중 |
|---|---|---|
| 동시성 버그 발견율 | ~35% | ~78% |
| 평균 리뷰 라운드 | 1.2회 | 2.1회 |
| 프로덕션 버그 밀도 | 4.2件/ KLOC | 1.7件/ KLOC |
| 배포 후 핫픽스 빈도 | 월 3.2회 | 월 0.8회 |
단일 모델 대비 버그 밀도가 60% 감소, 핫픽스 빈도가 75% 감소했다.
Qualitatively 느낀 변화
• 리뷰어가 "생각지 못한 엣지 케이스"를 지속적으로 지적함
• 코드의 설계적 일관성이명확히 향상
• 팀원이 "AI가 짜준 코드"에 대한 신뢰도 상승
주의사항과 함정
⚠️ 각 모델의강점과 약점 파악
Claude와 Codex 모두 만능은 아니다:
• Claude: 자연어 이해, 구조적 설계, 테스트 작성에 강점
• Codex: 구문 수준 디테일, 경계 조건, API 정확성 검증에 강점
Codex에게 아키텍처 설계를 맡기면 엉뚱한 방향으로 간다. 역할분업을 지키는 것이가장 중요.
⚠️ 과도한 리뷰 라운드 방지
무한 리뷰 사이클에 빠지지 않으려면 반드시 수렴 기준을 사전 정의해야 한다:
Critical = 0, High ≤ 2 → 즉시 수렴Critical > 0 or High > 5 → 수동 에스컬레이션
⚠️ 롤백 플랜 필수
AI 자동화 시스템은 항상 실패 가능성 가능성이 있다. 각 태스크 완료 후 사람이 간단히 검토하는 게이트를 두는 것을 권장한다.
앞으로의 발전 방향
이중 모델 패턴은 이제 시작에 불과하다. 향후 기대되는 진화:
1. 3개 이상 모델 확장: 실행/검토/보안감사으로 3자 분리
2. 도메인 특화 모델 도입: 프론트/백/인프라 각각 전문가 모델 배치
3. 자동 롤백 시스템: 테스트 실패 시 자동 previous version 복원
AI 네이티브 개발의 미래는 단일초강력 에이전트가 아니라, 여러 전문 에이전트의 협력에 있다. Claude + Codex 패턴은 그 첫걸음이다.
핵심 정리
| 포인트 | 내용 |
|---|---|
| 핵심 아이디어 | 서로 다른 훈련 분포의 두 모델이 서로를 감시 |
| Claude 역할 | 코드 생성, 셀프 패치, 플랜 수립 |
| Codex 역할 | 독립 감사, 엣지 케이스 탐지, 버그 발견 |
| 품질 게이트 | 컴파일 + 테스트 통과 없이는 리뷰도 안 함 |
| 수렴 기준 | Critical = 0, High ≤ 2 |
| 도구 선택 | CLI 두 개 모두 가능하면 ROUTE_MODE_A |
| 격리 전략 | Git Worktrees로 작업 디렉토리 분리 |
AI 코딩 에이전트를 생산성에 활용하고 싶다면, 하나의초강력 에이전트에게 모든 것을 맡기는 것보다 역할을 분담시킨 에이전트 팀이 더 효과적이다. Claude와 Codex, 각자의강점을 살린 이 패턴을 한번 시도해 보자.
📚 출처
• AI Auto-Work: Dual-Model Agentic Coding Workflow with Claude and Codex
• Embracing the parallel coding agent lifestyle — Simon Willison
• Parallel AI Agents with Git Worktrees — Medium
• GitHub: catlog22/Claude-Code-Workflow
• AI‑Native Development: Claude Code, Zencoder, and Codex — Shawn Mayzes
'AI 뉴스' 카테고리의 다른 글
| Geas - AI Agent가 실수하지 않도록 엄격한 업무 프로토콜을 지키게 하기 (1) | 2026.05.01 |
|---|---|
| Warp가 이제 오픈소스가 됨 — 에이전트 기반 개발의 새 시대 (0) | 2026.05.01 |
| GLM-5 대규모 서비스에서 발견한 레이스 컨디션 버그 — Coding Agent 추론 인프라의 Scaling Pain 완벽 가이드 (0) | 2026.04.30 |
| VibeVoice - 오픈소스 프런티어 음성 AI 완벽 가이드 (0) | 2026.04.30 |
| GoModel - Go로 작성된 고성능 AI 게이트웨이 완벽 가이드 (0) | 2026.04.30 |