# 웹소설 창작 자동화 가이드 (AI 지침)

> 새로운 화 집필 + 콘텐츠 생성 + 퇴고까지 자동화하는 종합 프로세스

---

## 핵심 원칙

### AI 역할

1. **집필**: 아웃라인 기반 새 화 작성
2. **창작**: 필요 시 새 인물/배경/집단/상황 생성
3. **기록**: 생성한 콘텐츠는 아웃라인 TODO에 메모
4. **검증**: 기획안과 원고 대조
5. **갱신**: 인물목록 자동 업데이트

### 파일 구조

```
content/rovel/{작품명}/
├── 기획안.md      # 핵심 규칙 (변경 최소화)
├── 아웃라인.md    # 스토리 구조 + TODO (자주 갱신)
├── 인물목록.md    # 등장인물 추적 (자동 갱신)
└── chapters/
    ├── 001.md
    ├── 002.md
    └── ...
```

---

# Part A: 집필 프로세스

## ⚠️ 집필 필수 원칙

```yaml
핵심: 새 화 작성 전 반드시 기획안을 읽고 시작할 것

이유:
  - 기획안을 안 읽으면 설정 충돌이 발생함
  - 예: "야간 당직" vs "주간 당직" 혼동
  - 예: 의료센터 운영시간, 당직 체계 등 세부 설정 누락
  - 퇴고할 때 발견하면 전체 수정 필요 → 비효율

절차:
  1. 기획안.md 전체 읽기 (필수!)
  2. 해당 화에서 사용할 설정 메모
  3. 집필 중 설정 언급 시 메모와 대조
  4. 완료 후 퇴고에서 재확인

금지:
  ❌ 기획안 안 읽고 집필 시작
  ❌ "대충 기억나니까" 하고 넘어가기
  ❌ 설정 모르면 임의로 만들기 (기획안에 없으면 추가 먼저)
```

---

## Phase 0: 사전 준비

### 0.1 필수 파일 로드

```
집필 시작 전 반드시 읽기:
1. 기획안.md - 핵심 규칙 추출 ⚠️ 전체 정독 필수
2. 아웃라인.md - 현재 진행 상황, TODO 확인
3. 인물목록.md - 등장인물 현재 상태
4. 최근 2~3화 - 연속성 확인
5. 페르소나 파일 - 문체 기준

특히 기획안에서 확인할 것:
- 세계관 설정 (의료 체계, 당직 체계 등)
- 캐릭터별 말투 규칙
- 능력 숨기기 원칙
- 시스템창 UI 규칙
```

### 0.2 TODO 확인

아웃라인.md의 TODO 섹션에서 다음 확인:
- 다음 화 예정 내용
- 미완료 복선/설정
- 새로 추가해야 할 요소

---

## Phase 1: 새 화 집필

### 1.1 이전 화 연결 확인 (필수!)

```yaml
연결 방식 결정:
  1. 직접 연결 (기본):
     - 이전 화 끝 장면에서 바로 이어서 시작
     - "[다음 화에 계속]" 직전 상황을 그대로 연결
     - 예: 2화 끝 "침 치료 계속할게요" → 3화 시작 "침이 피부에 닿았다"

  2. 시간 점프:
     - 명시적 시간 표시로 시작 ("3일 후.", "일주일 뒤.")
     - 이전 화 상황이 어떻게 마무리됐는지 간략 언급
     - 예: "일주일 뒤." + "자화연의 치료는 순조롭게 진행되고 있었다."

  3. 병렬 전개:
     - 다른 캐릭터/장소로 시점 전환
     - 시간대 명시 필수 ("같은 시각, 협회 로비에서는")
     - 이전 화 캐릭터는 나중에 합류

연결 방식 선택 기준:
  - 이전 화가 중간에 끊겼다면 → 직접 연결
  - 이전 화가 자연스럽게 마무리됐다면 → 시간 점프 가능
  - 새 캐릭터 첫 등장이면 → 병렬 전개 고려
```

### 1.2 화 구성 결정

