Files
novel-writing-guide/templates/standards/plot-mode.md
Alex 7225abbfe8 plot-mode v2.1.0: 4단계 플롯 밀도 체계 적용
주요 변경사항:
- Design Guide v1.3.0 호환 (Phase 4-3: 5화별 상세 플롯)
- 4단계 플롯 밀도 체계 다이어그램 추가
  - 이 프로토콜 = 3단계 (최대밀도: Part별 장면 상세)
  - 산출물: volumes/vol-XX/plots/plot-XXX-YYY.md

파일 경로 업데이트:
- 참조: volumes/vol-XX/volume-plot.md (2단계: 권별)
- 참조: settings/plot-master.md (0단계+1단계: 전체 시즌)
- 산출물: volumes/vol-XX/plots/plot-XXX-YYY.md (3단계: 5화별 상세)
- 삭제: volumes/vol-XX/plot-master.md (volume-plot.md로 대체)

타임라인 검증 범위 수정:
- Phase 3: 권 전체(50화) → 5화 단위 검증
- 이전 5화 플롯과 연결 검증 추가

Best Practices 수정:
- 권별 플롯 작성 순서 → 5화별 상세 플롯 작성 순서
- 2단계(권별) 완료 후 3단계(5화별 상세) 실행

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 12:50:17 +09:00

19 KiB
Raw Blame History

플롯 모드 프로토콜 (5화별 상세 플롯)

버전: 2.1.0 최종 수정: 2026-01-25 호환: CWS Design Guide v1.3.0+ 용도: Design Guide Phase 4-3 - 5화별 상세 플롯 작성 (3단계 밀도) 산출물: volumes/vol-XX/plots/plot-XXX-YYY.md


📋 CHANGELOG

v2.1.0 (2026-01-25) - 4단계 플롯 밀도 체계 적용

변경:

  • 📌 파일 구조 업데이트 (Design Guide v1.3.0 호환)
    • 참조: volumes/vol-XX/volume-plot.md (2단계: 권별 플롯)
    • 참조: settings/plot-master.md (0단계+1단계: 전체 시즌)
    • 산출물: volumes/vol-XX/plots/plot-XXX-YYY.md (3단계: 5화별 상세)
    • volumes/vol-XX/plot-master.md (삭제됨, volume-plot.md로 대체)
  • 📌 플롯 밀도 체계 명시
    • 이 프로토콜 = 3단계 (최대밀도: Part별 장면 상세)
    • 2단계 (권별) 완료 후 이 프로토콜 실행
  • 📌 호환 정보 변경: Design Guide v1.3.0+

v2.0.0 (2026-01-25) - Major Update

배경:

  • 문제: 기존 플롯이 너무 간략 (날짜, 장소, 핵심 내용만)
  • 원인: 작성 시 즉흥적 해석 → 플롯 불일치, 설정 모순
  • 결과: VERIFICATION에서 대량 발견, 예술성 부족

추가:

  • 📌 상세 설계 템플릿 (프로그래밍 설계서 수준)
  • 📌 캐릭터 목표 & 갈등 설계
  • 📌 감정선 설계 (시작→중간→끝)
  • 📌 장면별 상세 (Part 단위 분량, 분위기, 대화 주제)
  • 📌 복선 체크리스트
  • 📌 설정 일관성 체크리스트

철학:

PLOT = 상세 설계서
WRITING = 설계 구현
VERIFICATION = 구현 검증

설계가 완벽하면 구현도 완벽!
→ 프로그래밍처럼 접근

예상 효과:

  • 플롯 불일치: 10-20건 → 2-5건 (80% 감소)
  • 설정 모순: 5건 → 1건 (80% 감소)
  • 예술성 향상: 감정선 설계로 몰입도 상승
  • 90% 품질 달성 확률 대폭 증가

v1.0.0 (2026-01-25) - 초기 버전

