NousResearch/autonovel

An autonomous novel writing pipeline, by Hermes Agent

1,276
GitHub 스타
252
포크
Python
언어
미표기
라이선스
2026.03.20
최근 푸시
2026.06.08
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
소설 자동 생성을 실험하거나 AI 기반 창작 도구를 연구하는 개발자에게 적합합니다. 특히 karpathy/autoresearch 스타일의 반복적 개선 루프에 관심이 있다면 참고할 가치가 높습니다.

강점

  • 완전 자동화된 엔드투엔드 소설 제작 파이프라인으로, 시드 개념부터 인쇄/전자책/오디오북까지 한 번에 처리합니다.
  • 수정-평가-유지/폐기 루프와 이중 면역 체계(기계적 + LLM)를 통해 품질을 체계적으로 관리합니다.
  • Opus 리뷰 루프로 문학 비평가와 소설 교수라는 이중 관점의 피드백을 받아 고품질 결과물을 보장합니다.

약점

  • Anthropic, fal.ai, ElevenLabs 등 외부 API에 크게 의존하며, 특히 핵심 파이프라인에 Anthropic 키가 필수입니다.
  • 첫 번째 소설 제작에 6회의 Opus 리뷰 라운드가 필요할 정도로 시간과 비용이 많이 소요될 수 있습니다.
  • 파이프라인이 복잡하고 27개의 Python 스크립트로 구성되어 있어 초보자가 이해하고 수정하기 어려울 수 있습니다.

주의사항

  • API 키를 .env 파일에 저장해야 하며, 유출되지 않도록 주의해야 합니다.
  • 파이프라인 실행 시 상당한 API 비용이 발생할 수 있으므로 예산을 고려해야 합니다.
  • 생성된 소설의 저작권 및 윤리적 문제(예: AI 생성 콘텐츠 표시)를 확인해야 합니다.

시작 가이드

  • 저장소를 클론하고 .env.example을 참고하여 API 키를 설정한 후 빠른 시작 가이드를 따라 파이프라인을 테스트해보세요.
  • PIPELINE.md와 WORKFLOW.md를 읽어 파이프라인의 세부 단계와 수동 개입 지점을 이해하세요.
  • 자체 시드 개념으로 실험하거나 기존 소설의 개요를 입력하여 파이프라인의 출력 품질을 평가해보세요.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

autonovel

소설 쓰기, 수정, 조판, 삽화, 내레이션을 자동화하는 파이프라인입니다. 하나의 시드 개념(seed concept)에서 인쇄 준비가 완료된 PDF, ePub, 오디오북, 랜딩 페이지까지 — 모두 AI 에이전트가 생성합니다.

karpathy/autoresearch에서 영감을 받았습니다: 동일한 수정-평가-유지/폐기 루프를 소설에 적용했습니다.

첫 번째 제작 소설: The Second Son of the House of Bells — 19개 장, 79,456단어. autonovel/bells 브랜치를 참조하세요.


빠른 시작

# 클론 및 설정
git clone <repo-url> && cd autonovel
cp.env.example.env    # API 키 추가

# 의존성 설치
uv sync

# 시드 개념 생성 (또는 seed.txt에 직접 작성)
uv run python seed.py

# 전체 파이프라인 실행
uv run python run_pipeline.py --from-scratch

파이프라인

1단계: 기초(Foundation)

시드 개념으로부터 세계, 등장인물, 개요, 목소리, 정경(Canon)을 구축합니다. foundation_score > 7.5가 될 때까지 반복합니다.

2단계: 초고(First Draft)

장을 순차적으로 작성합니다. 각 장을 평가합니다. score > 6.0이면 유지, 그렇지 않으면 재시도합니다. 완벽보다는 진전을 우선합니다.

3a단계: 자동 수정(Automated Revision)

적대적 편집 → 컷 적용 → 독자 패널 → 브리프 생성 → 장 재작성. 점수가 안정화되면 고원 감지(Plateau detection)가 루프를 중단합니다.

3b단계: Opus 리뷰 루프(Opus Review Loop)

