Phase P~S 전체 작업물: 검증 스크립트, 블록 템플릿, 설계 문서, 코드 수정
포함 내용: - Phase P/Q/R/S 설계 문서 (IMPROVEMENT-PHASE-*.md) - 영역별 검증 스크립트 (scripts/verify_*.py, test_*.py) - 블록 템플릿 추가 (cards, emphasis 변형) - 코드 수정: block_search, content_editor, design_director, slide_measurer - catalog.yaml 블록 목록 업데이트 - CLAUDE.md, PROGRESS.md, README.md 업데이트 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -481,7 +481,7 @@ CLAUDE.md 요구사항 전수검토 결과 발견된 미구현/부분구현/위
|
||||
|
||||
---
|
||||
|
||||
## Phase O: 컨테이너 기반 레이아웃 시스템 🟡 진행 중
|
||||
## Phase O: 컨테이너 기반 레이아웃 시스템 ✅ 완료
|
||||
|
||||
> **실행 상세:** [IMPROVEMENT-PHASE-O.md](IMPROVEMENT-PHASE-O.md)
|
||||
> Phase N 완료 후 여전히 비중이 시각에 반영 안 되는 근본 문제 해결.
|
||||
@@ -522,11 +522,43 @@ Phase O에서 Kei(A-2) + 코드가 모든 것을 결정하면서 Step B(Sonnet)
|
||||
- Phase L 축소 로직 — `_max_chars_total` 축소로 변경
|
||||
- fonttools 의존성 + Pretendard .ttf 파일 추가
|
||||
|
||||
### M-Step 3: [중요] 블록 안전성 (P-5 + P-6 + P-7 + P-8)
|
||||
- Figma 블록 식별, zone 적합성 맵, 글자 수용량, 내부 overflow 감지
|
||||
---
|
||||
|
||||
### M-Step 4: [보통] 원본 보존 (P-9)
|
||||
- source_text 직접 전달, 재작성 금지 강화
|
||||
## Phase P: 블록 재구성 + 실제 렌더링 비교 선택 ✅ 실행 완료 → Phase Q로 전환
|
||||
|
||||
> **실행 상세:** [IMPROVEMENT-PHASE-P.md](IMPROVEMENT-PHASE-P.md)
|
||||
> **실행 결과:** `data/runs/1774599277829/` — 최종 품질 20/100점
|
||||
> **결론:** 다후보 렌더링 비교 방식은 비효율적 (15렌더링 40분, 10개 폐기). 업계 조사 결과 어떤 도구도 이 방식을 사용하지 않음. Phase Q로 방향 전환.
|
||||
|
||||
---
|
||||
|
||||
## Phase Q: 제약 기반 블록 선택 + 글자수 예산 시스템 ✅ 코드 완료
|
||||
|
||||
> **실행 상세:** [IMPROVEMENT-PHASE-Q.md](IMPROVEMENT-PHASE-Q.md)
|
||||
> Phase P 결과 분석 + 업계 조사(Beautiful.ai, Napkin.ai, VASCAR, PPTAgent 등) 기반 재설계.
|
||||
|
||||
**핵심 원칙:** "계산 먼저, AI 판단 나중에, 렌더링은 검증만"
|
||||
|
||||
**실행 스텝 (8개):**
|
||||
- Q-1: catalog.yaml 메타데이터 보강 (min_height_px, relation_types, category, min/max_items)
|
||||
- Q-2: relation_type → 블록 카테고리 결정론적 매핑 엔진 (신규 `src/block_selector.py`)
|
||||
- Q-3: 글자수 예산 계산 엔진 (`src/space_allocator.py` 추가)
|
||||
- Q-4: Kei 블록 선택 프롬프트 재설계 — 필터링된 2-3개만 제시 (`src/kei_client.py`)
|
||||
- Q-5: pipeline.py 재구성 — Phase P 15-render 루프 → Phase Q 단일 경로
|
||||
- Q-6: 비전 모델 품질 게이트 (VASCAR식, `src/kei_client.py`)
|
||||
- Q-7: overflow 수학적 조정 (LaTeX 글루 모델, `src/space_allocator.py`)
|
||||
- Q-8: 출력 차단 정책 (overflow/품질 미달 시 출력 금지)
|
||||
|
||||
**기대 효과:** 품질 20→70-80점, 시간 40분→8-12분, API 25→8회, 유령블록 불가능
|
||||
|
||||
**해결하는 근본 문제 5가지:**
|
||||
| # | 근본 원인 | Phase Q 해결 방법 |
|
||||
|---|----------|-----------------|
|
||||
| R1 | FAISS 텍스트 매칭 → 시각 블록 무시 | relation_type → 블록 카테고리 결정론적 매핑 (Q-2) |
|
||||
| R2 | Opus 유령 블록 환각 | catalog 존재 검증 + 필터링된 후보만 제시 (Q-2, Q-4) |
|
||||
| R3 | overflow 해결 못하고 출력 | 글자수 예산 사전 계산 + 글루 모델 + 출력 차단 (Q-3, Q-7, Q-8) |
|
||||
| R4 | 블록 중복 사용 | used_blocks 집합으로 중복 차단 (Q-2) |
|
||||
| R5 | 공간 배분 일방향 강제 | min_height_px 필터 + 비중 재조정 요청 (Q-1, Q-2) |
|
||||
|
||||
---
|
||||
|
||||
@@ -558,8 +590,43 @@ Phase F (향후) → Phase A~E 완료 후.
|
||||
|
||||
---
|
||||
|
||||
## Phase R: 하이브리드 블록 시스템 ❌ 실패
|
||||
|
||||
> **기록:** [IMPROVEMENT-PHASE-R.md](IMPROVEMENT-PHASE-R.md)
|
||||
> 접근 C로 가기로 합의했으나, 구현에서 기존 블록 선택 시스템 위에 variant 패치만 추가.
|
||||
> **P = Q = R 동일 구조.** 결과물 34점.
|
||||
|
||||
---
|
||||
|
||||
## Phase R': 접근 C — 블록 CSS 참고 + AI 구조 결정 📋 설계 확정
|
||||
|
||||
> **실행 상세:** [IMPROVEMENT-PHASE-R-PRIME.md](IMPROVEMENT-PHASE-R-PRIME.md)
|
||||
|
||||
**핵심 전환:** 블록이 구조를 결정 → **콘텐츠가 구조를 결정, 블록 CSS는 참고만**
|
||||
|
||||
**2-3단계 교체:**
|
||||
- 제거: block_selector(블록 선택), fill_candidates(슬롯 채우기)
|
||||
- 추가: html_generator(AI가 HTML 구조 직접 생성)
|
||||
|
||||
**실행 스텝 (7개):**
|
||||
- R'-1: 디자인 토큰 + 블록 CSS 패턴을 프롬프트용으로 추출 (`src/design_tokens.py`)
|
||||
- R'-2: few-shot 예시 슬라이드 정리 (`data/examples/`)
|
||||
- R'-3: AI HTML 생성 함수 구현 (`src/html_generator.py`)
|
||||
- R'-4: pipeline.py 2-3단계 교체 (블록 선택+채우기 → html_generator)
|
||||
- R'-5: 렌더러에 AI HTML 삽입 함수 추가 (`src/renderer.py`)
|
||||
- R'-6: HTML 정화 + 토큰 위반 검증 (`src/html_validator.py`)
|
||||
- R'-7: 테스트 2개 콘텐츠 검증 (`scripts/test_phase_r_prime.py`)
|
||||
|
||||
**합격 기준:** C_reference.png 수준 자동 생성 (topic 합침, 포함 관계, 핵심 메시지, 원본 보존)
|
||||
|
||||
**회귀 방지:** block_selector, fill_candidates, fill_content, finalize_block_specs 호출 금지
|
||||
|
||||
---
|
||||
|
||||
## 수정 이력
|
||||
|
||||
| 날짜 | 내용 |
|
||||
|------|------|
|
||||
| 2026-03-25 | 초안 작성. CLAUDE.md 전수검토 기반 33개 항목 도출. |
|
||||
| 2026-03-28 | Phase P 실행 완료(20/100점). 업계 조사 기반 Phase Q 설계 확정. |
|
||||
| 2026-03-30 | Phase Q 코드 완료. Phase R 설계+구현 → 실패(기존 구조 회귀). Phase R' 설계 확정. |
|
||||
|
||||
Reference in New Issue
Block a user