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:
44
README.md
44
README.md
@@ -24,42 +24,47 @@
|
||||
↓
|
||||
[컨테이너 계산] 비중 → px 확정 (코드, 결정론적)
|
||||
↓
|
||||
[2단계] 블록 확정 + 배치 (Kei API + Sonnet)
|
||||
[2단계] 블록 선택 (Phase Q) (코드: 결정론적 + Kei 1회)
|
||||
│ relation_type → 카테고리 매핑 (코드)
|
||||
│ → 컨테이너 제약 필터링 (코드)
|
||||
│ → 글자수 예산 계산 (코드)
|
||||
│ → Kei에게 2-3개 후보 제시 → 1개 선택 (AI)
|
||||
↓
|
||||
[블록 스펙 확정] 항목수/글자수/폰트 (코드, 결정론적)
|
||||
↓
|
||||
[3단계] Kei 편집자 — 텍스트 정리 (Kei API / Opus)
|
||||
[3단계] Kei 편집자 — 텍스트 정리 (예산 포함) (Kei API / Opus)
|
||||
↓
|
||||
[4단계] 디자인 실무자 — CSS 조정 + HTML 조립 (Sonnet + Jinja2)
|
||||
↓
|
||||
[Phase L] Selenium 렌더링 측정 → 피드백 루프
|
||||
[검증] Selenium 렌더링 1회 → 수학적 조정 (코드, AI 없음)
|
||||
↓
|
||||
[5단계] Kei 실장 — 최종 검수 (스크린샷) (Opus 멀티모달)
|
||||
[품질 게이트] 비전 모델 평가 → 미달 시 교정/차단 (Opus 멀티모달)
|
||||
↓
|
||||
완성 슬라이드 HTML
|
||||
```
|
||||
|
||||
### 단계별 상세
|
||||
|
||||
| 단계 | 담당 | AI | 역할 |
|
||||
|------|------|-----|------|
|
||||
| 단계 | 담당 | AI/코드 | 역할 |
|
||||
|------|------|---------|------|
|
||||
| **1A** | Kei 실장 | Kei API (Opus) | 핵심 메시지, 꼭지 추출, page_structure(비중), purpose 부여 |
|
||||
| **1B** | Kei 실장 | Kei API (Opus) | relation_type, expression_hint, source_data |
|
||||
| **컨테이너** | 코드 | — | Kei 비중 → 역할별 컨테이너 px 확정, height_cost 제약, 블록 스펙 |
|
||||
| **2 A-2** | Kei 실장 | Kei API (Opus) | 컨테이너 제약 보고 블록 확정 (FAISS 후보 기반) |
|
||||
| **2 B** | 디자인 팀장 | Sonnet | zone 배치 + char_guide만 (블록 타입 변경 불가) |
|
||||
| **블록 스펙** | 코드 | — | 컨테이너 크기 → 항목수/글자수/폰트/패딩 확정 |
|
||||
| **3** | Kei 편집자 | Kei API (Opus) | 텍스트 편집 (컨테이너 제약 준수, 원본 보존) |
|
||||
| **4** | 디자인 실무자 | Sonnet | CSS 변수 override + Jinja2 렌더링 |
|
||||
| **Phase L** | 코드 | Selenium | 렌더링 측정 → overflow 감지 → 편집자 재호출 |
|
||||
| **5** | Kei 실장 | Opus | 스크린샷 보고 최종 검수 (멀티모달) |
|
||||
| **컨테이너** | 코드 | 결정론적 | Kei 비중 → 역할별 컨테이너 px 확정, height_cost 제약 |
|
||||
| **블록 선택** | 코드 + Kei | 결정론적 + AI 1회 | relation_type → 카테고리 매핑 → 컨테이너 제약 필터 → Kei 최종 선택 (Phase Q) |
|
||||
| **예산 계산** | 코드 | 결정론적 | 컨테이너 px → 글자수 예산 사전 계산 → AI 편집 시 하드 제약 (Phase Q) |
|
||||
| **3** | Kei 편집자 | Kei API (Opus) | 텍스트 편집 (글자수 예산 준수, 원본 보존) |
|
||||
| **4** | 디자인 실무자 | Sonnet + Jinja2 | CSS 변수 override + HTML 조립 |
|
||||
| **검증** | 코드 | Selenium 1회 | 검증 렌더링 — overflow 확인 (예산으로 사전 방지됨) |
|
||||
| **품질 게이트** | 비전 모델 | Opus 멀티모달 | 스크린샷 기반 시각 품질 평가 (VASCAR식) — 미달 시 출력 차단 (Phase Q) |
|
||||
|
||||
### 핵심 원칙
|
||||
|
||||
- **비중 → 컨테이너 → 블록 → 콘텐츠** 순서. 비중이 모든 것을 결정
|
||||
- **Kei API 필수.** fallback 없음. 기본값 없음. 성공할 때까지 무한 재시도
|
||||
- **Sonnet은 zone 배치 + CSS 조정만.** 블록 선택/콘텐츠 판단 금지
|
||||
- **블록 선택은 Kei가 확정 → 코드가 강제.** Sonnet이 변경 불가
|
||||
- **계산 먼저, AI 판단 나중에, 렌더링은 검증만** (Phase Q 핵심 원칙)
|
||||
- **블록 선택은 결정론적 필터링 → Kei 최종 선택.** AI에게 불가능한 선택지를 주지 않는다
|
||||
- **콘텐츠가 구조를 결정, 블록 CSS는 참고만** (Phase R'). AI가 HTML 구조 직접 생성
|
||||
- **글자수 예산은 하드 제약.** 컨테이너 px에서 수학적으로 도출, AI 편집 전에 전달
|
||||
- **overflow 상태에서 출력 금지.** 비전 모델 품질 게이트 통과 필수
|
||||
- **블록 = 시각 패턴(구조), 크기가 아님.** 같은 블록이 컨테이너에 따라 항목수/폰트/패딩 변동
|
||||
- **텍스트가 기준.** 디자인이 텍스트에 맞춤. CSS로 사후 자르기 금지
|
||||
|
||||
---
|
||||
@@ -103,7 +108,8 @@ Kei가 판단한 비중이 시각적 레이아웃에 정확히 반영되는 구
|
||||
| **L** | 렌더링 측정 에이전트 (Selenium headless) + 피드백 루프 | 완료 |
|
||||
| **M** | Kei 비중 시스템 (page_structure weight) + 원본 보존 강화 | 완료 |
|
||||
| **N** | 4대 핵심 문제 해결 — catalog 개선, fallback 전면 제거, topic_id 버그 수정, 무한 재시도 | 완료 |
|
||||
| **O** | 컨테이너 기반 레이아웃 시스템 — 비중→px→블록제약→콘텐츠제약 | **진행 중** |
|
||||
| **O** | 컨테이너 기반 레이아웃 시스템 — 비중→px→블록제약→콘텐츠제약 | 완료 |
|
||||
| **P** | 블록 재구성 + 실제 렌더링 비교 선택 — 후보 3개 렌더링→Kei 스크린샷 판단 | **계획 확정** |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user