코덱스들의 우화 (A Fable of Codexes)
요약
이 기술 기사는 Claude Code 스킬의 개념을 소개하며, Claude가 OpenAI Codex 워커들을 지휘하는 방식으로 작동합니다. 이 시스템은 작업 계획, 병렬 구현, 브랜치 검증 등 복잡한 개발 프로세스를 자동화하여 효율성을 높입니다.
핵심 포인트
- Claude Fable 5.1이 전체 작업을 계획하고 배치하며 통합을 담당합니다.
- Codex 워커들은 자체 Sol/Luna 에이전트 팀으로 병렬 구현 및 읽기 전용 검증을 수행합니다.
- Opus 5.5는 디자인 판단을, Sonnet 5.5는 코드베이스 조사를 맡아 역할을 분담합니다.
- Git worktrees와 리포지토리 기반의 캠페인 상태 관리가 가능하여 작업 재개가 용이합니다.
코덱스들의 우화 (A Fable of Codexes)
A Claude Code skill로, Claude가 OpenAI Codex 워커들 무리를 지휘하는 역할을 합니다. Claude Fable 5.1은 작업을 계획하고, GPT-6.1 Sol에 병렬 Codex 워커들을 배치하여 구현하며, 병합하기 전에 모든 브랜치를 검증합니다. 각 Sol 워커는 작업 규모에 맞춰 자체 Sol 및 Luna 에이전트 팀을 운영할 수 있으며, 광범위한 GPT-6 Luna 스윕은 대량의 읽기 전용 작업을 수행합니다. Claude Opus 5.5 에이전트는 디자인을 처리하고 Sol 워커들의 분대를 이끌며, Claude Sonnet 5.5 에이전트는 코드베이스를 조사합니다.
지휘자의 컨텍스트는 계획과 판단에 자유롭게 유지됩니다. 왜냐하면 워커들이 구현과 일상적인 검증에 자체 컨텍스트를 사용하고, 지휘자는 그들의 보고서를 읽기 때문입니다. 트윗(Git worktrees)은 많은 작가들이 충돌 없이 병렬로 작업할 수 있게 해주며, 캠페인 상태는 리포지토리(repo)에 존재하므로 나중에 세션을 시작해도 설정 과정 없이 캠페인 중간부터 재개할 수 있습니다.
워커 무리 (The fleet)
| 역할 | 모델 및 노력도 | 임무 |
|---|---|---|
| 지휘자 (Conductor) | Claude Fable 5.1, 높음 (또는 Opus 5.5, 높음) | 계획하고, 배치하며, 통합하고, 검증합니다. 기능 코드를 작성하지 않습니다. |
| ... | ||
| Codex가 없는 경우, Sonnet 5.5 워커들이 구현 역할을 맡고, Opus 5.5가 디자인 판단이 필요한 작업을 처리하며, 캠페인의 나머지 부분은 동일하게 유지됩니다. |
flowchart TD
C[Fable 5.1 conductor] -->|task briefs| W["Sol workers ×N<br>with leaf teams,<br>one worktree each"]
C -->|sub-goal briefs| L[Opus 5.5 squad lead]
...
이 스킬이 하는 일 (What the skill does)
이 스킬은 campaign-conductor입니다.
- 부트스트랩(Bootstrap). 리포지토리에서 처음 사용될 때 템플릿을
docs/campaign-hq/에 복사하고 세 개의 리프 역할 파일은.codex/agents/에 복사한 다음, 프로젝트의 CLAUDE.md에 포인터를 추가하여 나중에 해당 세션이 리포지토리 상태에서 재개되도록 합니다. - 라우팅(Routing). 기본값은 플릿 테이블을 따릅니다. "테스트를 Opus로 보내라" 또는 "이 웨이브를 xhigh에서 실행하라"와 같이 말하면 컨덕터가 이를
preferences.md에 작성하며, 이 파일은 세션 간 지속됩니다. - 규모 결정(Sizing). 작은 프로젝트는 계획을 직접 작성합니다. 크거나 생소한 프로젝트의 경우 먼저 병렬 읽기 전용 설문조사를 진행하며, 어떤 작가도 시작하기 전에 그 계획에 서명하게 됩니다.
- 병렬 웨이브(Parallel waves). 각 작가는 하나의 작업 트리와 브랜치를 할당받습니다. 플릿 테이블은 세션 ID와 함께 모든 디스패치(dispatch)를 추적하며, 각 웨이브는 디스패치, 수집(collect), 통합(integrate), 검증(verify)을 수행합니다. 완료된 Codex 세션은 작은 수정 사항을 위한 컨텍스트와 함께 재개됩니다.
- 리프 팀(Leaf teams). Sol 워커가 역할 이름에 따라
feature(제한적 판단),critic(읽기 전용 검토), 그리고grunt(기계적, Luna에서 작동) 리프를 생성합니다. 이 역할 파일들은 모델과 노력을 담고 있으므로, 브리프는 역할을 명시하고 새로운 모델 생성이 파일당 한 줄을 변경하게 합니다. - 스쿼드(Squads). Opus 5.5 리드는 하나의 통합 브랜치를 향해 여러 Sol 워커를 실행합니다. 깊이는 컨덕터, 리드, Sol 워커, 리프에서 멈추며; 리프는 절대 스폰되지 않습니다.
- 검토 게이트(Review gates). 모든 워커는 고정 스키마 JSON 보고서를 반환합니다. Codex는 Claude의 diff를 검토하고 Claude는 Codex의 diff를 검토하며, 높은 위험도의 작업은 diff와 테스트 출력을 기준으로 평가되는 배크오프(bake-off) 형태로 실행될 수 있습니다.
- 권한(Permissions). Codex 샌드박스, 네트워크 접근, 그리고 Claude 권한 모드는 시작 시 한 번 설정되고 기록되므로, 웨이브가 프롬프트에서 멈추는 일이 없습니다.
- 메모리(Memory). 디스패치 결과와 사용자의 수정 사항은
LEARNINGS.md에 기록되며, 파일이 비싸지기 전에 표준 규칙으로 압축됩니다.
examples/campaign-hq/에는 워커 브리프, 보고서 및 라우팅 파일을 포함하여 캠페인 중간 단계의 상태 파일들이 표시되어 있습니다.
캠페인 상태는 프로젝트에 저장됩니다:
docs/campaign-hq/
├── CAMPAIGN.md 계획(plan), 단계(phases), 플릿 테이블(fleet table)
├── LEARNINGS.md 지속 규칙(standing rules) + 디스패치 로그(dispatch log)
...
설치 (Install)
npx skills add jvogan/a-fable-of-codexes --skill campaign-conductor
또는 수동으로:
git clone --depth 1 https://github.com/jvogan/a-fable-of-codexes.git /tmp/afoc
cp -r /tmp/afoc/skills/campaign-conductor ~/.claude/skills/
사용법 (Use)
어떤 프로젝트에서든 Claude에게 다음과 같이 지시하세요:
start a campaign
Claude는 docs/campaign-hq/를 생성하고, 계획을 프로젝트 크기에 맞게 조정하며, 워커(workers) 배치를 시작합니다. 해당 저장소의 이후 세션에서는 캠페인이 재개됩니다. 일반 언어로 지시하세요:
- "billing 마이그레이션을 위한 단계를 추가해 줘"
- "지금부터 Opus에 테스트를 보내도록 해" (preferences.md에 저장됨)
- "최대한 깊이 생각해서 이 레이스 컨디션(race condition)에 대해 Astra의 두 번째 의견을 받아봐" (max 수준에서 읽기 전용인
gpt-6-astra실행) - "상태 알려줘" (계획과 플릿 테이블을 읽음)
요구 사항 (Requirements)
- Claude Code: 세션 모델로 Fable 5.1 또는 Opus 5.5가 필요합니다. 이 스킬은 Agent 및 Workflow 도구를 사용하며, Opus 5.5와 Sonnet 5.5에서 Claude 서브 에이전트를 실행합니다.
- OpenAI Codex CLI (github.com/openai/codex).
npm install -g @openai/codex또는brew install codex로 설치한 후,codex login을 실행하세요. ChatGPT-plan 인증은 계획 사용량을 기반으로 하며, 제한은 플랜별로 다릅니다. API 키 인증은 토큰당 과금됩니다. 크기(Size)는 할당량에 맞게 조정합니다. 이 스킬은 모든 배치 작업에서 모델과 노력을 전달하므로, 캠페인 외부에서 일치시키려면~/.codex/config.toml에 기본값을 설정하세요:
model = "gpt-6.1-sol"
model_reasoning_effort = "high"
노력(Effort)은 low, medium, high, xhigh, max, ultra로 나뉘며, 스킬은 high 미만으로는 작동하지 않습니다. Luna는 max에서 멈춥니다. ultra는 자체적으로 서브 에이전트에게 위임하기 때문에, 이 스킬은 요청할 때만 이를 사용합니다.
- 다른 에이전트 CLI (선택 사항). 각각 읽기 전용의 '제2 의견'을 위한 모델 패밀리를 추가하고 OAuth로 로그인합니다: Antigravity CLI
agy(antigravity.google)는gemini-3.8-flash-high에서, Grok Buildgrok은xhigh의grok-4.7에서, Meta의 Muse Codemuse는max의muse-spark-1.3-contributor에서 사용됩니다. 이들이 없으면 Claude와 Codex 간에 크로스 모델 검토가 실행됩니다. - Claude Code용 Codex 플러그인 (선택 사항, github.com/openai/codex-plugin-cc).
/codex:review,/codex:adversarial-review및 캠페인 외부의 일회성 작업을 위한 백그라운드 위임 명령을 추가합니다:
/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
모델 변경하기
모델 이름은 네 곳에 존재합니다. 새로운 세대가 출시되면, 이들을 함께 업데이트해야 합니다:
skills/campaign-conductor/SKILL.md: 프런트매터(frontmatter)와 라우팅 테이블.skills/campaign-conductor/references/: 쉐이프 테이블(shape tables)과 명령어 예시.skills/campaign-conductor/assets/: 역할 파일(role files)과preferences.md.examples/campaign-hq/와 이 README.
이미 실행 중인 캠페인은 .codex/agents/와 docs/campaign-hq/preferences.md에 자체 복사본을 유지합니다. 새로운 모델로 이동하려면 이 파일들을 수정하십시오.
유효성 검사 (Validation)
python3 scripts/validate.py
npx --yes skills add . --list
validate.py는 각 스킬을 Agent Skills spec (프런트매터 필드, 이름 형식, 설명 길이) 및 이 저장소의 500줄 본문 제한, 상대 링크, 모든 Codex 역할 파일에 필요한 키와 비교합니다. skills 명령어는 설치 프로그램이 패키지를 찾을 수 있는지 확인합니다. CI(지속적 통합)는 푸시 및 풀 리퀘스트 모두에서 실행됩니다.
라이선스
MIT
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기