Files
novel-writing-guide/templates/standards/polish-mode.md
Alex 3dae4cc64c CWS v4.2.0: 호칭 복수/단수 검증 + 최적화
**핵심 개선:**
- 호칭 복수/단수 검증 시스템 구축 (실제 오류 대응)
- Summary 재생성 규칙 최적화 (토큰 효율)
- 플랫폼 가독성 기준 작성 단계 반영
- POLISH/MODIFICATION 경계 명확화

**신규 파일:**
- file-formats.md v1.0.0 → v1.1.0 (나이 관계 테이블)

**업그레이드:**
- writing-mode.md v2.1.0 → v2.1.1 (간이 검증)
- verification-mode.md v2.2.0 → v2.3.0 (상세 검증)
- modification-mode.md v2.0.0 → v2.1.0 (Summary 최적화)
- writing-guide.md v2.1.0 → v2.2.0 (플랫폼 기준)
- polish-mode.md v2.2.0 → v2.3.0 (경계 명확화)

**적용 배경:**
1945-novel 실제 오류: 박현우(37세) "형님들" 사용
→ 올바른 호칭: "형님" (윗사람 1명)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-20 14:45:31 +09:00

613 lines
14 KiB
Markdown

# POLISH 모드 프로토콜
> **버전:** 2.3.0
> **최종 수정:** 2026-01-20
> **호환:** CWS Writing Guide v4.2.0+
> **용도:** 문장 품질 다듬기 (내용 수정 없음)
> **주요 변경:** MODIFICATION 모드와의 경계 명확화 (구체적 예시 추가)
---
## 🔄 컴팩팅 대응 시스템 (v2.0.0 신규)
### 배치 작업 시 WORK-MODE.txt 사용
**배치 시작 시:**
```
1. WORK-MODE.txt 파일 생성
---
CURRENT_MODE: POLISH
READ_FILE: standards/polish-mode.md
---
BATCH: 01
RANGE: ch-001 ~ ch-010
STATUS: IN_PROGRESS
LAST_COMPLETED: none
NEXT: ch-001
REPORT_FILE: polish-batch-01.md
STARTED: 2026-01-20 15:30
---
2. polish-batch-01.md 파일 생성 (진행 상황 체크리스트)
```
**각 챕터 완료 후:**
```
1. polish-batch-01.md에 [x] 표시
2. 챕터별 상세 내용 추가
3. WORK-MODE.txt의 LAST_COMPLETED, NEXT 업데이트
4. 파일 저장
5. 다음 챕터
```
**컴팩팅 후 재개 시:**
```
1. WORK-MODE.txt 읽기
2. CURRENT_MODE 확인 → POLISH
3. READ_FILE 확인 → polish-mode.md (이 파일)
4. REPORT_FILE 읽기 → polish-batch-01.md
5. 진행 상황 체크리스트 확인
6. NEXT 챕터부터 재개
```
**배치 완료 시:**
```
1. 전체 [x] 확인
2. WORK-MODE.txt 삭제
3. 사용자에게 완료 보고
```
**핵심 원칙:**
```
❌ 10개 전부 메모리에 저장 후 한 번에 파일 작성
✅ 1개 완료 → 즉시 파일 업데이트 → WORK-MODE.txt 업데이트 → 다음
```
---
## 📋 POLISH 모드 개요
**POLISH 모드는:**
- **문장 품질만** 개선 (내용/플롯 수정 없음!)
- 가독성, 리듬감, 문체 일관성 체크
- VERIFICATION → FIX 완료 후 최종 다듬기
**핵심 원칙:**
```
VERIFICATION = 모든 문제 발견 (플롯 포함)
FIX = 발견된 문제 수정
POLISH = 문장 품질만 다듬기 (오타, 가독성, 문체)
(엄격 분리!)
```
**금지:**
```
❌ 장면 추가/삭제
❌ 인과관계 수정
❌ 캐릭터 관계 변경
❌ 설정 변경
→ 이런 건 VERIFICATION → FIX에서!
```
**진입 조건:**
- VERIFICATION → FIX 완료 후 (권장)
- 또는 독립적으로 실행 가능
**진입 명령:**
- "POLISH 모드"
- "다듬기"
- "가독성 검토해"
- "문체 검토해"
---
## 📚 모드 진입 시 읽을 파일
### 필수
1. `standards/writing-guide.md` - 문체 기준
2. `settings/characters-master.md` - 캐릭터 말투
### 검토 대상
3. `volumes/vol-XX/chapters/ch-*.md` - 해당 챕터들
---
## 🎯 POLISH 체크 항목
### 1. 문장 가독성
```
✅ 문장 길이
- 한 문장 50자 이상 → 분리 권장
- 3줄 이상 문장 → 🔴 분리 필요
✅ 문단 길이 (웹소설 기준)
- 권장: 3-5줄 (모바일 화면 최적)
- 7줄 이상 → 🟡 분리 검토
- 10줄 이상 → 🔴 필수 분리
- 1-2줄 짧은 문단 OK (호흡 공간)
✅ 복문 구조
- ~하고, ~하며, ~해서 3개 이상 연결 → 분리
```
### 2. 반복 표현
```
✅ 문장 끝 반복
- "~했다" 3회 연속 → 🟡 변경 권장
- "~였다" 3회 연속 → 🟡 변경 권장
✅ 주어 반복
- "그는" / "그녀는" 연속 → 생략 또는 이름으로
✅ 단어 반복
- 같은 단어 한 문단에 3회 이상 → 유의어로 대체
✅ 접속사 반복
- "그리고" / "하지만" 연속 → 다양화
```
### 3. 대화/묘사 비율
```
✅ 권장 비율
대화 : 묘사 : 서술 = 40 : 40 : 20
✅ 불균형 체크
- 대화만 1페이지 이상 → 🟡 묘사/서술 추가
- 묘사만 1페이지 이상 → 🟡 대화 추가
- 서술만 1페이지 이상 → 🟡 장면화 고려
```
### 4. 문체 일관성
```
✅ 시제 일관성
- 과거형 기조 유지
- 갑자기 현재형 전환 → 🟡 수정
✅ 문어체/구어체
- 지문: 문어체 유지
- 대화: 캐릭터별 구어체
✅ 어미 다양성
- ~다, ~였다, ~했다 균형
```
### 5. 리듬감
```
✅ 문장 길이 변화
- 짧은 문장 → 긴 문장 → 짧은 문장
- 같은 길이 5문장 연속 → 🟢 변화 권장
✅ 긴장/이완
- 액션 장면: 짧은 문장
- 여유 장면: 긴 문장
```
### 6. 어색한 표현
```
✅ 조사 오류
- 을/를, 이/가, 은/는 체크
✅ 어색한 어순
- 자연스러운 한국어 어순
✅ 번역체
- "~라는 것을" → "~라는 걸"
- "그것은" → "그건"
```
### 7. 플랫폼 가독성 (v2.2.0 신규)
```
⭐ 웹소설 플랫폼 최적화 (문피아/카카오페이지/네이버 시리즈)
✅ 문단 사이 빈 줄 일관성
- 기본 원칙: 모든 문단 사이 빈 줄 1개
- Part 구분: 빈 줄 2개
- 현재 문제: 파일마다 다름 → 🔴 통일 필수
예시:
```
민준은 창밖을 바라보았다. 해방된 서울이 보였다.
"이제 시작이야."
그가 중얼거렸다.
```
✅ 대화 구분 명확성
- 대화 블록 전: 빈 줄 1개
- 대화 블록 후: 빈 줄 1개
- 연속 대화: 빈 줄 없이 연결
예시:
```
민준은 눈을 감았다.
"뭐라고?"
"네가 들은 대로야."
"믿을 수 없어."
침묵이 흘렀다.
```
✅ 모바일 화면 최적화
- 세로 스크롤 중심 (좁은 화면)
- 긴 문단 → 피로감 증가
- 짧은 문단 + 빈 줄 → 숨 쉬는 공간
- 빠른 스크롤 → 명확한 구분 필요
✅ 여백 활용
- 긴 장면 후: 빈 줄로 호흡
- 시점 전환: 빈 줄 2개
- 시간 경과: 빈 줄 + "---" + 빈 줄 (선택)
- 액션 → 대화: 명확한 빈 줄
✅ Part/Scene 구분
- Part 전환: 빈 줄 3개 (또는 "---" 구분선)
- Scene 전환: 빈 줄 2개
- 일반 문단: 빈 줄 1개
```
---
## 📊 POLISH 보고서 형식
```markdown
# POLISH 보고서
> **검토일:** YYYY-MM-DD
> **검토 범위:** ch-001 ~ ch-050
---
## 📊 요약
| 항목 | 발견 건수 | 수정 |
|------|----------|------|
| 1. 문장 가독성 | X건 | ✅/⏳ |
| 2. 반복 표현 | X건 | ✅/⏳ |
| 3. 대화/묘사 비율 | X건 | ✅/⏳ |
| 4. 문체 일관성 | X건 | ✅/⏳ |
| 5. 리듬감 | X건 | ✅/⏳ |
| 6. 어색한 표현 | X건 | ✅/⏳ |
| 7. 플랫폼 가독성 ⭐ | X건 | ✅/⏳ |
| **총계** | **X건** | |
---
## 🔴 필수 수정
| # | 위치 | 유형 | 내용 | 수정 |
|---|------|------|------|------|
| 1 | ch-005:34-36 | 문장 길이 | 3줄 문장 | → 2문장으로 분리 |
| 2 | ch-012:45-50 | 반복 | "했다" 5회 연속 | → 어미 다양화 |
---
## 🟡 권장 수정
| # | 위치 | 유형 | 내용 | 수정 제안 |
|---|------|------|------|----------|
| 1 | ch-008:22-35 | 대화 과다 | 대화만 15줄 | 중간에 묘사 추가 |
| 2 | ch-015:67 | 번역체 | "그것은" | → "그건" |
---
## 🟢 선택 수정
| # | 위치 | 유형 | 내용 |
|---|------|------|------|
| 1 | ch-003:12-16 | 리듬 | 비슷한 길이 5문장 |
---
## 📈 통계
### 문장 길이 분포
- 20자 이하: XX%
- 21-40자: XX%
- 41-60자: XX%
- 60자 이상: XX% (→ 분리 권장)
### 문장 끝 어미 분포
- ~했다: XX%
- ~였다: XX%
- ~이다: XX%
- 기타: XX%
```
---
## 🔧 POLISH 수정 예시
### 긴 문장 분리
```
Before:
"민준은 창밖을 바라보며 지난 몇 년간 자신이 걸어온 길을
되돌아보았는데, 그 과정에서 수많은 사람들을 만났고,
때로는 그들과 갈등을 빚기도 했지만, 결국에는 모두가
같은 목표를 향해 나아가고 있다는 것을 깨달았다."
After:
"민준은 창밖을 바라보았다. 지난 몇 년간 걸어온 길이
떠올랐다. 수많은 사람들을 만났다. 때로는 갈등을 빚기도
했다. 하지만 결국 모두가 같은 목표를 향하고 있었다."
```
### 반복 표현 수정
```
Before:
"민준이 말했다. 윤희가 대답했다. 태준이 끼어들었다.
민준이 다시 말했다."
After:
"민준이 입을 열었다. 윤희가 고개를 끄덕였다. 태준이
끼어들었다. 민준은 잠시 생각하다 다시 말했다."
```
### 대화/묘사 균형
```
Before:
"뭐라고?"
"네가 들은 대로야."
"믿을 수 없어."
"믿든 말든."
"하지만..."
"더 이상 말해도 소용없어."
After:
"뭐라고?"
민준의 눈이 커졌다. 믿기 어려웠다.
"네가 들은 대로야."
윤희는 담담했다. 창밖을 바라보는 눈빛이 차가웠다.
"믿을 수 없어."
"믿든 말든." 윤희가 어깨를 으쓱했다.
"더 이상 말해도 소용없어."
```
---
## 🔄 POLISH 워크플로우
```
1. 범위 설정 (1권 전체 또는 특정 챕터)
2. 체크 항목별 검토
3. 🔴 필수 수정 처리
4. 🟡 권장 수정 처리
5. 🟢 선택 수정 (시간 여유 시)
6. 보고서 작성
7. Git 커밋
```
---
## ✅ POLISH 체크리스트
### 문장 가독성
- [ ] 50자 이상 문장 분리
- [ ] 7줄 이상 문단 검토, 10줄 이상 필수 분리
- [ ] 복문 구조 단순화
### 반복 표현
- [ ] 문장 끝 어미 다양화
- [ ] 주어 반복 해소
- [ ] 단어 반복 해소
### 대화/묘사 비율
- [ ] 40:40:20 근접
- [ ] 대화만 구간 없음
- [ ] 묘사만 구간 없음
### 문체 일관성
- [ ] 시제 일관
- [ ] 문어체/구어체 구분
- [ ] 어미 다양
### 리듬감
- [ ] 문장 길이 변화
- [ ] 장면에 맞는 템포
### 어색한 표현
- [ ] 조사 정확
- [ ] 어순 자연스러움
- [ ] 번역체 제거
### 플랫폼 가독성 ⭐
- [ ] 문단 사이 빈 줄 일관성 (기본 1개, Part 2개)
- [ ] 대화 구분 명확성 (대화 블록 전후 빈 줄)
- [ ] 모바일 화면 최적 (짧은 문단 + 여백)
- [ ] Part/Scene 구분 명확 (빈 줄 개수 통일)
---
## 🚫 POLISH 모드 금지사항
```
❌ 스토리 변경 (→ MODIFICATION 모드)
❌ 설정 수정 (→ FIX 모드)
❌ 캐릭터 성격 변경
❌ 플롯 추가/삭제
❌ 과도한 수정 (원문의 맛 유지)
```
---
## ⚖️ POLISH vs MODIFICATION 경계 (v2.3.0 신규)
### 명확한 구분
```
┌─────────────────────────────────────────────────┐
│ POLISH = 같은 의미, 더 나은 표현 │
│ MODIFICATION = 의미/내용 변경 │
└─────────────────────────────────────────────────┘
```
### 구체적 예시
#### ✅ POLISH (OK)
```markdown
**1. 문장 다듬기 (의미 동일)**
Before: "민준은 화가 많이 났다."
After: "민준의 주먹이 떨렸다."
→ Show, Don't Tell 적용 (의미 동일!)
**2. 어순 자연스럽게**
Before: "민준은 화가 나서 주먹을 쥐었다."
After: "민준이 주먹을 쥐었다. 화가 치밀었다."
→ 리듬감 개선 (내용 동일!)
**3. 반복 제거**
Before: "민준이 말했다. 윤희가 말했다."
After: "민준이 말했다. 윤희가 고개를 끄덕였다."
→ 태그 다양화 (대화 내용 변경 없음!)
**4. 문단 분리 (가독성)**
Before: (10줄 긴 문단)
After: (3-5줄씩 3개 문단)
→ 모바일 가독성 (내용 동일!)
**5. 띄어쓰기/여백**
Before: (불규칙한 빈 줄)
After: (일관된 빈 줄 1개)
→ 플랫폼 최적화 (내용 동일!)
```
#### ❌ MODIFICATION (금지!)
```markdown
**1. 대사 추가/삭제**
Before: "알겠습니다."
After: "알겠습니다. 그런데 형님, 이거는 어떻게 하시겠습니까?"
→ ❌ 새로운 질문 추가 = 내용 변경!
→ MODIFICATION 모드에서 해야 함!
**2. 장면 추가**
Before: 민준이 회의실을 나섰다.
After: 민준이 회의실을 나섰다. 복도에서 윤희를 만났다.
→ ❌ 새 장면 추가 = 플롯 변경!
→ MODIFICATION 모드에서 해야 함!
**3. 인과관계 수정**
Before: "명단을 받았으니 이제 작성하겠습니다."
After: "이미 작성했습니다."
→ ❌ 순서 바뀜 = 플롯 변경!
→ FIX 모드에서 해야 함!
**4. 캐릭터 반응 변경**
Before: 민준은 고개를 끄덕였다.
After: 민준은 고개를 저었다.
→ ❌ 동의 → 거부 = 내용 변경!
→ MODIFICATION 모드에서 해야 함!
**5. 설정/호칭 변경**
Before: "형님들"
After: "형님"
→ ❌ 호칭 수정 = 내용 변경!
→ FIX 모드에서 해야 함! (검증 보고서 기반)
```
### 판단 기준
```
질문: "이 수정이 POLISH인가, MODIFICATION인가?"
체크:
1. [ ] 의미가 100% 동일한가?
2. [ ] 플롯에 영향 없는가?
3. [ ] 인과관계 변화 없는가?
4. [ ] 캐릭터 반응/관계 동일한가?
→ 모두 Yes: POLISH ✅
→ 하나라도 No: MODIFICATION ❌
```
### 애매한 경우
```
❓ "그는" → "민준은"
✅ POLISH
→ 대명사를 이름으로 (의미 동일, 명확성 증가)
❓ "민준은" → "강민준은"
✅ POLISH
→ 이름 풀네임 (의미 동일, 명확성 증가)
❓ "형님" → "민준 형님"
⚠️ 판단 필요!
→ 호칭 규칙에 맞으면 POLISH
→ 호칭 규칙 위반 수정이면 FIX
❓ "민준이 말했다." → "민준이 고개를 끄덕이며 말했다."
⚠️ MODIFICATION!
→ 행동 추가 = 내용 변경
→ "말했다" → "고개를 끄덕였다" (대체)는 POLISH OK
```
### 원칙
```
의심스러우면 → 건드리지 마라!
POLISH는 보수적으로:
- 확실히 의미 동일한 것만
- 가독성/문체만 개선
- 내용에 의심 가면 SKIP
"이거 바꿔도 될까?" → NO!
"이거 안 바꾸면 문법 틀림?" → YES!
```
---
## 🔗 연계 모드
```
VERIFICATION (검증, 기록)
FIX (일괄 수정)
POLISH (가독성/문체) ← 현재
완료!
```
---
## 💡 POLISH 팁
```
1. 소리 내어 읽어보기
- 막히는 부분 = 수정 필요
2. 한 번에 한 유형씩
- 반복 표현만 → 문장 길이만 → 리듬만
3. 과도한 수정 주의
- 작가의 문체 유지
- 모든 문장을 완벽하게 할 필요 없음
4. 핵심 장면 우선
- 클라이맥스, 감정 장면 먼저 다듬기
```
---
*POLISH는 문장 품질! 스토리는 건드리지 않음!*