유피테르
유피테르
🧙 AI 위자드
🏅 베스트오브베스트

Claude Code용 멀티에이전트 팀을 Codex에서 다시 실행되게 만든 기록

한 줄 요약

Claude Code 기준으로 만들어 둔 4인 드라마 대본 제작팀을 Codex 방식에 맞게 옮기고, 실제로 storyWriter, charDesigner, sceneDirector, showrunner 역할을 나눠 샘플 대본 프로젝트까지 생성해 봤습니다.

이런 분들께 도움돼요

  • Claude Code에서 쓰던 에이전트/서브에이전트 설정을 Codex로 옮기려는 분

  • 하나의 AI에게 전부 맡기기보다 역할을 쪼개서 작업 품질을 관리하고 싶은 분

  • 콘텐츠 제작 파이프라인을 기획 -> 설정 -> 장면화 -> 검수 구조로 자동화해 보고 싶은 분

  • "멀티에이전트"를 말로만 듣지 않고, 실제 파일 산출물 기준으로 운영해 보고 싶은 분

시작점: 왜 이걸 했나

원래 이 폴더에는 Claude Code에 맞춰진 드라마 대본 제작팀이 들어 있었습니다.

구성은 꽤 구체적이었습니다.

  • story-writer: 막장 드라마 스토리, 10화 구조, 전체 나레이션 작성

  • character-designer: 캐릭터와 배경 설정, 이미지 프롬프트 작성

  • scene-director: 화별 장면, 감정 태그, 이미지 매핑 작성

  • showrunner: 일관성, 막장도, 클리프행어, 문장 수, 비율 검수

문제는 이 설정이 Claude Code 전용 개념에 묶여 있었다는 점이었습니다.

예를 들면 기존 문서에는 TeamCreate, subagent_type, TaskList, TaskUpdate, teammate 간 SendMessage 같은 흐름이 전제로 들어 있었습니다. Codex에서는 그대로 실행할 수 없기 때문에, 같은 역할 구조를 유지하되 Codex가 읽고 실행할 수 있는 방식으로 바꿔야 했습니다.

제가 원한 건 단순 변환이 아니었습니다.

"문서만 바꿨다"가 아니라, 실제로 Codex에서 팀을 띄워서 하나의 대본 프로젝트가 끝까지 나오는지 확인하고 싶었습니다.

만든 것 / 결과물

이번 작업의 결과는 크게 두 가지입니다.

첫 번째는 Codex용 팀 설정입니다.

  • AGENTS.md

  • .kkirikkiri/TEAM_PLAN.md

  • .kkirikkiri/TEAM_PROGRESS.md

  • .kkirikkiri/TEAM_FINDINGS.md

  • .kkirikkiri/TEAM_REPORT.md

  • .kkirikkiri/agents/story-writer.md

  • .kkirikkiri/agents/character-designer.md

  • .kkirikkiri/agents/scene-director.md

  • .kkirikkiri/agents/showrunner.md

두 번째는 실제 샘플 실행 결과입니다.

주제는 기존 CLAUDE.md 안에 있던 예시인 전기차충전소에서 만난 첫사랑을 사용했습니다.

생성된 프로젝트 폴더는 다음과 같습니다.

projects/전기차충전소에서_만난_첫사랑/

그 안에 이런 파일들이 만들어졌습니다.

story.md
full_narration.md
characters/오복순/profile.md
characters/한준호/profile.md
characters/서미영/profile.md
characters/오민재/profile.md
characters/서태수/profile.md
backgrounds/settings.md
episodes/ep01/images.md
episodes/ep01/narration.md
...
episodes/ep10/images.md
episodes/ep10/narration.md
_review/showrunner-notes.md

"Codex 멀티에이전트 팀이 생성한 최종 대본 프로젝트 구조"

다양한 옵션을 보여주는 컴퓨터 화면의 스크린샷