배경:

  • 문제: 플롯 자체에 타임라인 역행 존재
  • 예시: 8화(11월) → 9화(10월), 20화(4월) → 21화(3월)
  • 결과: 작성 단계에서 역행 발생 → FIX 모드 재배치 필요
  • 근본 원인: 설계 단계(플롯)에 검증 프로토콜 없음

추가:

  • 📌 플롯 작성 시 타임라인 검증 프로토콜
  • 이전 화 종료일 ≤ 다음 화 시작일 강제 검증
  • 전체 플롯 타임라인 일관성 체크
  • 회상/병렬 서사 명시 규칙
  • 플롯 형식 표준

철학:

PLOT 모드 = 설계 단계 품질 보증
WRITING 모드 = 1차 방어선 (예방)
VERIFICATION 모드 = 최후의 보루 (검증)

→ 설계가 올바르면 작성도 올바르다!

🎯 플롯 모드 개요

4단계 플롯 밀도 체계에서의 위치

┌─────────────────────────────────────────────────────┐
│ 0단계: 전체 시즌 (15권)    초저밀도                  │
│    settings/volume-plot.md                         │
│    3시즌 = 반 페이지                                │
├─────────────────────────────────────────────────────┤
│ 1단계: 시즌별 (5권)        최소밀도                  │
│    settings/volume-plot.md                         │
│    1시즌 = 1페이지                                  │
├─────────────────────────────────────────────────────┤
│ 2단계: 권별 (50화)         중간밀도                  │
│    volumes/vol-XX/volume-plot.md                   │
│    50화 = 1-2페이지                                │
├─────────────────────────────────────────────────────┤
│ 3단계: 5화별 상세 ⭐ 이 프로토콜!   최대밀도        │
│    volumes/vol-XX/plots/plot-XXX-YYY.md            │
│    Part별 장면 상세 (2,500자 단위)                 │
└─────────────────────────────────────────────────────┘

이 프로토콜은:

  • Design Guide Phase 4-3 (5화별 상세 플롯)
  • 3단계 밀도 (최대밀도) 플롯 작성
  • 2단계 (권별 플롯) 완료 후 실행
  • 타임라인 일관성 필수 검증
  • 회상/병렬 서사 명시
  • 플롯 완성 후 전체 검증

진입 명령:

  • "1-5화 상세 플롯 작성"
  • "plot-001-005.md 작성해"
  • "X-Y화 플롯 작성해"
  • "5화 플롯 검증"

📝 플롯 작성 프로세스

Phase 1: 준비

1. 플롯 범위 확인
   - 신규: X-Y화 (보통 5화 단위)
   - 수정: 특정 화 또는 전체
   - 예: plot-001-005.md, plot-006-010.md

2. 필수 파일 읽기
   - settings/volume-plot.md (0단계+1단계: 전체 시즌)
   - volumes/vol-XX/volume-plot.md (2단계: 권별 플롯)
   - volumes/vol-XX/timeline.md
   - volumes/vol-XX/characters.md

3. 이전 화 마지막 날짜 확인
   - 이전 5화 플롯 파일에서 마지막 화 타임라인 추출
   - 예: plots/plot-001-005.md에서 5화 종료일 = 1945.9.20

Phase 2: 각 화 플롯 작성

1. 화수 및 제목 설정
   예: ### 8화: 금괴 탈취 작전