전체 원고를 Claude Opus에 보내 이중 인격 리뷰(문학 비평가 + 소설 교수)를 수행합니다. 실행 가능한 항목을 파싱합니다. 상위 문제를 수정합니다. 리뷰어가 주요 항목을 더 이상 찾지 못할 때까지 반복합니다.

4단계: 내보내기(Export)

문서 재구축, LaTeX 조판, 아트 생성, 오디오북 스크립트 생성, ePub 제작, 랜딩 페이지 생성.

전체 기술 사양은 PIPELINE.md를 참조하세요.


도구 (27개의 Python 스크립트)

기초(Foundation)

도구 목적
seed.py 시드 개념 생성
gen_world.py 시드 → 세계 바이블
gen_characters.py 시드 + 세계 → 등장인물 레지스트리
gen_outline.py 비트와 복선이 포함된 개요
genoutlinepart2.py 복선 원장
gen_canon.py 하드 팩트 상호 참조
voice_fingerprint.py 목소리 분석 및 발견

초고(Drafting)

도구 목적
draft_chapter.py 안티패턴 규칙을 적용한 단일 장 작성
run_drafts.py 배치 순차 장 초고 작성기

평가(Evaluation)

도구 목적
evaluate.py 기계적 슬롭 점수 + LLM 판정
adversarial_edit.py "500단어 삭제" 분석 → 분류된 컷
compare_chapters.py 1:1 엘로 토너먼트
reader_panel.py 4인격 소설 수준 평가
review.py Opus 이중 인격 리뷰 (중단 조건 포함)

수정(Revision)

도구 목적
gen_brief.py 피드백에서 수정 브리프 자동 생성
gen_revision.py 수정 브리프로 장 재작성
apply_cuts.py 배치 적대적 컷 적용기

아트 및 표지(Art & Cover)

도구 목적
gen_art.py 아트 파이프라인: 스타일, 큐레이션, 장식, 벡터화
genartdirections.py 큐레이션을 위한 다양한 아트 방향 생성
gencovercomposite.py 표지 아트에 텍스트 오버레이
gencoverprint.py 인쇄 준비 완전 감싸기 표지 (Lulu/KDP 사양)

오디오북(Audiobook)

도구 목적
genaudiobookscript.py 장을 화자별 스크립트로 파싱
gen_audiobook.py ElevenLabs를 통한 다중 음성 오디오 생성

오케스트레이션(Orchestration)

도구 목적
run_pipeline.py 전체 파이프라인 오케스트레이터 (시드 → 완성 소설)
buildarcsummary.py 장에서 아크 요약 재생성
build_outline.py 장에서 개요 재생성

파일 구조

FRAMEWORK (재사용 가능, master 브랜치):
  program.md             — 단계별 에이전트 지침
  CRAFT.md               — 작법 교육 (플롯, 등장인물, 세계, 산문)
  ANTI-SLOP.md           — 단어 수준 AI 티 탐지
  ANTI-PATTERNS.md       — 구조적 AI 패턴 탐지
  PIPELINE.md            — 전체 자동화 사양
  WORKFLOW.md            — 단계별 인간 가이드

TEMPLATES (소설별로 브랜치에 채워짐):
  voice.md               — 1부: 가드레일. 2부: 소설별로 발견됨
  world.md               — 세계 바이블 템플릿
  characters.md          — 등장인물 레지스트리 템플릿
  outline.md             — 장 개요 템플릿
  canon.md               — 하드 팩트 데이터베이스
  MYSTERY.md             — 중심 미스터리 (작가 전용)
  state.json             — 파이프라인 상태 추적기

TYPESETTING:
  typeset/novel.tex      — LaTeX 템플릿 (EB Garamond, 트레이드 페이퍼백)
  typeset/build_tex.py   — 장 → 벡터 장식이 포함된 LaTeX
  typeset/epub_*          — ePub 메타데이터, CSS, 앞부분

ART:
  audiobook_voices.json  — 등장인물 → ElevenLabs 음성 매핑
  landing/index.html     — 반응형 랜딩 페이지 템플릿

