위임 패턴 (The Delegate Pattern): Claude Code + Codex + Gemini를 병렬로 실행하여 멀티 에이전트
요약
Claude Code, Codex, Gemini를 병렬로 실행하여 속도 제한과 컨텍스트 오염 문제를 해결하는 '위임 패턴(Delegate Pattern)'을 소개합니다. 파일 기반의 통신 방식을 통해 멀티 에이전트 환경을 구축하고 작업 효율을 극대화하는 방법을 다룹니다.
핵심 포인트
- 단일 벤더 의존에 따른 Rate Limit 문제를 독립적인 API 풀 활용으로 해결
- 자식 에이전트의 별도 프로세스 실행을 통해 부모 에이전트의 컨텍스트 오염 방지
- 파일(Obsidian)을 통신 채널로 사용하여 메시지 혼선 및 연결 끊김 문제 방지
- Claude Code의 기술(Skill) 기능을 활용한 자동화된 오케스트레이션 구현
내가 이것을 만든 이유
동기는 간단했습니다: AI는 멈춥니다. 빈번하게 말이죠.
Claude Code로 대규모 작업을 수행할 때, Anthropic의 속도 제한 (Rate Limits)에 빠르게 도달하게 됩니다. 병렬로 실행할 서브 에이전트 (Sub-agents)를 더 추가하면, Claude 자체의 컨텍스트 (Context)가 오염되어 성능이 저하됩니다.
또한 실시간 메시지 버스 (agmsg)도 시도해 보았습니다. 여러 개의 CLI 창에서 메시지를 던지면 혼란이 발생했습니다. SSE 연결이 끊겨 알림을 놓치기도 했습니다. 인프라 유지 관리 비용도 너무 높았습니다.
그러다 깨달았습니다: 모든 것을 하나의 AI 벤더 (Vendor)에 집중시키는 것 자체가 문제라는 사실을 말이죠.
Claude (Anthropic), Codex (OpenAI), 그리고 AGY/Gemini (Google)는 각각 독립적인 API와 속도 제한 풀 (Rate Limit Pools)을 가지고 있습니다. 이들을 병렬로 실행하면, 하나가 제한에 걸리더라도 나머지는 계속 작동합니다. 파일을 통신 채널로 사용하면 혼란이나 연결 끊김도 없습니다.
이것이 바로 위임 패턴 (Delegate Pattern) 입니다.
이것이 해결하는 3가지 문제
문제 1: 속도 제한 (Rate Limits)
단일 벤더 의존은 한계치에 빠르게 도달함을 의미합니다. 위임 패턴은 3개의 독립적인 API 풀을 사용하여 유효 처리량 (Throughput)을 극적으로 증가시킵니다.
문제 2: 컨텍스트 오염 (Context Pollution)
모든 연구 로그와 코드 출력물을 부모 에이전트의 컨텍스트에 쏟아부으면, 이전 지침을 잊어버리게 됩니다. 위임 패턴에서는 자식 에이전트들이 별도의 프로세스에서 실행되며, 결과만을 파일 형태로 반환합니다.
문제 3: 알림 누락 / 메시지 혼란
Bash를 통해 codex exec / agy --prompt를 호출하면, Claude Code는 이를 서브 에이전트로 인식합니다. Claude Code의 내장된 완료 알림 인프라가 모든 것을 자동으로 처리하므로, 별도의 모니터 도구나 커스텀 폴링 루프 (Polling Loops)가 필요하지 않습니다.
아키텍처 개요
Lux / Claude Code (부모 · 오케스트레이터)
├─ Bash → Codex CLI → Tasks/codex_xxx.md → Reports/codex_xxx.md
└─ Bash → Gemini CLI → Tasks/agy_xxx.md → Reports/agy_xxx.md
...
통신 채널로 Obsidian을 사용하는 이유:
- 각 에이전트가 전용 파일 경로를 할당받음 → 메시지 혼선이 물리적으로 불가능함
- Claude Code의 컨텍스트가 사라지더라도, Obsidian 파일을 읽음으로써 전체 컨텍스트를 복구할 수 있음
- 인간(개발자)이 언제든 확인할 수 있음 — 영구적인 증거 로그(evidence log) 역할을 수행함
준비 사항 (Setup)
| 도구 | 역할 | 획득 방법 |
|---|---|---|
| Claude Code | 부모 · 오케스트레이터 (orchestrator) | claude.ai/code |
| ... |
참고: Codex는 OpenAI 유료 플랜이 필요합니다. AGY는 Gemini 구독 + CLI 설치 + 로그인이 필요합니다 (API 키는 필요하지 않음).
Claude가 기술(Skill)을 구축하게 하세요
설정이 완료되면, Claude Code에게 다음과 같이 말하기만 하면 됩니다:
"delegate"라는 이름의 기술(skill)을 생성해줘.
역할: 나(Lux)는 부모이고, Codex CLI와 AGY CLI는 자식이야.
작업(Tasks)은 Obsidian Markdown 파일을 통해 전달돼.
...
Claude가 대화형으로 당신을 위해 기술(skill) 파일을 생성할 것입니다.
설정을 건너뛰고 싶다면?
저장소(repository)에서 기술(skill) 파일을 직접 복사하세요:
git clone https://github.com/melt1007/claude-delegate-pattern.git
cp claude-delegate-pattern/skills/delegate.md ~/.claude/skills/
복사한 후, Claude Code에게 "delegate 기술을 읽어줘"라고 말하면 인지됩니다.
실행하기
1단계: Obsidian에 작업 파일 생성하기
각 에이전트를 위한 지침을 별도의 파일에 작성합니다:
# Codex 연구 작업 (Codex Research Task)
## 목적 (Objective)
...
2단계: Claude Code에서 병렬 실행하기
Claude Code에게 "delegate and summon"이라고 말하면 기술(skill)이 자동으로 실행됩니다:
# 백그라운드에서 Codex 실행
codex exec "Read Tasks/task_codex.md and write results back" \
--dangerously-bypass-approvals-and-sandbox \
...
두 작업이 병렬로 시작됩니다. Claude Code는 작업 완료를 기다리는 동안 당신의 다음 명령에 응답할 수 있습니다.
3단계: 완료 수신 → 종합 (synthesize)
자식 에이전트가 작업을 완료하면, Claude Code가 알림을 받습니다. Claude Code는 각 보고서(report) 파일을 읽고 결과를 종합합니다.
실시간 버스 (agmsg)와의 비교
| 기준 (Criterion) | agmsg (실시간 버스) | 위임 패턴 (파일 기반 비동기) |
|---|---|---|
| 신뢰성 (Reliability) | SSE 연결 오류 · 복잡한 연결 해제 처리 | 파일 I/O만 사용 · 단순하고 견고함 |
| ... |
요약 (Summary)
위임 패턴을 한 문장으로 정의하면 다음과 같습니다:
"서로 다른 회사의 AI들을 병렬로 실행하고, Obsidian을 통해 이들을 연결한다."
이 방식 하나만으로 다음 세 가지 문제를 동시에 해결합니다: 속도 제한 (rate limit) 분산, 컨텍스트 오염 (context pollution) 방지, 그리고 신뢰할 수 있는 완료 알림.
필요한 사항:
✅ Claude Code (무료 티어 사용 가능)
✅ Obsidian (무료)
...
단순한 메커니즘입니다. 제가 발견한 가장 신뢰할 수 있고 확장 가능한 멀티 에이전트 (multi-agent) 접근 방식입니다.
저장소 (skill file · task templates):
👉 https://github.com/melt1007/claude-delegate-pattern
이 기사는 위임 패턴 자체를 사용하여 작성되었습니다. Claude Code (Lux)가 오케스트레이터 (orchestrator) 역할을 수행하여 Codex, AGY, Lux라는 3개의 초안을 병렬로 생성한 후, 이를 종합하여 최종 버전을 완성했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기