2. 🚨 타임라인 설정 및 검증 (필수!)

   ❌ **이 절차를 건너뛰면 타임라인 역행이 발생합니다!**
   ✅ **반드시 아래 3단계를 순서대로 확인하세요:**

   ---

   **Step 1: 이전 화 종료 날짜 확인**
   ```bash
   # 이전 5화 플롯 파일에서 마지막 화 검색
   # 예: 6-10화 작성 중이면 plots/plot-001-005.md에서 5화 확인
   grep "5화" plots/plot-001-005.md

   # 출력 예시:
   # ### 5화: 금괴 탈취 작전
   # - **타임라인:** 1945.9.11-9.20

   → 이전 화 종료일: 1945.9.20

Step 2: 현재 화 타임라인 설정

현재 화: 8화
플롯 내용: 건준 활동, 신탁통치 준비

→ 예상 기간: 1945.9.21-9.30 (10일)

시작일: 1945.9.21
종료일: 1945.9.30

Step 3: 타임라인 역행 체크 (필수!)

비교:
- 이전 화 종료일: 1945.9.20
- 현재 화 시작일: 1945.9.21

판정:
→ 9.20 < 9.21 ✅ 정상!
→ 타임라인 설정: 1945.9.21-9.30

역행 감지 예시:

비교:
- 이전 화 종료일: 1945.11.10
- 현재 화 시작일: 1945.10.1

판정:
→ 11.10 > 10.1 ❌ 역행!

⚠️ 즉시 중단!

원인 파악:
1. 회상 장면인가? → 제목에 "[회상]" 추가
2. 병렬 서사인가? → 제목에 "[병렬]" 추가
3. 플롯 순서 오류인가? → 순서 재조정

조치 후 다시 검증

  1. 상세 설계 작성 v2.0.0 강화!

    3-1. 기본 정보 (필수)

    ### 28화: 만주 희토류 확보
    
    - **타임라인:** 1946.03.05-15
    - **장소:** 만주 연길
    - **등장인물:** 최태준, 강세우, 조선족 협력자
    

    3-2. 핵심 이벤트 (3개, 필수)

    - **주요내용:**
      * 희토류 광산 10만 평 매입 협상
      * 국공내전 양측과 비밀 접촉
      * 조선족 네트워크 구축 완료
    

    3-3. 캐릭터 목표 & 갈등 신규! (v2.0.0)

    - **목표:**
      * 최태준: 50만 평 토지 확보 (현재 30만 평 → 목표 50만 평)
      * 상대방: 최대한 높은 가격으로 판매
    
    - **갈등:**
      * 외부: 국민당 관리의 의심 (조선인이 왜 땅을?)
      * 내부: 자금 한계 (남은 예산 부족)
      * 시간: 국공내전 임박 (서두르지 않으면 기회 상실)
    
    - **해결:**
      * 조선 독립 명분 제시 (공감 유도)
      * 분할 지불 조건 (자금 부담 감소)
      * 신속 계약 (시간 압박 활용)
    

    3-4. 감정선 설계 신규! (v2.0.0)

    - **감정 흐름:**
      * 시작: 긴장 (냉랭한 협상, 상호 불신)
      * 중간: 반전 (공통 이익 발견, 마음 열림)
      * 끝: 해소 (합의, 악수)
    
    - **독자 감정:**
      * 초반: 불안 ("협상 깨지면 어쩌지?")
      * 중반: 기대 ("이렇게 풀리는구나!")
      * 끝: 만족 ("성공!")
    
    - **긴장도:** [6/10] → 적당한 긴장감
    

    3-5. 복선 체크 신규! (v2.0.0)

    - **설치할 복선:**
      * 국공내전 예측 ("곧 전쟁이 터질 것")
      * 희토류 가치 암시 ("이 돌이 미래를 바꿀 것")
    
    - **회수할 복선:**
      * ch-015: 최태준 만주 출발 → 목적 달성
      * ch-008: 만주 계획 언급 → 구체화
    

    3-6. 장면별 상세 (Part 단위) 신규! (v2.0.0)

    ## Part 1: 냉랭한 협상 (2,500자)
    - **시간:** 오전 9시
    - **장소:** 연길 찻집
    - **분위기:** 냉랭, 긴장
    - **등장:** 최태준, 강세우, 국민당 관리
    - **대화 주제:** 땅 가격, 조건
    - **캐릭터 행동:**
      * 최태준: 냉정하게 협상, 압박 전술
      * 국민당 관리: 의심의 눈초리, 경계
      * 강세우: 통역, 분위기 중재 시도
    - **종료 상태:** 결렬 직전
    
    ## Part 2: 반전 (2,500자)
    - **시간:** 오후 1시
    - **장소:** 같은 찻집 (재회)
    - **분위기:** 변화 (우연한 재회, 분위기 전환)
    - **대화 주제:** 조선 독립, 일본 침략
    - **캐릭터 행동:**
      * 최태준: 진심 어린 설득, 명분 제시
      * 국민당 관리: 공감, 마음 열림
    - **종료 상태:** 협상 재개
    
    ## Part 3: 합의 (2,500자)
    - **시간:** 저녁 7시
    - **장소:** 계약서 작성 장소
    - **분위기:** 진지, 긍정적
    - **대화 주제:** 최종 조건, 계약
    - **캐릭터 행동:**
      * 최태준: 신중하게 계약 검토
      * 국민당 관리: 악수, 신뢰 표시
    - **종료 상태:** 계약 완료, 10만 평 확보
    
    ## Part 4: 여운 (2,500자)
    - **시간:** 밤 10시
    - **장소:** 숙소
    - **분위기:** 안도, 피로
    - **내용:** 최태준 독백, 향후 계획
    - **캐릭터 행동:**
      * 최태준: 지도 보며 다음 계획
      * 강세우: 보고서 작성
    - **종료 상태:** 50만 평 목표 재확인
    
    **총 예상 분량:** 10,000자 (Part 4개 × 2,500자)
    

    3-7. 체크리스트 신규! (v2.0.0)

    - [ ] 이전 화(ch-027) 연결 확인
    - [ ] 캐릭터 성격 일치 (최태준: 대담, 실행력)
    - [ ] 날씨/계절 (3월 만주 = 추위, 눈 녹기 시작)
    - [ ] 숫자 일관성 (기존 30만 평 + 신규 10만 평 = 40만 평)
    - [ ] 복선 회수 완료
    - [ ] 감정선 설계 완료
    
  2. 다음 화로 이동


### Phase 3: 5화 타임라인 검증 (필수!)

5화 플롯 작성 완료 후 반드시 실행:

  1. 타임라인 추출

    # 현재 작성 중인 5화 플롯 파일에서 추출
    # 예: plots/plot-006-010.md
    grep "타임라인:" plots/plot-006-010.md | grep -v "^**타임라인:"
    
  2. 순서대로 검증

    # 의사 코드
    timelines = extract_all_timelines("plots/plot-006-010.md")
    
    for i in range(1, len(timelines)):
        prev_end = timelines[i-1].end_date
        curr_start = timelines[i].start_date
    
        if curr_start < prev_end:
            # 역행 감지!
            if is_flashback(timelines[i].title):
                # 회상이면 OK
                continue
            elif is_parallel(timelines[i].title):
                # 병렬 서사면 OK
                continue
            else:
                # 역행 오류!
                report_error(i, prev_end, curr_start)
    
  3. 검증 결과 보고

    ✅ 타임라인 검증 통과
    - plot-006-010.md (6-10화)
    - 총 5화
    - 역행 0건
    - 회상 0건
    - 병렬 0건
    
    또는
    
    ❌ 타임라인 역행 발견!
    
    7화 → 8화:
    - 7화 종료: 1945.11.10
    - 8화 시작: 1945.10.1
    → 11월 다음에 10월 ❌
    
    조치 필요:
    - 8화가 회상이면 제목에 "[회상]" 추가
    - 아니면 7화/8화 타임라인 재조정
    
  4. 이전 5화 플롯과의 연결 검증

    # 이전 5화 플롯의 마지막 화 종료일 확인
    grep "5화" plots/plot-001-005.md -A 1 | grep "타임라인:"
    # → 1945.9.20
    
    # 현재 5화 플롯의 첫 화 시작일 확인
    grep "6화" plots/plot-006-010.md -A 1 | grep "타임라인:"
    # → 1945.9.21
    
    # 검증: 9.20 ≤ 9.21 ✅
    

---

## 🔄 회상/병렬 서사 처리

### 회상 장면

**명시 규칙:**
```markdown
### 21화: [회상] 1945년 가을
- **타임라인:** 1945.10.1-10.15
- **주요내용:**
  * 과거 회상
  * 플래시백 장면