사용한 도구

  • Codex: 전체 lead 역할, 파일 수정, 검증, 최종 통합

  • Codex sub-agent: storyWriter, charDesigner, sceneDirector, showrunner 역할 실행

  • kkirikkiri 방식의 공유 메모리: .kkirikkiri/TEAM_*.md로 팀 계획, 진행 상황, 발견 사항 기록

  • PowerShell: 파일 구조 확인, 산출물 카운트 검증

  • apply_patch: AGENTS.md와 역할 프롬프트 파일 작성

진행 과정

1. 기존 Claude 설정을 먼저 읽었다

처음에는 폴더 구조를 확인했습니다.

.claude/
  agents/
    character-designer.md
    scene-director.md
    showrunner.md
    story-writer.md
CLAUDE.md

여기서 바로 옮기지 않고, 먼저 CLAUDE.md와 각 에이전트 파일을 읽었습니다.

이때 작은 문제가 하나 있었습니다. 처음 CLAUDE.md를 읽었을 때 한글이 깨져 보였습니다. PowerShell 기본 인코딩 문제였고, Get-Content -Encoding UTF8로 다시 읽어서 원래 내용을 확인했습니다.

이 과정이 중요했습니다. 대충 "드라마 대본 생성팀"이라고만 이해하면 역할 구조를 놓치기 쉽습니다. 실제 파일에는 다음처럼 구체적인 품질 기준이 들어 있었습니다.

  • 주인공은 60대 한국 할머니

  • 1인칭 존댓말 독백 톤

  • 10화 구성

  • 화당 10~12문장

  • 독백:대사 비율 30:70

  • 화당 이미지 프롬프트 10개

  • 마지막 문장은 클리프행어

  • 실제 이미지/오디오/영상은 생성하지 않음

2. Claude 전용 개념을 Codex용 실행 규칙으로 바꿨다

기존 설정의 핵심은 유지하되, 실행 방식은 Codex 기준으로 바꿨습니다.

Claude 쪽 개념은 이렇게 대체했습니다.

TeamCreate            -> Codex lead + spawn_agent
subagent_type         -> .kkirikkiri/agents/*.md 역할 프롬프트
TaskList/TaskUpdate   -> .kkirikkiri/TEAM_PROGRESS.md
SendMessage           -> 공유 파일과 lead 통합
Claude agent files    -> 참고 자료로 

그래서 루트에는 AGENTS.md를 만들고, .kkirikkiri/agents/ 안에 Codex용 역할 프롬프트를 새로 만들었습니다.

중요한 점은 기존 .claude/ 폴더를 지우거나 덮어쓰지 않았다는 것입니다. 기존 설정은 참고 자료로 남기고, Codex가 우선 읽어야 할 규칙을 별도로 둔 방식입니다.

"기존 Claude 설정은 보존하고, Codex 실행용 지침을 별도로 추가"

어두운 방에 있는 코드 편집기의 스크린샷

3. 공유 메모리를 만들고 팀 실행 계획을 기록했다

멀티에이전트 작업에서 중요한 건 "누가 뭘 했는지"가 사라지지 않는 것입니다.

그래서 .kkirikkiri/ 아래에 다음 파일을 만들었습니다.

  • TEAM_PLAN.md: 역할, 가정, 완료 기준

  • TEAM_PROGRESS.md: 진행 상태

  • TEAM_FINDINGS.md: 다음 에이전트가 알아야 할 발견 사항

  • TEAM_REPORT.md: 최종 통합 보고

여기에는 이런 가정도 명시했습니다.

  • 기존 .claude/ 파일은 보존한다.

  • Codex에서는 spawn_agent와 공유 파일로 협업한다.

  • 이번 샘플 주제는 CLAUDE.md에 있던 전기차충전소에서 만난 첫사랑을 사용한다.

  • 텍스트 모드이므로 이미지, 오디오, 영상, 자막, 비용 로그, voice_config.md는 만들지 않는다.

4. 실제로 네 역할을 나눠서 실행했다

이제 문서 작성에서 끝내지 않고, 실제로 에이전트를 나눠 실행했습니다.

먼저 storyWriter가 스토리 구조를 만들었습니다.

출력:

  • story.md

  • full_narration.md

그다음 charDesigner가 캐릭터와 배경을 만들었습니다.

출력:

  • 오복순, 한준호, 서미영, 오민재, 서태수 프로필

  • backgrounds/settings.md

그다음 sceneDirector가 10화 전체를 장면 단위로 풀었습니다.

출력:

  • episodes/ep01부터 episodes/ep10

  • 각 화마다 images.md

  • 각 화마다 narration.md

마지막으로 showrunner가 전체를 검수했습니다.

출력:

  • _review/showrunner-notes.md

실행 순서는 일부러 완전 병렬로 하지 않았습니다. 캐릭터와 에피소드는 스토리 구조를 읽어야 하고, 에피소드 작업은 캐릭터/배경 설정을 참조해야 했기 때문입니다. 그래서 의존성이 있는 작업은 순차로 넘기고, 각 에이전트의 쓰기 범위는 명확히 제한했습니다.

storyWriter
  -> story.md, full_narration.md

charDesigner
  -> characters/**/profile.md, backgrounds/settings.md