```yaml
다음 화 구성 체크:
  - 연결 방식: 직접 연결 / 시간 점프 / 병렬 전개
  - 현재 부(Part): 몇 부 몇 화인가?
  - 해당 부 테마: 이 화에서 테마를 어떻게 표현?
  - 등장 예정 캐릭터: 누가 나오나?
  - 핵심 이벤트: 무슨 일이 일어나나?
  - 복선 배치: 어떤 복선을 깔아야 하나?
  - 복선 회수: 어떤 복선을 회수하나?
```

### 1.3 콘텐츠 필요 여부 판단

집필 중 다음이 필요하면 → Phase 2 (콘텐츠 생성)으로:

| 필요한 것 | 예시 |
|----------|------|
| 새 인물 | 신규 환자, 적대 세력 일원 |
| 새 배경 | 새 장소, 새 던전 |
| 새 집단 | 길드, 조직, 가문 |
| 새 상황 | 새 사건, 새 능력 발현 |
| 새 설정 | 세계관 확장 요소 |

### 1.4 집필 규칙

**문체 (페르소나 기준)**:
```yaml
문장:
  - 짧게 (10-20자)
  - 문단마다 여백

의성어:
  - "- 삐빅." 형식

감정:
  - 직접 서술 ❌
  - 신체 반응 ⭕
```

**캐릭터 (기획안 기준)**:
```yaml
말투:
  - 캐릭터별 설정된 말투 엄수
  - 관계 단계에 맞는 호칭

반응:
  - 성격에 맞는 반응
  - 즉시 수락 ❌ → 갈등/저항 후 수용
```

---

## Phase 2: 콘텐츠 생성

> 집필 중 새로운 요소가 필요할 때 사용

### 2.1 새 인물 생성

**생성 트리거**:
- 스토리 전개에 새 인물 필요
- 아웃라인에 언급된 미설정 캐릭터
- 세계관 확장에 필요한 인물

**생성 템플릿**:
```markdown
### [인물명]

| 항목 | 내용 |
|------|------|
| **출신** | |
| **외형** | |
| **등급** | |
| **성격** | |
| **말투** | |
| **역할** | 스토리에서 어떤 역할? |

**첫 등장**: N화
**상처/트라우마**: (해당 시)
**주인공과의 관계**:
```

**생성 원칙**:
```yaml
일관성:
  - 세계관 규칙 준수 (중원/제국/한국 출신 구분)
  - 기존 캐릭터와 차별화된 성격/말투
  - 등급 밸런스 고려

필요성:
  - 스토리에 필수적인 역할이 있어야 함
  - 단순 엑스트라는 이름만 언급
  - 반복 등장 예정이면 상세 설정
```

### 2.2 새 배경/장소 생성

**생성 템플릿**:
```markdown
### [장소명]

| 항목 | 내용 |
|------|------|
| **위치** | |
| **분위기** | |
| **특징** | |
| **관련 인물** | |

**첫 등장**: N화
**용도**: 어떤 장면에 사용?
```

### 2.3 새 집단/조직 생성

**생성 템플릿**:
```markdown
### [집단명]

| 항목 | 내용 |
|------|------|
| **유형** | 길드/조직/가문/세력 |
| **세력 규모** | |
| **주요 인물** | |
| **특징** | |
| **주인공과의 관계** | 우호/중립/적대 |

**첫 언급**: N화
**역할**: 스토리에서 어떤 역할?
```

### 2.4 새 상황/이벤트 생성

**생성 원칙**:
```yaml
필요 시 생성:
  - 던전 레이드
  - 긴급 상황 (환자 위독 등)
  - 갈등 이벤트
  - 복선 이벤트

체크사항:
  - 기존 설정과 충돌 없는가?
  - 스토리 흐름에 자연스러운가?
  - 캐릭터 성격에 맞는 반응이 가능한가?
```

### 2.5 생성 후 기록 (필수!)

**아웃라인.md TODO에 추가**:
```markdown
## TODO

### 새로 생성한 콘텐츠 (N화)
- [ ] 인물: [이름] - 역할: [역할], 첫등장: N화
- [ ] 장소: [장소명] - 용도: [용도]
- [ ] 조직: [조직명] - 성격: [적대/우호]
- [ ] 설정: [설정명] - 내용: [간략 설명]

### 인물목록 갱신 필요
- [ ] [인물명] 추가
- [ ] [인물명] 정보 수정: [변경사항]
```

---

