팀장 2-Step 분리 + 실장 detail_target 기준 수정

팀장 (DA-13 → DA-13a + DA-13b):
  - Step A: 레이아웃 프리셋 선택 (규칙 기반, LLM 불필요)
    sidebar-right / two-column / hero-detail / single-column
  - Step B: 프리셋 안에서 블록 매핑 (Sonnet, 프리셋 CSS 포함)
  - 기존 DA-13b(편집자) → DA-13c로 변경

실장 (kei_client.py):
  - detail_target 기준 수정: 근거/사례/용어는 popup이 아님
  - reference는 sidebar에, 근거는 본문에
  - popup은 진짜 상세 데이터(비교표 등)만
  - 1페이지로 담을 수 있으면 억지로 2페이지 안 함

pipeline.py: import re 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 11:52:33 +09:00
parent 7b034b04b6
commit 6d53d95fa6
4 changed files with 95 additions and 51 deletions

View File

@@ -16,10 +16,14 @@
```
[1단계] Kei 실장 (Sonnet) — AI 사고
꼭지 추출 → 레이어 수준 → 강조 판단 → 배치 방향
꼭지 추출 → 정보 구조 파악 → 레이어/강조/배치/role 판단
[2단계] 디자인 팀장 (Sonnet) — AI 사고
블록 매핑 + 공간 배분 + 글자 수 가이드 → 편집자에게 전달
[2단계] 디자인 팀장 — 2-Step
Step A: 레이아웃 프리셋 선택 (규칙 기반, LLM 불필요)
- 실장의 role 분석을 보고 프리셋 자동 결정
Step B: 프리셋 안에서 블록 매핑 + 글자 수 가이드 (Sonnet)
- 선택된 프리셋의 CSS가 프롬프트에 포함됨
- flow → body/main, reference → sidebar
[3단계] Kei 텍스트 편집자 (Sonnet) — AI 사고
글자 수 가이드 참고하되 내용 의미 우선. 도메인 용어 보존하며 편집
@@ -31,14 +35,34 @@
전체 균형 재검토 → 공간 재배분 → 2차 조정 지시
```
### 레이아웃 프리셋 (2단계 Step A)
실장의 role 분석을 보고 **규칙 기반**으로 프리셋을 자동 선택한다. LLM 호출 불필요.
| 프리셋 | 조건 | CSS grid |
|--------|------|----------|
| `sidebar-right` | reference 꼭지가 1개 이상 있음 | `"title title" "body sidebar" "footer footer"` / 65fr 35fr |
| `two-column` | 모든 flow 꼭지가 대등한 비교 | `"title title" "left right" "footer footer"` / 1fr 1fr |
| `hero-detail` | 고강조 꼭지 1개 + 나머지 보조 | `"title title" "hero hero" "detail detail" "footer footer"` |
| `single-column` | 모든 꼭지가 flow, 순차적 | `"title" "body" "footer"` / 1fr |
**선택 규칙:**
```
reference 꼭지 있음 → sidebar-right
모든 flow가 대등 비교 → two-column
고강조 1개 + 나머지 보조 → hero-detail
나머지 → single-column
```
### 역할 분리
| 역할 | 담당 | 방식 | 하는 일 | 하지 않는 일 |
|------|------|------|---------|------------|
| Kei 실장 | Sonnet | AI | 꼭지 추출, 레이어 판단, 강조 판단, 배치 방향, 이미지/표/상세 판단 | 디자인, 텍스트 편집 |
| 디자인 팀장 | Sonnet | AI | catalog에서 블록 선택, 공간 배분, 겹침 방지, 글자 수 가이드, 전체 재검토 | 텍스트 정리, 콘텐츠 의미 판단 |
| 텍스트 편집자 | Sonnet | AI | 도메인 용어 보존하며 편집, 출처 보존, 표 내용 편집 | 레이아웃 결정, 디자인 판단 |
| 디자인 실무자 | Sonnet + 코드 | AI + 코드 | 텍스트에 맞게 디자인 조정, HTML/CSS 조립, 이미지 크기 조정, 표 스케일링 | 콘텐츠 의미 판단 |
| Kei 실장 | Sonnet | AI | 꼭지 추출, 정보 구조 파악, 레이어/강조/배치/role 판단 | 디자인, 텍스트 편집 |
| 디자인 팀장 Step A | 코드 | 규칙 | 실장의 role에 따라 레이아웃 프리셋 자동 선택 | AI 판단 불필요 |
| 디자인 팀장 Step B | Sonnet | AI | 프리셋 안에서 블록 매핑, 글자 수 가이드, zone 배정 | 레이아웃 구조 결정 (이미 정해짐) |
| 텍스트 편집자 | Sonnet | AI | 도메인 용어 보존하며 편집, 출처 보존, 표 편집 | 레이아웃 결정 |
| 디자인 실무자 | Sonnet + 코드 | AI + 코드 | 텍스트에 맞게 디자인 조정, HTML/CSS 조립 | 콘텐츠 의미 판단 |
---
@@ -75,33 +99,35 @@
상세 콘텐츠 판단:
- 너무 구체적/세부적인 내용은 "자세히보기" 대상
[2단계] 디자인 팀장 — 레이아웃 설계
[2단계] 디자인 팀장 — Step A + Step B
블록 매핑:
- catalog 메뉴판에서 각 꼭지에 적합한 블록 선택
- 꼭지의 성격을 보고 판단 (출처 있으면 example-card, 정의면 card-grid 등)
Step A: 레이아웃 프리셋 선택 (규칙 기반, LLM 불필요)
- 실장의 role 분석을 보고 자동 선택:
reference 있음 → sidebar-right
대등 비교 → two-column
고강조 1개 → hero-detail
나머지 → single-column
- 선택된 프리셋의 CSS grid가 Step B 프롬프트에 포함됨
Step B: 프리셋 안에서 블록 매핑 (Sonnet)
- 선택된 프리셋의 zone(body/sidebar/footer)에 꼭지를 배정
- flow 꼭지 → body/main zone
- reference 꼭지 → sidebar zone
- detail_target 꼭지 → popup 연결
- catalog에서 각 꼭지에 적합한 블록 타입 선택
- 각 블록의 대략적 글자 수 가이드
이미지 배치:
- 원본 이미지 크기 확인 (Pillow Image.open().size)
- 가로/세로 비율에 따라 영역 결정
(가로형이면 전체 너비, 세로형이면 텍스트 옆)
- 텍스트 포함 도표는 너무 작게 하면 안 됨
- 이미지는 원본 그대로 사용, 크기만 조절
표 배치:
- 행×열 규모 보고 공간 안에 들어가는지 판단
- 안 들어가면 실장에게 요약 요청 또는 2페이지 분리
- 안 들어가면 요약 요청 또는 popup
자세히보기 설계:
- 상세 콘텐츠는 <details>/<summary> 영역으로 설계
공간 배분:
- 전체 공간에서 영역별 비율 결정
- 꼭지끼리 겹치지 않도록 grid-template 설계
- 각 블록의 대략적 글자 수 가이드
페이지 판단:
- 안 들어가면 2페이지로 분리
자세히보기:
- detail_target 꼭지는 <details>/<summary>로 popup 연결
[3단계] Kei 텍스트 편집자 — 텍스트 정리