sceneDirector
  -> episodes/ep01..ep10/images.md, narration.md

showrunner
  -> _review/showrunner-notes.md

"팀 공유 메모리에 남은 멀티에이전트 진행 기록"

검은색 화면이 있는 컴퓨터 화면의 스크린샷

5. 중간에 생긴 문제도 바로 검증했다

작업 중 작은 시행착오가 몇 개 있었습니다.

첫 번째는 앞에서 말한 한글 인코딩 문제였습니다. CLAUDE.md를 기본 방식으로 읽었을 때 깨졌고, UTF-8로 다시 읽어서 해결했습니다.

두 번째는 python3 실행 문제였습니다. kkirikkiri helper script를 실행하려고 했는데 Windows 세션에서 python3 별칭이 제대로 동작하지 않았습니다. 그래서 python 명령으로 다시 실행했습니다.

세 번째는 이미지 프롬프트 카운트 검증이었습니다. 처음에는 ### 1. 같은 헤더 패턴으로 세려고 했는데, 실제 images.md는 번호 목록 형식이었습니다.

그래서 검증 패턴을 바꿨습니다.

1. **ep01_01**: ...
2. **ep01_02**: ...

이 기준으로 다시 세어 보니 각 화마다 이미지 프롬프트가 10개씩 정상적으로 들어 있었습니다.

이런 부분이 의외로 중요했습니다. 에이전트가 "완료했다"고 말하는 것과, 실제 파일이 요구 조건을 만족하는 것은 다른 문제라서요.

실제 작동 결과

최종 검증 결과는 다음과 같았습니다.

  • 에피소드 폴더 10개 생성: ep01부터 ep10

  • 각 에피소드에 images.md, narration.md 존재

  • 각 에피소드 이미지 프롬프트 10개

  • 각 에피소드 장면 10개

  • 각 에피소드 INTRO 장면 1개

  • 각 에피소드 감정 태그 10개

  • 금지 산출물 없음

    • *.png

    • *.mp3

    • *.mp4

    • subtitles.ass

    • cost_log.md

    • voice_config.md

  • showrunner 검수 결과: PASS

  • 블로킹 이슈: 없음

검수 노트에는 이런 식으로 결과가 남았습니다.

Overall: PASS
Blocking fixes: None
Every episode has exactly 10 image prompts.
Every structured episode scene text has one [emotion:...] tag.
No forbidden text-mode artifacts found.

"showrunner 에이전트가 남긴 최종 검수 결과"

쇼러너 리뷰 노트의 스크린샷

Before vs After

Before:

  • Claude Code 전용 팀 설정이 있어서 Codex에서는 그대로 실행하기 어려웠습니다.

  • 역할은 잘 나뉘어 있었지만 TeamCreate, subagent_type, TaskList, SendMessage 같은 전용 흐름에 의존했습니다.

  • Codex에서 쓰려면 매번 사람이 역할을 해석해서 프롬프트로 다시 전달해야 했습니다.