## Phase 3: 아웃라인 메모 규칙

### 3.1 TODO 카테고리

```markdown
## TODO

### 집필 진행
- [x] N화 초안 작성
- [ ] N+1화 초안 작성
- [ ] N+2화 초안 작성

### 복선 관리
- [ ] [복선명]: N화에서 설치, M화에서 회수 예정
- [x] [복선명]: N화 설치 → M화 회수 완료

### 새로 생성한 콘텐츠
- [ ] 인물: [이름] - 상세 설정 필요
- [ ] 장소: [장소명] - 상세 설정 필요
- [ ] 조직: [조직명] - 구성원 설정 필요

### 인물목록 갱신
- [ ] [인물명] 추가
- [ ] [인물명] 관계 변화: [내용]
- [ ] [인물명] 등급 변화: [내용]

### 설정 확장
- [ ] [설정명]: 세부 규칙 정리 필요
- [ ] 세계관: [영역] 추가 설명 필요

### 검토 필요
- [ ] N화: [검토 사항]
- [ ] 시간선 정리 필요
```

### 3.2 메모 시점

| 상황 | 메모 위치 | 메모 내용 |
|------|----------|----------|
| 새 인물 등장 | TODO > 새로 생성한 콘텐츠 | 이름, 역할, 첫등장 화수 |
| 복선 설치 | TODO > 복선 관리 | 복선 내용, 설치 화수, 회수 예정 |
| 설정 추가 | TODO > 설정 확장 | 설정명, 간략 설명 |
| 캐릭터 변화 | TODO > 인물목록 갱신 | 변화 내용 |
| 다음 화 계획 | TODO > 집필 진행 | 예정 내용 |

### 3.3 메모 예시

```markdown
## TODO

### 집필 진행
- [x] 1화 초안 작성 → chapters/001.md
- [x] 2화 초안 작성 → 자화연 정기 치료
- [x] 3화 초안 작성 → 박준혁 각성
- [ ] 4화 초안 작성 → 루나 첫 등장 예정

### 복선 관리
- [x] 잠재 해방 능력: 1화 언급 → 3화 첫 발동
- [ ] 자화연 한빙신공 부작용: 2화 언급, 15화쯤 심화 예정
- [ ] 주인공 과거: 1부 내내 암시, 3부에서 공개 예정

### 새로 생성한 콘텐츠 (3화)
- [x] 인물: 민재(故) - 박준혁 후배, 3년 전 사망
  - 역할: 박준혁 트라우마의 핵심
  - 유언: "형, 다음엔 꼭 잡아요"

### 인물목록 갱신
- [x] 박준혁: B급 → A급 재각성, 단골 환자 등록
- [x] 박준혁: 트라우마 상세 추가 (민재 관련)

### 4화 예정
- [ ] 루나 첫 등장
  - 첫 방문 이유: 수인 특성 상처 (일반 의료진 거부)
  - 귀/꼬리 숨기고 있음
  - 주인공이 눈치챔
```

---

# Part B: 퇴고 프로세스

## ⚠️ 퇴고 필수 원칙

```yaml
핵심: 퇴고 시 반드시 원고 전체를 읽고 검토할 것

이유:
  - 부분만 보면 설정/대사 간 불일치를 놓침
  - 같은 설정이 여러 곳에서 언급될 때 일관성 확인 불가
  - 예: 30행에서 "빵꾸"로 수정해도, 91행에서 "환자가 있어서요"가 남아있으면 모순

퇴고 순서:
  1. 원고 전체를 처음부터 끝까지 1회 통독
  2. 핵심 설정/대사를 메모 (이유, 동기, 상황 설명 등)
  3. 동일 설정이 언급된 모든 위치 확인
  4. 불일치 발견 시 모든 위치를 일괄 수정
  5. 수정 후 다시 통독하여 누락 확인

금지:
  ❌ 특정 행만 읽고 해당 행만 수정
  ❌ Ctrl+F로 키워드만 찾아서 부분 수정
  ❌ 수정 후 전체 맥락 확인 없이 완료 처리
```

---

## Phase 4: 정합성 검증

### 4.1 기획안 대조

