# Design Agent 개선 사항 (Action Plan) > 2026-03-28 갱신: Phase Q 설계 확정에 따른 재정리 ## 상황 요약 - **Phase P 실행 완료**: 결과 20/100점. 다후보 렌더링 비교 방식의 구조적 한계 확인. - **Phase Q 설계 확정**: 업계 조사 기반 재설계 — 제약 기반 블록 선택 + 글자수 예산 시스템. - **기존 P0-P2 버그**: Phase Q에서 구조적으로 해결되는 항목과 여전히 유효한 항목 분류. --- ## 기존 버그 → Phase Q 영향 분석 ### 🟡 P0: 무한 재시도 루프 — 여전히 유효 **Phase Q와 무관.** `_retry_kei()`는 Phase Q에서도 사용됨. - **수정 필요:** MAX_RETRY_ATTEMPTS = 30, MAX_RETRY_DURATION = 300 추가 - **시점:** Phase Q 구현 시 함께 적용 - **파일:** `src/pipeline.py` ### ✅ P1: fill_candidates 실패 감지 — Phase Q에서 자동 해결 **Phase Q에서 `fill_candidates()` 자체가 제거됨.** - Phase P의 3후보 텍스트 편집 → Phase Q의 단일 블록 텍스트 편집으로 변경 - `fill_candidates()` 대신 `fill_content()`에 예산 제약 추가 - **별도 수정 불필요** — Phase Q-5 (pipeline.py 재구성)에서 해결 ### 🟡 P2: template 미발견 예외 처리 — 여전히 유효 **Phase Q와 무관.** 템플릿 로딩은 여전히 필요. - **수정 필요:** `_resolve_template_path()` 명확한 에러 반환 - **추가 효과:** Phase Q의 catalog 검증(Q-2)이 사전에 잘못된 블록을 걸러내므로, 이 에러 발생 빈도 대폭 감소 - **시점:** Phase Q 구현 시 함께 적용 - **파일:** `src/renderer.py` ### ✅ P3: Phase L 비효율성 — Phase Q에서 자동 해결 **Phase Q에서 Phase L이 "피드백 루프 3회" → "검증 렌더링 1회"로 축소.** - 글자수 예산 사전 계산으로 overflow 사전 방지 - 렌더링은 검증 목적 1회만 - overflow 발생 시 수학적 조정(LaTeX 글루 모델)으로 AI 없이 해결 - **별도 수정 불필요** — Phase Q-5, Q-7에서 해결 --- ## Phase Q 실행 계획 **상세:** [IMPROVEMENT-PHASE-Q.md](IMPROVEMENT-PHASE-Q.md) ### 실행 순서 ``` Q-1 (catalog 보강) ──┬──→ Q-2 (블록 필터) ──┐ └──→ Q-3 (예산 계산) ──┼──→ Q-4 (Kei 선택) ──→ Q-5 (파이프라인) ──→ Q-6 (품질 게이트) ──→ Q-8 (출력 차단) │ Q-7 (글루 모델) ←──────────────────────────┘ (독립, 병렬 가능) P0 수정 (재시도 제한) ←── Q-5에서 함께 적용 P2 수정 (템플릿 에러) ←── Q-5에서 함께 적용 ``` ### 기대 효과 | 지표 | 현재 (Phase P) | Phase Q 목표 | |------|---------------|-------------| | 슬라이드 품질 | 20/100 | 70-80/100 | | 처리 시간 | ~40분 | ~8-12분 | | API 호출 | ~25회 | ~8회 | | Selenium 호출 | ~17회 | ~2회 | | 유령 블록 | 5건 발생 | 불가능 (catalog 검증) | | overflow 출력 | 허용 | 차단 (품질 게이트) | | 블록 다양성 | 3/38 사용 | relation_type 기반 자동 분산 | --- ## Phase R': 접근 C — 블록 CSS 참고 + AI 구조 결정 (다음 단계) **상세:** [IMPROVEMENT-PHASE-R-PRIME.md](IMPROVEMENT-PHASE-R-PRIME.md) Phase R(variant 패치)은 실패 — P=Q=R 동일 구조 반복. **Phase R'은 근본 구조를 변경:** - 2-3단계(블록 선택 + 슬롯 채우기) **제거** - AI가 블록 CSS를 참고하여 HTML 구조를 **직접 생성** - 콘텐츠가 구조를 결정 (블록이 결정하는 것이 아님) 합격 기준: C_reference.png 수준 자동 생성. 회귀 방지: block_selector, fill_candidates, fill_content 호출 금지. ### Phase R' 이후 (참고) - 디자인 참조 DB 구축 → 성공한 슬라이드를 few-shot으로 축적 - Playwright 마이그레이션 → 더 빠른 측정 + PDF 내보내기