문서 정리: PHASE-X-B, PHASE-X-PRIME, 메모리 업데이트
현재 상태: - 유형 A: ✅ 동작 - 유형 B: code_assembled만 동작, 파이프라인(filled/after) 미연결 - 핵심 문제: block_assembler가 고정 4역할만 처리 → 유형 B 지원 필요 다음 세션: 1. block_assembler 유형 B 지원 2. 컨테이너 크기 맞춤 (Selenium 측정 기반) 3. 유형 A 깨지지 않는지 확인 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
160
PHASE-X-B.md
160
PHASE-X-B.md
@@ -1,131 +1,101 @@
|
||||
# Phase X-B: 유형 B 템플릿 추가
|
||||
|
||||
> 작성일: 2026-04-06
|
||||
> 최종 업데이트: 2026-04-06
|
||||
> 전제: 유형 A(배경+본심+첨부+결론) 기존 코드 건드리지 않음
|
||||
|
||||
---
|
||||
|
||||
## 유형 B 구조
|
||||
|
||||
02번 MDX (DX의 시행 목표 및 기대효과) 기준:
|
||||
02번 MDX (DX의 시행 목표 및 기대효과) 기준.
|
||||
MDX 원본 구조:
|
||||
```
|
||||
title: DX의 시행 목표 및 기대효과 ← 슬라이드 제목 (frontmatter)
|
||||
## 1. DX의 궁극적 목표 ← 상단 (level=2)
|
||||
- 안전과 품질 / 생산성 향상 / 소통과 신뢰 ← 소제목 카드
|
||||
 ← 상단 우측 이미지
|
||||
## 2. DX 기반 Process 혁신에 따른 주체별 기대효과 ← 하단 대목차 (level=2)
|
||||
### 2.1 업무 수행 과정(Process)의 변화 ← 하단 좌측 (level=3)
|
||||
### 2.2 DX 시행 주체별 기대효과 ← 하단 우측 (level=3) — 표 데이터
|
||||
:::note[핵심 요약]
|
||||
* 고품질의 성과품, 비용 절감... ← 결론 (원본 그대로)
|
||||
:::
|
||||
```
|
||||
|
||||
슬라이드 레이아웃:
|
||||
```
|
||||
┌──────────────────────────────────────────┐
|
||||
│ 제목 │
|
||||
│ DX의 시행 목표 및 기대효과 (원본 title) │
|
||||
├───────────────────────┬──────────────────┤
|
||||
│ 본심1: DX 궁극적 목표 │ │
|
||||
│ ┌안전과 품질──────────┐│ [그림 2] │
|
||||
│ │• 불릿 ││ 궁극적 목표 │
|
||||
│ ├생산성 향상──────────┤│ 이미지 │
|
||||
│ │• 불릿 ││ (비율 맞춤) │
|
||||
│ DX의 궁극적 목표 │ │
|
||||
│ ┌안전과 품질──────────┐│ [이미지] │
|
||||
│ │• 불릿 ││ DX의 궁극적 │
|
||||
│ ├생산성 향상──────────┤││ 목표 │
|
||||
│ │• 불릿 ││ │
|
||||
│ ├소통과 신뢰──────────┤│ │
|
||||
│ │• 불릿 ││ │
|
||||
│ └────────────────────┘│ │
|
||||
├───────────┬───────────┴──────────────────┤
|
||||
│ 본심2-좌 │ 본심2-우 │
|
||||
│ 프로세스 │ 주체별 기대효과 │
|
||||
│ 변화 │ [팝업→] │
|
||||
│ • 불릿 │ • 발주자: ... │
|
||||
│ • 불릿 │ • 시공자: ... │
|
||||
│ │ • 설계자: ... │
|
||||
├──────────────────────────────────────────┤
|
||||
│ DX 기반 Process 혁신에 따른 주체별 기대효과 │ ← 대목차
|
||||
├───────────┬──────────────────────────────┤
|
||||
│ 2.1 업무 │ 2.2 DX 시행 주체별 기대효과 │
|
||||
│ 수행 과정 │ [바로가기 →] (팝업 링크) │
|
||||
│ 변화 │ ┌ Kei 요약 표 ──────────┐ │
|
||||
│ • 생산방식 │ │ 구분│발주자│시공자│설계자│ │
|
||||
│ • 인지검토 │ │ ...│ ...│ ...│ ...│ │
|
||||
│ • 협업구조 │ └──────────────────────┘ │
|
||||
│ • 검증대응 │ │
|
||||
├───────────┴──────────────────────────────┤
|
||||
│ 결론 배너 │
|
||||
│ 결론: 고품질의 성과품, 비용 절감... (원본) │
|
||||
└──────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
핵심:
|
||||
- 상단: 텍스트(좌) + 이미지(우) 나란히
|
||||
- 하단: 2분할
|
||||
- 배경 없음, 첨부(sidebar) 없음
|
||||
- 이미지는 원본 위치에서 가져와서 컨테이너 크기에 맞게 비율 조정
|
||||
- 결론 항상 있음
|
||||
- PNG 구조를 따르되 디자인은 그대로 따라가기
|
||||
|
||||
---
|
||||
|
||||
## 진행 현황
|
||||
|
||||
### X-B-1: KEI_PROMPT에 유형 B 옵션 추가 — ✅ 완료
|
||||
- 기존 유형 A 지시 유지
|
||||
- 유형 B 옵션 추가: "배경/첨부가 없는 콘텐츠는 본심1+본심2+결론 구조"
|
||||
- Kei가 콘텐츠를 보고 A 또는 B 선택
|
||||
- 검증 결과:
|
||||
- 01번 MDX → A 선택 ✅
|
||||
- 02번 MDX → B 선택 ✅ (역할: DX의_궁극적_목표/프로세스_혁신/주체별_기대효과/결론)
|
||||
- 하드코딩 없음 ✅
|
||||
- 파일: `src/kei_client.py` — KEI_PROMPT 수정
|
||||
### X-B-1: KEI_PROMPT 유형 B 옵션 추가 — ✅ 완료
|
||||
### X-B-2: 검증기 완화 — ✅ 완료
|
||||
### X-B-3: space_allocator 유형 B 컨테이너 생성 — ✅ 완료
|
||||
### X-B-4: assemble_stage2 유형 B 조립 — ✅ 완료 (code_assembled)
|
||||
### X-B-5: pipeline.py 분기 — ✅ 완료
|
||||
|
||||
### X-B-2: 검증기(validators.py) 완화 — ✅ 완료
|
||||
- 유형 A: "본심" 필수 유지
|
||||
- 유형 B: 결론(footer) 필수, 본심 불필요, 자유 역할명 허용
|
||||
- 섹션 수 차이 허용: 유형 A는 2, 유형 B는 4
|
||||
- 하드코딩 없음 ✅
|
||||
- 파일: `src/validators.py`
|
||||
### X-B-6: 검증 — ❌ 미완료
|
||||
|
||||
### X-B-3: space_allocator에 유형 B 컨테이너 생성 — 미착수
|
||||
- 유형 A: 기존 `calculate_container_specs` 그대로
|
||||
- 유형 B: `build_containers_type_b()` 추가
|
||||
- 상단: 전체폭, weight 비율
|
||||
- 하단: 2분할, weight 비율
|
||||
- 이미지: 상단 우측, 실제 비율로 크기 계산
|
||||
- 결론: footer
|
||||
- 파일: `src/space_allocator.py`
|
||||
**code_assembled(assemble_stage2):**
|
||||
- 제목/대목차/소목차/텍스트: MDX 원본에서 직접 가져옴 ✅
|
||||
- 팝업 링크 + Kei 요약 표 ✅
|
||||
- 이미지 + 캡션 ✅
|
||||
- 카드형 소제목 ✅
|
||||
- **하지만 렌더링에서 잘림** — 컨테이너 크기 vs 내용 크기 불일치
|
||||
|
||||
### X-B-4: assemble_stage2에 유형 B 조립 로직 추가 — 미착수
|
||||
- 유형 A: 기존 코드 그대로
|
||||
- 유형 B: 새 조립 함수
|
||||
- 상단: 좌측 텍스트(카테고리별 카드) + 우측 이미지
|
||||
- 하단: 2분할 불릿
|
||||
- 이미지 아래 캡션, 팝업 링크 우측상단
|
||||
- 결론 배너
|
||||
- 좌표: 동적 계산
|
||||
- 파일: `scripts/assemble_stage2.py`
|
||||
|
||||
### X-B-5: pipeline.py 분기 — 미착수
|
||||
- Stage 1.5a에서 `layout_template`에 따라 분기
|
||||
- "A" 또는 없음 → 기존 파이프라인
|
||||
- "B" → `build_containers_type_b()`
|
||||
- Stage 1A에서 `layout_template`를 Analysis에 저장 (pipeline_context.py에 필드 추가 필요)
|
||||
- 파일: `src/pipeline.py`, `src/pipeline_context.py`
|
||||
|
||||
### X-B-6: 검증 — 미착수
|
||||
- 02번 MDX → 유형 B 선택 → 상단+이미지+하단2분할+결론
|
||||
- 01번 MDX → 유형 A 선택 → 기존과 동일 (깨지면 안 됨)
|
||||
- 텍스트 컨테이너 안에 있음
|
||||
- 이미지 비율 맞음
|
||||
- 공란 최소
|
||||
- 하드코딩 없음
|
||||
**파이프라인(before→filled→after):**
|
||||
- **유형 B에서 동작 안 함** — block_assembler가 고정 4역할만 처리
|
||||
- filled가 거의 빈 HTML (2997bytes)
|
||||
- 이걸 해결해야 Selenium 측정 → 재배분이 가능
|
||||
|
||||
---
|
||||
|
||||
## Kei 유형 선택 결과 (검증 완료)
|
||||
## 다음 세션 핵심 작업
|
||||
|
||||
### 01번 MDX → 유형 A
|
||||
```
|
||||
layout_template: A
|
||||
page_structure:
|
||||
배경: topics=[1], weight=0.20
|
||||
본심: topics=[2,3,4], weight=0.55
|
||||
첨부: topics=[5,6], weight=0.15
|
||||
결론: topics=[7], weight=0.10
|
||||
```
|
||||
**1. block_assembler 유형 B 지원**
|
||||
- `assemble_slide_html()`이 유형 B 역할도 처리
|
||||
- 또는 유형 B 전용 함수 추가
|
||||
- filled/after가 제대로 생성되어야 Selenium 측정 가능
|
||||
|
||||
### 02번 MDX → 유형 B
|
||||
```
|
||||
layout_template: B
|
||||
page_structure:
|
||||
DX의_궁극적_목표: zone=top, topics=[1], weight=0.45
|
||||
프로세스_혁신: zone=bottom_left, topics=[2], weight=0.25
|
||||
주체별_기대효과: zone=bottom_right, topics=[3], weight=0.20
|
||||
결론: zone=footer, topics=[4], weight=0.10
|
||||
```
|
||||
**2. 컨테이너 크기 맞춤**
|
||||
- 현재 렌더링 잘림 → Selenium 측정 후 재배분으로 해결
|
||||
- 이건 1번이 해결되면 자동으로 동작
|
||||
|
||||
**3. 01번(유형 A) 깨지지 않는지 확인**
|
||||
|
||||
---
|
||||
|
||||
## 주의사항
|
||||
## 핵심 원칙
|
||||
|
||||
- 유형 A 코드 건드리지 않음
|
||||
- 유형 B는 별도 함수/분기로 추가
|
||||
- 01번이 깨지면 롤백 (git: c9677a6)
|
||||
- 하드코딩 절대 금지
|
||||
- 각 단계 완료 후 반드시 검증 (하드코딩, 모면용 코드, 기존 깨짐 여부)
|
||||
- HTML 결과물 고치지 말고 파이프라인 프로세스 고칠 것
|
||||
- 제목/텍스트는 원본 MDX에서 그대로 (Kei가 바꾸지 않음)
|
||||
- Kei가 재구성하는 건 빈 공간 채우기(표 요약)만
|
||||
- 유형 A 코드 건드리지 않고 유형 B 추가
|
||||
- normalized.sections에서 직접 텍스트 가져옴 (Kei structured_text 대신)
|
||||
|
||||
Reference in New Issue
Block a user