특징:

  • 타임라인이 이전 화보다 과거여도 OK
  • 제목에 반드시 [회상] 또는 [플래시백] 표시
  • WRITING 모드에서도 회상 처리
  • VERIFICATION 모드에서 역행 검증 제외

병렬 서사

명시 규칙:

### 24화: [병렬] 만주에서
- **타임라인:** 1946.3.20-3.22
- **주요내용:**
  * 만주 사건 (메인 서사와 동시 진행)
  * 다른 장소, 같은 시간

특징:

  • 메인 서사와 시간대 겹침 OK
  • 제목에 반드시 [병렬] 표시
  • 지리적으로 다른 장소에서 동시 진행
  • VERIFICATION 모드에서 역행 검증 제외

플롯 작성 체크리스트

각 화 작성 시

- [ ] 이전 화 종료일 확인
- [ ] 현재 화 시작일 ≥ 이전 화 종료일
- [ ] 타임라인 형식: YYYY.M.D-M.D
- [ ] 회상이면 제목에 "[회상]" 명시
- [ ] 병렬이면 제목에 "[병렬]" 명시
- [ ] 장소, 등장인물 명시
- [ ] 주요내용 3개 이상

전체 플롯 완성 후

- [ ] 전체 타임라인 추출
- [ ] 순서대로 역행 검증
- [ ] 역행 발견 시 회상/병렬 확인
- [ ] 회상/병렬 아니면 수정
- [ ] 최종 검증 통과
- [ ] Git 커밋

