**핵심 개선:** - 호칭 복수/단수 검증 시스템 구축 (실제 오류 대응) - 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>
14 KiB
14 KiB
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 모드"
- "다듬기"
- "가독성 검토해"
- "문체 검토해"
📚 모드 진입 시 읽을 파일
필수
standards/writing-guide.md- 문체 기준settings/characters-master.md- 캐릭터 말투
검토 대상
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 보고서 형식
# 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)
**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 (금지!)
**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는 문장 품질! 스토리는 건드리지 않음!