After:

  • AGENTS.md.kkirikkiri/agents/*.md로 Codex가 읽을 수 있는 팀 규칙을 만들었습니다.

  • 공유 메모리 파일로 계획, 진행, 발견, 최종 보고를 남겼습니다.

  • 실제 샘플 주제로 10화 드라마 대본 프로젝트를 생성했습니다.

  • 마지막에 별도 showrunner 검수까지 통과했습니다.

정량적인 시간 절감은 아직 측정하지 않았습니다. 다만 이번 실행으로 확인한 건, "기존 에이전트 설정을 Codex에 맞게 옮기고 실제 산출물까지 만드는 흐름"이 재현 가능하다는 점입니다.

배운 점

첫째, 에이전트 설정 이전에 산출물 구조를 먼저 고정하는 게 중요했습니다.

이번에는 story.md, characters/, episodes/, _review/처럼 역할별 쓰기 범위를 나눴기 때문에 충돌이 적었습니다. 멀티에이전트는 역할 이름보다 파일 소유권이 더 중요하다는 걸 다시 느꼈습니다.

둘째, 기존 도구의 개념을 그대로 옮기려고 하면 막힙니다.

Claude Code의 TeamCreate를 Codex에서 똑같이 재현하려고 하기보다, Codex에서 가능한 방식인 spawn_agent와 공유 파일 구조로 바꾸는 게 더 안정적이었습니다.

셋째, "완료" 보고를 믿기보다 기계적으로 검증해야 합니다.

이번에도 이미지 프롬프트 수, 장면 수, 감정 태그 수, 금지 파일 여부를 따로 확인했습니다. 콘텐츠 작업이라도 검증 가능한 조건을 만들면 훨씬 안심하고 자동화할 수 있습니다.

넷째, 검수 역할은 생각보다 유용했습니다.

showrunner는 단순 오탈자 검사가 아니라, 에피소드 구조, 클리프행어, 비율, 캐릭터 수, 금지 산출물까지 체크했습니다. 콘텐츠 제작에서도 리뷰어 에이전트를 따로 두는 게 품질 관리에 도움이 됐습니다.

아직 남은 점

이번 작업은 텍스트 모드까지만 검증했습니다.

남은 개선점은 다음과 같습니다.

  • full_narration.mdepisodes/**/narration.md 중 어느 쪽을 최종 원고로 삼을지 정하기

  • 에피소드 10의 엔딩 문장을 하나로 통일하기

  • 실제 이미지 생성 단계까지 연결한다면 캐릭터 외형 프롬프트를 더 일관되게 재사용하기

  • 새 주제를 입력했을 때 같은 팀이 바로 작동하도록 트리거 문구를 더 다듬기

다른 사람이 따라 하려면

핵심은 세 단계입니다.

  1. 기존 에이전트 파일을 그대로 덮어쓰지 말고 참고 자료로 보존한다.

  2. Codex가 읽을 수 있는 AGENTS.md와 역할별 프롬프트 파일을 새로 만든다.

  3. 각 에이전트의 쓰기 범위를 명확히 제한하고, 마지막에 별도 검수 에이전트를 둔다.

이번 구조를 다른 콘텐츠 작업에 바꾸어 적용하면, 예를 들어 이런 팀도 만들 수 있을 것 같습니다.

  • 강의안 제작팀: 기획자, 자료조사자, 슬라이드 작가, 검수자

  • 블로그 제작팀: 리서처, 초안 작성자, 편집자, SEO 검수자

  • 숏폼 제작팀: 후킹 작가, 장면 연출가, 이미지 프롬프트 담당, 품질 검수자

제일 중요한 건 "AI 여러 명을 띄운다"가 아니라, 각 AI가 남기는 파일과 다음 사람이 읽을 기준을 정해 주는 것이었습니다.

2
3개의 답글
밀어주고 끌어주는

온·오프라인 AI 스터디

AI로 어디까지 할 수 있는지
직접 확인하실 분만 신청하세요.