🚨 플롯 타임라인 검증 명령어

Bash 스크립트 예시

#!/bin/bash
# plot-timeline-check.sh

# 5화 플롯 파일 타임라인 추출
# 예: plots/plot-006-010.md
grep -n "### [0-9]" plots/plot-006-010.md | while read line; do
    chapter=$(echo "$line" | grep -oP '\d+화')
    timeline=$(grep -A 5 "$line" plots/plot-006-010.md | grep "타임라인:" | grep -oP '\d{4}\.\d+\.\d+-\d+\.\d+')

    echo "$chapter: $timeline"
done

# 수동 검증:
# 1. 각 화의 종료일 < 다음 화 시작일 확인
# 2. 역행 발견 시 "[회상]" 또는 "[병렬]" 확인
# 3. 이전 5화 플롯 파일의 마지막 화와 연결 확인

📊 플롯 형식 표준

필수 형식

### X화: 제목
- **타임라인:** YYYY.M.D-M.D
- **장소:** 위치
- **등장인물:** 이름1, 이름2, 이름3
- **주요내용:**
  * 핵심 내용 1
  * 핵심 내용 2
  * 핵심 내용 3

회상 형식

### X화: [회상] 제목
- **타임라인:** YYYY.M.D-M.D (과거 날짜 OK)
- **장소:** 위치
- **등장인물:** 이름1, 이름2
- **주요내용:**
  * 회상 장면 설명

병렬 서사 형식

### X화: [병렬] 제목
- **타임라인:** YYYY.M.D-M.D (메인과 겹침 OK)
- **장소:** 위치 (메인과 다름)
- **등장인물:** 이름1, 이름2
- **주요내용:**
  * 병렬 서사 설명

🔧 플롯 수정 프로토콜

타임라인 수정 필요 시

1. 문제 파악
   - 어느 화에서 역행 발생?
   - 회상/병렬이 맞는가?

2. 영향 범위 확인
   - 해당 화만 수정?
   - 이후 모든 화 조정?

3. 수정 방법 선택

   **옵션 1: 해당 화를 회상/병렬로 변경**
   - 제목에 "[회상]" 또는 "[병렬]" 추가
   - 빠르고 간단
   - 서사적으로 타당한 경우

   **옵션 2: 타임라인 재조정**
   - 이전 화 또는 현재 화 날짜 수정
   - 이후 화들도 영향받을 수 있음
   - 서사 흐름 유지

   **옵션 3: 화 순서 변경**
   - 플롯 순서 자체를 재배치
   - 가장 큰 변경
   - 필요시에만 사용

