Files
C.E.L_Slide_test2/ACTION_PLAN.md
kyeongmin 29f56187c0 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>
2026-03-31 08:38:06 +09:00

3.8 KiB

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

실행 순서

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

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 내보내기