| 규칙 | 원고 내용 | 판정 | 수정 제안 |
|------|----------|------|----------|
| 능력 숨기기 | "제 능력입니다" | ❌ | "경험이 많아서요" |
| 말투 규칙 | (캐릭터별 체크) | ✅/❌ | |

### 4.2 설정 당위성 검증 (핵심!)

```yaml
원칙: "설정이 납득되지 않으면 납득되는 설정으로 교체"

체크 질문:
  - 이 상황이 왜 발생했는가?
  - 독자가 "왜?"라고 물으면 답할 수 있는가?
  - 더 자연스러운 이유가 있지 않은가?

예시:
  ❌ 납득 안 됨:
    - "환자가 있으니까" 야근 → 환자 없으면 안 해도 되는 거 아닌가?
    - "우연히 만났다" → 작위적, 개연성 부족
    - "그냥 도와주고 싶었다" → 동기 불명확

  ⭕ 납득 됨:
    - "다음 당직자가 빵꾸 냈으니까" 야근 → 어쩔 수 없는 상황
    - "정기 치료 일정이라 병원에 왔다가" → 필연적 만남
    - "은혜를 갚아야 하니까" → 명확한 동기

수정 기준:
  1. 상황 발생의 필연성이 있는가?
  2. 캐릭터 행동의 동기가 명확한가?
  3. 독자가 "어, 이상한데?"라고 느끼지 않는가?
```

### 4.3 설정 일관성

```
체크 항목:
- 시간 흐름 (시간대 계산)
- 공간 이동 논리
- 인물 정보 (이름, 외형, 등급)
- 이전 화와의 연속성
```

### 4.3.1 시간 전개 규칙

```yaml
원칙: 시간 흐름은 독자가 혼란 없이 따라갈 수 있어야 함

시간순 전개 (기본):
  - "오후 5시" → "밤 9시" → "밤 11시" 순서로 서술
  - 자연스럽게 흐름

회상/역순 전개 (주의 필요):
  - 반드시 회상임을 명시해야 함
  - "그날 오후" ❌ → 현재인지 과거인지 불명확
  - "그보다 몇 시간 전" ⭕ → 회상임이 명확
  - "그리고 밤 9시" ⭕ → 시간 진행임이 명확

회상 표현 예시:
  ⭕ "그보다 몇 시간 전."
  ⭕ "시간을 조금 되돌려보자."
  ⭕ "그날 아침으로 돌아가면."
  ❌ "그날 오후." (현재 시점이 밤이면 혼란)
  ❌ "그때." (언제인지 불명확)

체크 방법:
  1. 원고에서 시간 표현 전부 추출
  2. 시간순으로 나열
  3. 역순이 있으면 회상 표현이 명확한지 확인
  4. 독자 입장에서 따라갈 수 있는지 검토
```

### 4.4 캐릭터 일관성

```
체크 항목:
- 말투 패턴
- 호칭 단계
- 성격에 맞는 반응
- 관계 발전 속도
```

---

## Phase 5: 문체 분석

### 5.1 페르소나 대조

```
문장 길이: 10-20자 기준
여백 패턴: 문장마다 빈 줄
의성어 형식: "- [의성어]."
감정 표현: 신체 반응으로
```

### 5.2 직접 감정 서술 탐지

```
❌ "나는 놀랐다" → ⭕ "숨이 멎었다"
❌ "그녀가 슬퍼 보였다" → ⭕ "그녀의 입술이 떨렸다"
```

---

## Phase 6: 캐릭터 반응 강화

### 6.1 밋밋한 반응 탐지

```
탐지 패턴:
- 즉시 수락: "알겠습니다", "네"
- 직접 감사: "감사합니다"
- 무반응 행동: 갈등 없이 바로 행동
```

### 6.2 강화 선택지 제안

```
📍 34행 - 밋밋한 반응

원문: "......알았다." 그녀가 손목을 내밀었다.

💡 강화 선택지:

[A] 위협형
"......뭐라 했느냐?"
차가운 살기가 스며들었다.

[B] 츤데레형
"흥."
그녀가 고개를 돌렸다.
하지만 손목은, 천천히 내밀어졌다.

[C] 원문 유지
```

---

## Phase 7: 최종 정리

### 7.1 교정

```
- 오탈자/맞춤법
- 문장 부호
- 형식 통일 (시스템창 등)
```

