웹툰 제작을 AI로 자동화한다는 말은 이제 낯설지 않습니다.
하지만 실제로는 “이미지 몇 장 생성” 수준에서 끝나는 경우가 많고, 회차 단위 제작 파이프라인 으로 올라가면 갑자기 난도가 높아집니다.
트렌드 조사, 콘셉트 설정, 캐릭터 일관성, 긴장감 있는 대사 설계, 수십 장 패널 렌더, 검수, 세로 스크롤 조립까지 이어져야 하기 때문입니다.
revfactory/webtoon-harness 는 바로 이 지점을 겨냥합니다.
저장소는 자신을 “트렌드 조사부터 세로 스크롤 뷰어 완성까지, 웹툰 한 회차를 AI 에이전트 팀이 단계별로 만들어내는 Claude Code 하네스” 로 설명합니다.
이 프로젝트가 흥미로운 이유는 “AI로 웹툰 만든다"는 선언보다, 그 일을 Claude Code용 하네스 구조로 어떻게 쪼개고 연결했는가 에 있습니다.
README 기준으로 이 저장소는 27개 전문 에이전트, 6개 스킬, 4개 팀, 그리고 리서치 → 시나리오 → 비주얼 → 조립검수 로 이어지는 파이프라인을 명시적으로 설계합니다.
Sources
이 저장소가 해결하려는 문제: “이미지 생성"이 아니라 “회차 생산 시스템”
README가 가장 먼저 강조하는 것은 범위입니다.
이 하네스는 단순히 한 장의 웹툰 이미지를 뽑는 도구가 아니라, 다음 흐름 전체를 자동화 대상으로 둡니다.
- 인기 웹툰 트렌드 조사
- 대사 위주·고긴장·매 회차 반전 시나리오 작성
- 캐릭터 레퍼런스 시트 선행 렌더
- 회차당 50+ 패널 생성
- 말풍선과 한글 대사의 in-image 베이크
- 생성-검증 루프 기반 재생성
- 세로 스크롤 뷰어 조립
즉 이 프로젝트의 핵심은 생성 모델 하나의 품질보다, 여러 산출물을 순서와 규칙에 따라 연결하는 운영 체계 입니다.
웹툰 제작에서 가장 자주 무너지는 부분은 장면 간 일관성, 긴장감 유지, 대사 톤 유지, 패널 누락, 후반 조립 품질인데, 이 저장소는 그 문제를 “하나의 거대한 프롬프트"로 해결하려 하지 않습니다.
대신 역할을 분리하고, 중간 산출물을 남기고, 검증 루프를 두는 식으로 접근합니다.
flowchart TD
A["트렌드 조사"] --> B["시나리오 설계"]
B --> C["레퍼런스 시트 렌더"]
C --> D["패널 생성"]
D --> E["검증 / 재생성"]
E --> F["세로 스크롤 조립"]
F --> G["릴리스 패키징"]
classDef researchTone fill:#c5dcef,color:#333,stroke:#6b9ac4,stroke-width:1px;
classDef storyTone fill:#e0c8ef,color:#333,stroke:#9b7fc0,stroke-width:1px;
classDef renderTone fill:#fde8c0,color:#333,stroke:#d9b66b,stroke-width:1px;
classDef qaTone fill:#c0ecd3,color:#333,stroke:#7dbb95,stroke-width:1px;
class A researchTone
class B,C storyTone
class D,F renderTone
class E,G qaTone이 그림에서 중요한 포인트는 비주얼 생성이 중간 단계라는 점입니다.
프로젝트는 이미지 모델을 중심에 두지 않고, 스토리와 참조 체계가 먼저 나오고 이미지 생성은 그 뒤를 따르는 구조 로 잡고 있습니다.
27개 에이전트를 4개 팀으로 묶은 구조
README는 에이전트를 다음 네 팀으로 나눕니다.
- 리서치팀
- 시나리오팀
- 비주얼팀
- 조립검수팀
그리고 각 팀 안에 세부 역할이 매우 분명하게 쪼개져 있습니다.
예를 들어 리서치팀은 trend-scout, platform-ranker, audience-analyst, hook-analyst, trend-synthesizer 로 구성됩니다.
즉 조사도 한 명이 다 하는 게 아니라, 트렌드 / 랭킹 / 독자 반응 / 후킹 포인트 / 최종 종합 으로 분업합니다.
시나리오팀은 더 촘촘합니다.
concept-architectworldbuildercharacter-designerseries-plottertwist-mastertension-engineerepisode-outlinerdialogue-writerscript-editor
이 구성은 저장소가 웹툰을 “그림"보다 긴장감 있는 연재 서사 포맷 으로 본다는 뜻에 가깝습니다.
반전, 긴장 곡선, 비트시트, 대사 교정이 독립 역할로 빠져 있기 때문입니다.
flowchart TD
R["리서치팀"] --> R1["트렌드 / 랭킹 / 독자 반응"]
R --> R2["후킹 포인트 분석"]
R --> R3["기획 브리프 종합"]
S["시나리오팀"] --> S1["콘셉트 / 세계관 / 캐릭터"]
S --> S2["시리즈 아크 / 반전 / 긴장 곡선"]
S --> S3["비트시트 / 대사 / 최종 대본"]
V["비주얼팀"] --> V1["스타일 바이블"]
V --> V2["레퍼런스 시트"]
V --> V3["패널 렌더 / 검증"]
Q["조립검수팀"] --> Q1["세로 스크롤 조립"]
Q --> Q2["QA / 연속성 관리"]
Q --> Q3["최종 사인오프"]
classDef researchTone fill:#c5dcef,color:#333,stroke:#6b9ac4,stroke-width:1px;
classDef storyTone fill:#e0c8ef,color:#333,stroke:#9b7fc0,stroke-width:1px;
classDef visualTone fill:#fde8c0,color:#333,stroke:#d9b66b,stroke-width:1px;
classDef qaTone fill:#c0ecd3,color:#333,stroke:#7dbb95,stroke-width:1px;
class R,R1,R2,R3 researchTone
class S,S1,S2,S3 storyTone
class V,V1,V2,V3 visualTone
class Q,Q1,Q2,Q3 qaTone이 팀 구조는 단순히 보기 좋은 도식이 아닙니다.
Claude Code 하네스라는 맥락에서는, 각 역할이 다른 프롬프트와 다른 산출물 계약 을 가진다는 뜻입니다.
즉 프로젝트의 핵심 자산은 최종 패널 PNG만이 아니라, 각 단계가 어떤 입력을 받아 어떤 출력 파일을 남기는지에 대한 작업 계약 입니다.
.claude 기반 하네스 설계가 의미하는 것
저장소 구조는 매우 직설적입니다.
.claude/agents/에 27개 전문 에이전트 정의.claude/skills/에 6개 방법론 스킬- 그중
webtoon-orchestrator가 메인 진입점
이 구성은 이 프로젝트가 독립 앱이라기보다, 다른 프로젝트 루트에 복사해서 쓰는 운영 레이어 임을 보여 줍니다.
README도 실제 사용법을 “저장소를 클론한 뒤 .claude 디렉토리를 작업 프로젝트 루트에 복사하고 Claude Code를 실행하라"는 식으로 설명합니다.
즉 사용자는 웹툰 생성 웹앱을 여는 것이 아니라, Claude Code 세션에 도메인 특화 팀과 스킬 세트를 주입 하는 형태로 이 하네스를 씁니다.
이 패턴은 최근 에이전트 개발 흐름에서 자주 보이는 방향과 맞닿아 있습니다.
- 앱을 새로 만드는 대신
- 에이전트가 일하는 작업 환경을 구조화하고
- 역할, 순서, 검증 규칙을 묶어서
- 재사용 가능한 하네스로 만드는 방식입니다
flowchart TD
A["작업 프로젝트 루트"] --> B[".claude/agents"]
A --> C[".claude/skills"]
C --> D["webtoon-orchestrator"]
D --> E["단계별 팀 호출"]
E --> F["중간 산출물 생성"]
F --> G["_workspace / RELEASE"]
classDef projectTone fill:#c5dcef,color:#333,stroke:#6b9ac4,stroke-width:1px;
classDef skillTone fill:#e0c8ef,color:#333,stroke:#9b7fc0,stroke-width:1px;
classDef flowTone fill:#fde8c0,color:#333,stroke:#d9b66b,stroke-width:1px;
classDef outTone fill:#c0ecd3,color:#333,stroke:#7dbb95,stroke-width:1px;
class A,B,C projectTone
class D,E skillTone
class F flowTone
class G outTone여기서 특히 중요한 것은 webtoon-orchestrator 입니다.
README는 이것을 메인 오케스트레이터이자 진입점으로 설명합니다.
즉 사용자는 “웹툰 1화 만들어줘”, “다음 화 만들어”, “패널 23번 다시 그려” 같은 자연어 요청을 던지고, 오케스트레이터가 필요한 팀과 단계를 재조합하는 구조입니다.
이건 단순 배치 스크립트보다 훨씬 유연합니다.
전체 파이프라인 실행과 부분 재실행을 모두 허용하기 때문입니다.
이 저장소의 진짜 핵심: 레퍼런스 시트 선행과 생성-검증 루프
README에서 가장 눈에 띄는 설계는 두 가지입니다.
- 레퍼런스 시트 선행 렌더
- 생성-검증 루프
첫 번째는 캐릭터 다각도·표정 레퍼런스를 먼저 렌더해서, 회차 간 외형 일관성의 단일 진실원천을 확보하는 방식입니다.
웹툰 자동 생성에서 가장 흔한 실패는 주인공 얼굴, 헤어스타일, 의상 디테일, 표정 톤이 컷마다 흔들리는 것입니다.
이 저장소는 이를 프롬프트 개선의 문제만으로 보지 않고, 참조 자산을 먼저 고정하는 문제 로 봅니다.
두 번째는 비주얼팀이 패널을 생성한 뒤 panel-validator 가 6축 검증을 수행하고, 기준 미달 패널만 재생성한다는 점입니다.
즉 “한 번 생성하고 끝"이 아니라, 부분 실패를 개별적으로 되감는 구조 입니다.
이 접근은 비용은 들지만, 전체 회차를 통째로 다시 만드는 비효율을 줄일 수 있습니다.
flowchart TD
A["캐릭터 / 설정"] --> B["레퍼런스 시트 선행 렌더"]
B --> C["스타일 / 장소 / 일관성 토큰"]
C --> D["패널 프롬프트 합성"]
D --> E["codex-image 병렬 렌더"]
E --> F["panel-validator 6축 검증"]
F --> G["통과 패널"]
F --> H["기준 미달 패널"]
H --> D
classDef refTone fill:#c5dcef,color:#333,stroke:#6b9ac4,stroke-width:1px;
classDef tokenTone fill:#e0c8ef,color:#333,stroke:#9b7fc0,stroke-width:1px;
classDef renderTone fill:#fde8c0,color:#333,stroke:#d9b66b,stroke-width:1px;
classDef qaTone fill:#c0ecd3,color:#333,stroke:#7dbb95,stroke-width:1px;
class A,B refTone
class C,D tokenTone
class E renderTone
class F,G,H qaToneREADME는 여기에 in-image 말풍선 베이크 도 함께 둡니다.
즉 말풍선과 한글 대사를 생성 시점에 이미지 안에 같이 그려서, 조립 단계에서 별도 텍스트 오버레이를 쓰지 않겠다는 전략입니다.
이 선택은 장단점이 분명합니다.
좋은 점은:
- 조립기가 단순해집니다
- 이미지와 말풍선 배치가 한 번에 맞춰집니다
- 연출과 타이포 배치가 패널 수준에서 결정됩니다
반대로 어려운 점은:
- 한글 가독성 실패가 곧 재생성 사유가 됩니다
- 대사 수정이 생기면 텍스트만 바꾸는 것이 아니라 패널 재생성이 필요할 수 있습니다
즉 이 저장소는 후처리 단순화와 생성 단계 복잡화를 맞바꿉니다.
그리고 그 선택을 가능하게 하는 전제가 바로 검증 루프입니다.
워크플로우를 보면 왜 “하네스"라는 표현이 맞는지 보인다
README의 워크플로우는 다음 순서로 제시됩니다.
trend-brief.mdconceptworldcharactersseries-arctwist-plan,tension-curvebeatsheetscriptscript_finalstyle-bible,character-sheetsrefs/*.pngshotlist,letteringpromptspanel_*.pngvalidation.mdindex.htmlqa_reportRELEASE/ep{NN}/
이 흐름을 보면 프로젝트는 생성형 AI를 블랙박스로 두지 않습니다.
오히려 각 단계마다 사람이 읽을 수 있는 중간 산출물 을 남기게 설계돼 있습니다.
그래서 README는 “모든 중간 산출물을 _workspace/ 에 보존한다"고 설명하고, 이를 감사 추적의 일부로 봅니다.
이 점은 실무적으로 중요합니다.
문제가 생겼을 때 “모델이 이상하게 만들었다"에서 끝나지 않고, 어느 단계에서 어떤 산출물이 무너졌는지 되짚을 수 있기 때문입니다.
실전 적용 포인트
이 저장소는 완성형 서비스라기보다, 도메인 특화 제작 파이프라인을 Claude Code 하네스로 옮기는 예시 로 보는 편이 좋습니다.
그래서 웹툰 외 작업에도 다음 패턴을 그대로 가져갈 수 있습니다.
첫째, 생성 전에 참조 자산을 먼저 확정 하는 방식입니다.
캐릭터 시트 대신 제품 카탈로그, 브랜드 가이드, UI 토큰, 아바타 기준 이미지 같은 것으로 바꿔도 동일한 원리가 적용됩니다.
둘째, 대형 작업을 역할 기반 팀 으로 쪼개는 방식입니다.
한 명의 만능 에이전트보다, 조사 / 구조화 / 생성 / 검증 / 릴리스 역할을 분리하면 실패 지점을 찾기 쉬워집니다.
셋째, 생성 이후에 검증-재생성 루프 를 명시적으로 두는 방식입니다.
이 패턴은 웹툰뿐 아니라 문서 생성, 코드 생성, UI 생성, 데이터 파이프라인 설계에도 그대로 확장 가능합니다.
다만 README만 기준으로 보면 한계도 분명합니다.
- 실제 비용 추적이나 토큰 사용량 자료는 제공되지 않습니다
- 6축 검증의 세부 기준은 README 수준에서는 요약돼 있습니다
- 50+ 패널 회차를 반복 생성할 때의 운영 안정성은 추가 실험이 필요합니다
즉 지금 단계에서 이 저장소를 보는 가장 좋은 시선은 “바로 프로덕션 투입할 제품"보다는, 에이전트 하네스를 도메인 파이프라인에 어떻게 매핑하는지 보여 주는 강한 사례 입니다.
핵심 요약
webtoon-harness는 웹툰 한 회차 제작을 리서치 → 시나리오 → 비주얼 → 조립검수 로 분해한 Claude Code 하네스입니다.- 공식 README 기준으로 27개 전문 에이전트 와 6개 스킬 을 사용하며,
.claude/agents와.claude/skills가 핵심 구조입니다. webtoon-orchestrator가 자연어 요청을 받아 필요한 팀과 단계를 조율하는 메인 진입점 역할을 합니다.- 설계의 핵심은 레퍼런스 시트 선행 렌더, in-image 말풍선 베이크, 생성-검증 재생성 루프, 중간 산출물 보존 입니다.
- 이 저장소의 진짜 가치는 웹툰 결과물 자체보다, 복잡한 창작 워크플로를 에이전트 하네스로 구조화하는 방법 을 보여 준다는 데 있습니다.
결론
revfactory/webtoon-harness 는 “AI가 웹툰을 그린다"는 데서 한 걸음 더 나아가, 웹툰 제작 공정을 어떻게 에이전트 팀 시스템으로 바꿀 수 있는가 를 보여 주는 저장소입니다.
특히 .claude 디렉토리 기반 하네스, 역할 분리, 참조 자산 우선 전략, 검증 루프 중심 운영은 웹툰 밖의 다른 제작 자동화에도 충분히 응용 가능합니다.
2026년 6월 30일 기준 GitHub 저장소 메타데이터상 이 프로젝트는 공개 저장소이며 star 141개, fork 57개를 기록하고 있는데, 숫자보다 더 중요한 것은 도메인 지식을 “에이전트가 실행 가능한 작업 계약"으로 바꿔 놓았다는 점 입니다.