CONFIG:.env.example           — API 키 (Anthropic, fal.ai, ElevenLabs)
  pyproject.toml         — Python 의존성

작동 방식

소설은 다섯 개의 공진화(co-evolving) 계층으로 구성됩니다:

  계층 5:  voice.md          — HOW (어떻게 쓸 것인가)
  계층 4:  world.md          — WHAT (무엇이 존재하는가)
  계층 3:  characters.md     — WHO (누가 행동하는가)
  계층 2:  outline.md        — WHAT HAPPENS (무슨 일이 일어나는가)
  계층 1:  chapters/ch_NN.md — THE ACTUAL PROSE (실제 산문)
  횡단적: canon.md           — WHAT IS TRUE (무엇이 진실인가)

변경 사항은 아래로 (설정 변경 → 개요 변경 → 장 수정) 그리고 위로 (글쓰기에서 공백 발견 → 설정 업데이트 → 하위 항목 확인) 전파됩니다. 파이프라인은 state.json에서 전파 부채(propagation debts)를 추적합니다.

두 가지 면역 체계

  1. 기계적 (evaluate.py, LLM 없음): 정규식으로 금지 단어, 소설 클리셰, show-don't-tell 위반, 문장 균일성 검사.
  1. LLM 판정 (evaluate.py, 별도 모델): 산문 품질, 목소리 일관성, 등장인물 개성, 비트 커버리지 점수 부여.

Opus 리뷰 루프

자동 수정 사이클 이후, 전체 원고가 다음 프롬프트와 함께 Claude Opus로 전송됩니다:

"아래 소설을 읽으십시오. 먼저 문학 비평가로서, 그 다음 소설 교수로서 리뷰하십시오. 발견한 결함에 대해 구체적이고 실행 가능한 제안을 제공하십시오. 공정하되 정직하십시오. 결함을 찾을 필요는 없습니다."

이중 인격 리뷰는 자동 도구가 잡을 수 없는 것들(산문 수준의 반복, 등장인물의 얕음, 윤리적 공백, 구조적 단조로움)을 잡아냅니다. 리뷰어의 항목이 실제 문제보다는 대부분 조건부 애매모호함(qualified hedges)이 될 때까지 루프가 계속됩니다.


API 키

파이프라인은 세 가지 외부 서비스를 사용합니다:

서비스 용도
Anthropic ANTHROPICAPIKEY 글쓰기, 평가, 리뷰 (Sonnet + Opus)
fal.ai FAL_KEY 표지 아트 및 장식 생성 (Nano Banana 2)
ElevenLabs ELEVENLABSAPIKEY 다중 음성 오디오북 생성

.env.example.env로 복사하고 키를 입력하세요. 핵심 파이프라인에는 Anthropic 키만 필요합니다. 아트와 오디오북은 선택 사항입니다.


제작 이력

첫 번째 소설인 The Second Son of the House of Bells는 이 파이프라인을 통해 제작되었습니다:

  • 기초: 세계 바이블, 8명의 등장인물, 24장 개요, 목소리 발견
  • 초고: 24장, 75,698단어, 평가와 함께 순차적 작성
  • 수정: 6회 자동 사이클 + 6회 Opus 리뷰 라운드
  • 구조적: 4번의 병합을 통해 24장 → 19장
  • 아트: 리노컷 표지 (Nano Banana 2), 19개의 목판화 장식 (벡터화)
  • 오디오북: 19장이 4,179개의 화자별 세그먼트로 파싱됨
  • 최종: 79,456단어, 6회 리뷰 라운드, 모든 주요 항목 해결

영감

  • karpathy/autoresearch — 자율 연구 루프
  • Brandon Sanderson의 작법 강의 (마법의 법칙, 등장인물 슬라이더)
  • K.M. Weiland의 Creating Character Arcs
  • Blake Snyder의 Save the Cat
  • Ursula K. Le Guin의 "From Elfland to Poughkeepsie"
  • slop-forensicsEQ-Bench Slop Score

원본 저장소: NousResearch/autonovel

라이선스: 미표기

게재 제외를 원하시면 삭제 요청을 보내주세요.