DA-13a + DA-13b 구현: 팀장 2-Step 분리

Step A (규칙 기반, LLM 불필요):
  - select_preset(): reference→sidebar-right, 비교→two-column,
    고강조→hero-detail, 기본→single-column
  - LAYOUT_PRESETS: 4개 프리셋 CSS grid 정의

Step B (Sonnet, 프리셋 CSS 포함):
  - 프리셋의 zone에 꼭지 배정 (flow→body, reference→sidebar)
  - 프리셋 CSS가 프롬프트에 포함되어 팀장이 변경 불가
  - "grid를 변경하지 마라" 명시

fallback: 프리셋 기반 기본 배치 (LLM 실패 시)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 11:55:50 +09:00
parent 6d53d95fa6
commit 91d5779a16
2 changed files with 199 additions and 117 deletions

View File

@@ -48,7 +48,7 @@ async def generate_slide(
page_count = analysis.get("total_pages", 1)
logger.info(f"1단계 완료: {topic_count}개 꼭지, {page_count}페이지")
# 2단계: 디자인 팀장 — 레이아웃 설계
# 2단계: 디자인 팀장 — Step A(프리셋) + Step B(블록 매핑)
yield {"event": "progress", "data": "2/5 디자인 팀장이 레이아웃을 설계 중..."}
layout_concept = await create_layout_concept(content, analysis)