4. 수정 후 전체 재검증

5. Git 커밋
   "plots/plot-XXX-YYY.md: X화 타임라인 수정

   문제: X화(날짜A) → Y화(날짜B) 역행
   조치: [선택한 옵션]

   5화 타임라인 검증: 통과 ✅"

📋 Best Practices

1. 타임라인 간격

✅ 권장:
- 화 간격: 최소 1일 이상
- 긴 기간: 명시 (예: 1946.1.1-3.31)
- 짧은 기간: 시간 명시 (예: 1946.5.15 오후-저녁)

⚠️ 주의:
- 같은 날짜 연속 사용 가능 (시간 구분)
- 예:
  - 32화: 1946.5.15 오전
  - 33화: 1946.5.15 오후

2. 회상/병렬 사용

✅ 회상 사용 케이스:
- 과거 사건 설명
- 캐릭터 백스토리
- 플래시백 장면

✅ 병렬 사용 케이스:
- 다른 장소 동시 사건
- 멀티 시점 서사
- 동시다발 전개

3. 5화 플롯 작성 순서 (3단계 밀도)

전제 조건:
- 2단계 (권별 플롯) 완료: volumes/vol-XX/volume-plot.md 존재
- 50화 전체 흐름 파악 완료

권장 작성 순서:
1. 권별 플롯에서 1-5화 부분 확인
   - volume-plot.md에서 1-5화 요약 확인
   - 타임라인, 주요 이벤트 파악

2. 5화별 상세 플롯 작성
   - plots/plot-001-005.md 작성
   - 각 화별 Part 단위 장면 상세 설계
   - 캐릭터 목표/갈등, 감정선 설계
   - 타임라인 검증 (Phase 3)

3. 다음 5화 진행
   - plots/plot-006-010.md 작성
   - 이전 5화(plot-001-005.md)와 연결 확인
   - 타임라인 검증

4. 10개 파일 완성
   - plot-001-005.md ~ plot-046-050.md
   - 각 파일마다 타임라인 검증
   - 파일 간 연결 확인

🔄 다른 모드와의 연계

PLOT → WRITING

PLOT 모드에서 타임라인 검증 완료
→ WRITING 모드에서 타임라인 체크포인트 통과 가능
→ 작성 단계 역행 0건

PLOT → VERIFICATION

PLOT 타임라인 정상
→ WRITING 정상 작성
→ VERIFICATION 타임라인 검증 통과
→ FIX 모드 재배치 불필요

⚠️ 금지사항

❌ 타임라인 없이 플롯 작성
❌ 역행 무시하고 진행
❌ 회상/병렬을 명시하지 않고 역행 사용
❌ 전체 검증 없이 플롯 완료
❌ 날짜 형식 불일치 (YYYY.M.D-M.D 필수)

📊 플롯 타임라인 검증 예시

정상 케이스

### 7화: 금괴 탈취 작전
- **타임라인:** 1945.9.11-9.20

### 8화: 건준 활동
- **타임라인:** 1945.9.21-9.30  ✅ 9.20 < 9.21

### 9화: 신탁통치 준비
- **타임라인:** 1945.10.1-10.15  ✅ 9.30 < 10.1

역행 케이스 (오류)

### 7화: 금괴 탈취 작전
- **타임라인:** 1945.9.11-9.20

### 8화: 건준 활동
- **타임라인:** 1945.11.1-11.10

### 9화: 신탁통치 준비
- **타임라인:** 1945.10.1-10.15  ❌ 11.10 > 10.1 역행!

회상 케이스 (정상)

### 20화: 만주 진출
- **타임라인:** 1946.4.1-4.30

### 21화: [회상] 1945년 가을
- **타임라인:** 1945.10.1-10.15  ✅ 회상으로 명시됨

### 22화: 희토류 확보
- **타임라인:** 1946.5.1-5.10  ✅ 20화 이후 정상

플롯이 올바르면 작성도 올바르다. 설계 단계 품질이 모든 것의 시작!