### 7.2 분량 확인

```
목표: 3,000-5,000자
현재: [N]자
판정: ✅/⚠️
```

### 7.3 인물목록 갱신

```
갱신 항목:
- 신규 인물 추가
- 호칭/관계 변화
- 등급 변화
- 새로운 정보 추가
```

### 7.4 아웃라인 TODO 갱신

```
완료 처리:
- [x] N화 초안 작성

추가:
- [ ] N+1화 초안 작성 - 예정 내용
- [ ] 복선: [내용] - N화 설치
- [ ] 인물목록 갱신: [내용]
```

---

# Part C: 자동화 워크플로우

## 전체 프로세스

```
┌─────────────────────────────────────────────────────────┐
│ 1. 준비                                                  │
│    - 기획안, 아웃라인, 인물목록, 최근 화 읽기            │
│    - TODO 확인                                           │
└────────────────────────┬────────────────────────────────┘
                         ▼
┌─────────────────────────────────────────────────────────┐
│ 2. 집필                                                  │
│    - 화 구성 결정                                        │
│    - 새 콘텐츠 필요 시 → 생성 (Phase 2)                 │
│    - 집필                                                │
└────────────────────────┬────────────────────────────────┘
                         ▼
┌─────────────────────────────────────────────────────────┐
│ 3. 기록                                                  │
│    - 새 콘텐츠 → 아웃라인 TODO 메모                     │
│    - 복선 설치 → 복선 관리 메모                         │
└────────────────────────┬────────────────────────────────┘
                         ▼
┌─────────────────────────────────────────────────────────┐
│ 4. 퇴고                                                  │
│    - 기획안 대조                                         │
│    - 문체 검증                                           │
│    - 캐릭터 반응 강화                                    │
└────────────────────────┬────────────────────────────────┘
                         ▼
┌─────────────────────────────────────────────────────────┐
│ 5. 갱신                                                  │
│    - 인물목록.md 업데이트                                │
│    - 아웃라인.md TODO 완료 처리                          │
│    - 다음 화 TODO 추가                                   │
└─────────────────────────────────────────────────────────┘
```

## 빠른 실행 체크리스트

```markdown
### 새 화 집필 시

□ 기획안 핵심 규칙 확인
□ 아웃라인 TODO 확인
□ 인물목록 현재 상태 확인
□ 최근 2-3화 연속성 확인

□ 화 구성 결정
□ 필요 시 새 콘텐츠 생성
□ 집필

□ 새 콘텐츠 → 아웃라인 TODO 메모
□ 기획안 대조 검증
□ 설정 당위성 검증 (납득 안 되면 교체!)
□ 문체 검증
□ 캐릭터 일관성 검증

□ 인물목록 갱신
□ 아웃라인 TODO 완료 처리
□ 다음 화 TODO 추가
```

---

## 콘텐츠 생성 판단 기준

### 생성해야 할 때

```yaml
인물:
  - 스토리 전개에 새 인물 필요
  - 반복 등장 예정
  - 주인공/주요 캐릭터와 관계 형성 예정

배경:
  - 새 장소에서 중요 장면 전개
  - 세계관 확장 필요
  - 반복 사용 예정

조직:
  - 스토리에 집단적 갈등 필요
  - 캐릭터 배경 설명 필요
  - 적대/우호 세력 필요
```

### 생성하지 않아도 될 때

```yaml
인물:
  - 일회성 엑스트라 (이름만 언급)
  - 배경 묘사용 (군중 등)

배경:
  - 일회성 장소
  - 기존 장소로 대체 가능

조직:
  - 언급만 되는 조직
  - 상세 설정 불필요
```

---

## 참고 파일

| 유형 | 경로 | 용도 |
|------|------|------|
| 기획안 | `content/rovel/{작품명}/기획안.md` | 핵심 규칙 |
| 아웃라인 | `content/rovel/{작품명}/아웃라인.md` | 스토리 + TODO |
| 인물목록 | `content/rovel/{작품명}/인물목록.md` | 인물 추적 |
| 페르소나 | `content/personas/{ID}.md` | 문체 기준 |
| 원고 | `content/rovel/{작품명}/chapters/*.md` | 집필 결과물 |
