Phase S: Claude HTML 직접 생성 + 독립 검증 시스템 도입
블록 선택 방식(Phase P/Q/R) 폐기 → Claude Sonnet이 영역별 HTML 직접 생성. 생성-검증 분리: content_verifier.py로 텍스트 보존/금지 콘텐츠/구조를 코드 검증. 주요 변경: - src/html_generator.py: 4개 프롬프트 템플릿(BG/CORE/SIDEBAR/FOOTER) + 영역별 Claude 호출 - src/content_verifier.py: L1 텍스트 보존, L2 금지 콘텐츠, L3 구조 검증 + 재시도 루프 - src/html_validator.py: 보안 검증(script/iframe 제거) - src/renderer.py: render_slide_from_html() 추가, area div overflow:hidden - scripts/test_phase_s.py: generate_with_retry() 통합, step2b_verification 결과 저장 - 배경 라이트 디자인(#f8fafc), 개조식 어미 변환, 축약 금지 규칙 다음 과제: 폰트 위계(핵심14>본문12>배경10-12>첨부9-11) + 동적 컨테이너 계산 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
49
CURRENT-STATUS-20260331.md
Normal file
49
CURRENT-STATUS-20260331.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# 현재 상태 기록 (2026-03-31 03:00)
|
||||
|
||||
---
|
||||
|
||||
## 확정된 것
|
||||
|
||||
1. **역할 분리:** Kei = 콘텐츠 분석, Claude Sonnet = HTML 생성
|
||||
2. **영역별 개별 호출:** 배경/본심/sidebar/footer 각각 Claude 개별 호출
|
||||
3. **블록 선택 시스템 제거:** block_selector, fill_candidates 미사용
|
||||
4. **검증 합격 결과물 존재:** 각 영역별로 수동 프롬프트로 합격한 결과물이 있음
|
||||
|
||||
## 합격한 결과물 위치
|
||||
|
||||
| 영역 | 파일 | 프롬프트 위치 | 방식 |
|
||||
|------|------|------------|------|
|
||||
| 배경 | verify_claude_20260330_212019/verify1.png | verify_claude_1_2.py prompt_1 | Claude, 수동 텍스트 |
|
||||
| 용어 정의 | verify_v2_20260331_003421/A_definitions.png | verify_definitions_v2.py prompt_a | Claude, 수동 텍스트 |
|
||||
| 본심 | core_c_fix_20260331_015828/core_c_fix.png | verify_core_c_fix.py (하드코딩 HTML) | 직접 작성 |
|
||||
| footer | 이전부터 OK | 간단 | Claude |
|
||||
|
||||
## 해결 못한 핵심 문제
|
||||
|
||||
**검증(수동) → 자동화 전환이 안 됨**
|
||||
|
||||
검증에서 합격한 프롬프트는 텍스트를 **수동으로 직접 타이핑**해서 넣은 것.
|
||||
자동화에서는 원본 MDX/source_data에서 텍스트를 **코드로 추출**해야 하는데,
|
||||
추출 결과가 수동으로 넣은 것과 달라서 Claude가 다른 결과를 생성.
|
||||
|
||||
구체적 문제:
|
||||
1. `_extract_bg_content()` — 배경 텍스트 추출이 부정확
|
||||
2. `_extract_core_content()` — 본심 텍스트 추출이 부정확
|
||||
3. `_extract_definitions()` — 용어 정의 추출이 원본과 다름
|
||||
4. 추출된 텍스트가 프롬프트에 들어가면 Claude가 축약/변형
|
||||
|
||||
## 해결 방향
|
||||
|
||||
**Kei가 1단계에서 이미 정리한 source_data를 그대로 프롬프트에 넣으면 됨.**
|
||||
문제는 source_data가 원본 MDX의 80-95%가 아니라 요약본이라는 것.
|
||||
|
||||
선택지:
|
||||
1. source_data를 더 풍부하게 만들기 (Kei 1단계 프롬프트 수정)
|
||||
2. 원본 MDX를 직접 프롬프트에 넣되, 관련 섹션만 정확히 추출
|
||||
3. 검증 때처럼 수동으로 텍스트를 준비 (확장성 없음)
|
||||
|
||||
## 다음 작업
|
||||
|
||||
1. 실제 프롬프트에 들어가는 텍스트를 로그로 저장하여 검증 때와 비교
|
||||
2. 차이점을 파악하고 추출 로직 수정
|
||||
3. 또는 원본 MDX를 영역별로 정확히 슬라이싱하는 로직 구현
|
||||
Reference in New Issue
Block a user