RAT 종단 파이프라인 브리프
레이아웃 한 장을 받아 영역을 나누고(poc3) → 영역마다 유형을 정하고(poc1) → 영역에서 core-C 를 뽑는(poc2) 파이프라인의 현재 상태다. final 이 아니다. 각 절은 「전략 → 실험 → 결과 → 수정 → 다음」 순서로 적었고, 수치는 출처(run·회차·파일)를 붙였다. 되풀이 측정 중인 값은 「확정치」라 부르지 않는다.
0. 한눈에
flowchart LR L[레이아웃 1장<br/>dv2.0 · json_sheet_data] --> P3[poc3<br/>영역 분할 · 층 1] P3 --> R[영역 n개<br/>노드 집합 + bbox] R --> P1[poc1<br/>영역별 유형 선정<br/>49유형 기준] P1 --> P2[poc2<br/>영역 안 core-C 추출<br/>이중 판정 게이트] P2 --> C[core-C<br/>secured / review / failed / empty] T[(시맨틱 태그<br/>공짜 증거)] -.가드레일.-> P1
| 세션 | 역할 | 산출물 | 핵심 지표(8/25) |
|---|---|---|---|
| poc1 | 49유형 술어기준(무엇이 그 유형인가) + 영역에 유형 배정 | criteria49.mjs 49/49 · 판정식 · 2트랙 결정기 |
영역 선정률 89 |
| poc3 | 레이아웃을 의미 단위 영역으로 분할(층 1) · 컴포넌트 관계(층 2, 미개설) | 세트 poc3-boundary-2#3 · 영역 + 진단 열 |
자기일치도 개수 73% · 멤버십 50%(반드시 나눠 읽는다) |
| poc2 | 영역+유형을 받아 core-C 노드 집합 추출 · 판정 | core_nodes + 등급 |
판정 대상 기준 확보 66.7% · 사람 일치 85.7% · 빈 답 귀책 2~3% |
| 연결 | 500장 종단 실측 · dv2.2 유효 컴포넌트 대비 | 검수 썸네일 6 run · 통계 색인 | core-C 보유 레이아웃 67%(유효 컴포넌트 40%) · secured 399→허수 제외 386 · 목표 1:1(500) |
핵심 결론 세 줄:
- 파이프라인은 끝까지 통했고(500장 · 총 ≈ $60), 기존 유효 컴포넌트가 없던 215장에서도 core-C 를 냈다.
- 가장 큰 결함은 상류에 있다 — 빈 답(추출기가 「그 유형 아님」으로 판단) 44.7% 의 66% 가 「장 제목 블록에 HighlightedMessage 가 붙은 것」. 제2 판정·강제 추출 두 실험이 97~98% 상류 귀책으로 수렴했다.
- 재현성이 상한이다 — 영역 멤버십 50% · 유형 배정 82.6%. 표본을 늘려도 좁아지지 않는다(집계 지표만 안정). 층 2 와 제목 축 처방(
B-D7)이 그 다음 손잡이다.
1. 49유형 기준 설정 (poc1)
1.1 전략 — 기준은 원장에, 판정은 기준에서 조립한다
「좋은 컴포넌트」 작업의 도그마 3층을 그대로 쓴다. 프롬프트를 손으로 쓰지 않고 술어 문면에서 판정기가 조립되므로, 기준을 고치면 판정이 따라 바뀌고 우회 경로가 없다.
flowchart TB S[술어기준 criteria49.mjs<br/>유형별 목적·요구·배제·갈림·증거] --> V[판정식 criteria-verdict.mjs<br/>전제 T/N 의 논리식] V --> O[관측 배관 criteria-obs.mjs<br/>시각 전제 64종 = VLM · 기하 전제 = 코드] O --> D[영역별 판정<br/>구조 트랙 후보 집합 S]
관측/추론 분리(류민 8/21) — 확정적이어야 하는 것은 추론 층이고 관측은 흔들려도 된다. 「화살표인가」는 갈릴 수 있지만 「화살표라면 Steps 인가」는 답이 하나다. 그래서 VLM 에게는 볼 수 있는 것(전제 64종 · Y/N)만 묻고, 유형은 판정식이 낸다. 운영에서 관측은 poc2·poc3 의 VLM 소관이다.
1.2 기준의 구조 — required · exclude · 갈림
★49유형 전부의 기준 전문은 별도 페이지에서 본다 — 유형별 목적·요구·배제·갈림·증거·전제·판정규칙 · 좌측 목록으로 이동/검색.
유형마다 한 벌이다. 예: Steps
| 칸 | 내용 |
|---|---|
| 목적 | 업무나 절차를 순차 단계로 구분해 진행 순서를 보인다 |
| 요구(required) | 단위가 둘 이상 · 앞 단위가 뒤 단위의 전제다(순서 의존 — 서수 마커가 1→2→3 이면 그 증거) |
| 배제(exclude) | 실제 시간축 → Timeline · 마지막이 처음으로 되돌아감 → Cycle · 단계마다 모수 감소 → Funnel · 조건 분기 → FlowChart |
| 갈림(형제) | Transformation(단계 셋 이상 vs 상태 둘) · List(순서 의존 유무) · Staircase(상승=수준) … 형질 거리 병기 |
| 증거 | 서수 마커 · STEP 어휘 · 단위 사이 화살표 |
Steps: N(반복 단위 수) >= 2
&& (T(순서 의존) || (T(서수 마커 순서 부합) && !T(차트가 주된 요소)))
&& !T(날짜 슬롯) && !T(이음이 닫힌 고리) && !T(모수 감소 표현)
&& !T(이음이 갈라진다) && !T(상승이 수준을 뜻함) && !T(같은 대상의 전후)왜 배제가 필요한가 — Steps 의 요구를 만족하는 컴포넌트는 Cycle·Staircase·Funnel 의 요구도 대개 만족한다. 유형 간 경계는 요구가 아니라 배제가 긋는다. 같은 이유로 List 는 요구(반복 단위 ≥2 · 단위별 슬롯 ≥2 · 대등 병렬 · 순서 표지 부재)가 다른 유형의 부품에도 참이므로 배제 12종(순서 의존 · 표 요소·괘선·표 형태 · 맞세움 · 큰 수치 · 차트 주됨 · 고정 개념 영역 · 부분 겹침 · 상하 소속 · 상승=수준 · 날짜∧축 정렬)을 가진다. 정리하면 「항목들을 다스리는 상위 구조(순서·축·격자·위계·기하)가 있으면 List 가 아니다」 — 타임라인 안의 항목은 List 가 아니라 타임라인의 부품이다.
List 의 특수성(류민 8/24 확정) — 태깅 시절 정책은 「다른 유형에 안 속하면 List」였다(태그의 75% 가 List). 이 잔여 정책은 폐기했고, 현행은 「List 자체 완결 조건 + 어디에도 안 속하면 uncategorized」다. 따라서 List 태그 재현율은 비표적이다 — 쫓으면 폐기 정책을 재학습한다.
정의형 술어(polarity=define) 도 있다 — 「무엇을 단위로 셀 것인가」는 요구 명제로 쓸 수 없고 판정식 밖에서 판정에 영향을 준다(예: 담체=core 확정, 페이지 역할 4종은 template_definer 를 따른다).
1.3 유형 결정 — 2트랙 + 태그
구조 트랙(판정식 · 복수 발화 허용)만으로는 동일 노드 그룹에 여러 유형이 참이 되는 경우가 남는다(다중 발화 10.7%). 그래서 의미 트랙(VLM 이 단어장 v7 정의로 후보 ≤3 을 냄)을 독립으로 두고 조합한다.
flowchart TB
S[구조 트랙 후보 S] --> X{교집합?}
M[의미 트랙 후보 M<br/>단어장 v7 정의] --> X
X -->|하나| A[A 교집합 채택]
X -->|둘 이상 / 없음| C[확정 규칙 C2~C14<br/>일반→특수 · 도넛→게이지 · 장식선→막대 · 계단 · 콤보 · 비교표 · 연표]
C --> T{태그로 갈리나?}
T -->|예| TT[T 태그 tie-breaker<br/>List 태그 제외 · 확정 규칙 뒤에만]
T -->|아니오| F[C충돌 → 구조 폴백 weak<br/>8/25]
ADJ[(검수 확정 원장<br/>adjudicated-cases 40건)] -.최우선.-> X확정 규칙은 전부 류민 검수(8/24) 에서 나왔다 — 예: Combo 는 「축을 공유하고 구성 각각이 오롯한 차트」(장식 선은 구성이 아님), Quadrant 는 명시적 축이나 좌표점이 있을 때만, 들여쓰기 트리는 HierarchicalTree. 검수 결과 「태그 승」이 많았던 것은 태그가 공짜 증거이자 가드레일이라는 방침의 근거가 됐다(태그는 정답지가 아니다).
1.4 실험과 결과 — 회차 원장
축은 유효 컴포넌트(DO) (레이아웃 태그보다 컴포넌트 태그가 유리 — 류민 8/24 전환) · 표본 1,147 고정 · 회차마다 전/후 비교(DASHBOARD.md 자동 생성).
| 회차 | 무엇을 고쳤나 | 다중 발화(결함 직결) | 태그 일치 | 매크로 F1 |
|---|---|---|---|---|
| 기준선 | 수리 전 | 16.1% | 43.4% | 59.3 |
| 9 | List 형제 배제 6종 | 10.4% | 43.6% | 59.5 |
| 11 | HM 배제 2종(차트·이음) · Steps 마커 ¬차트 가드 | 9.1% | 43.5% | 59.6 |
| 12 | ProblemSolution 실물 재작성(의미역 자리 전제) | 10.3% | 43.7% | 58.6 |
| 13 | 조회·기하 사각 → 시각 층 이동(게이지·표) | 10.7% | 45.7% | 57.5 |
| 15~ | 류민 직접 검수 → 2트랙+태그+확정 원장 | C충돌 312→0 · 선정률 72→99% | 선정 태그 일치 71.5% | — |
유형별 상태(13회차): 🟢 정밀 80%↑ 12종 · 🟡 19종 · 🔴 5종(List·HM·LongForm·DialogueChat·…) · 표본 부족 4종 · 미발화 3종. 기준 확보 자체는 49/49.
배운 것
- 개선의 다수는 「규칙 정확도」가 아니라 기준(술어) 수정이었다 — 예: ProblemSolution 은 「문제와 대응의 자리 구분」이라는 의미역 전제를 새로 세워 재현 52→87%.
- 관측이 막히면 층을 옮긴다 — 코드 관측기를 고치는 것보다 시각 전제로 옮기는 것이 싸고 정확했다(RadarChart 33→89%).
- 같은 방식으로 두 번 실패하면 판정식을 더 만지지 않는다 — 기준이 안 선 것이다.
- VLM 묶음 구성이 답을 바꾼다 — 같은 문면이 45건 대 644건. 전제는 안정적이고 흔들리는 것은 하네스(묶음 경계·캐시 갱신). 처방 = 순서 해시 고정 · 재질의는 묶음 단위.
1.5 종단에서 드러난 것 (8/25)
같은 100장을 두 번 돌려 노드 집합이 완전히 같은 영역 178개의 유형을 대조했다:
| 층 | 두 run 동일 |
|---|---|
| 최종 유형 | 82.6% |
| 구조 트랙 후보 집합 | 86.5% |
| 의미 트랙 top-1 / 후보 집합 | 81.5% / 74.2% |
갈린 31건 중 25건은 구조가 같고 의미 트랙이 흔들린 것 → 불안정의 주범은 의미 트랙(VLM 후보). poc2 실측으로 유형이 바뀐 21건 중 7건(33%)에서 core-C 확보가 뒤집혔고, 유형이 같은 영역에서는 0건 — 유형 배정 재현성이 하류를 지배한다.
1.6 다음
- 장 제목 블록 → uncategorized(R0): poc3 진단 열(강 등급) ∧ (HM ∨ 빈 답) — 사후 정리판 · 새 장에는
강 ∧ HM(정밀 92.1% · 재현 50.4%)만 쓴다. - 의미 트랙 안정화 — 재질의 다수결 · 묶음 고정.
- 층 2 판별자(「다스리는 상위 구조」+「두드러짐」)에 배제 12종을 얹어 poc3 와 정합.
2. 레이아웃에서 영역 설정 (poc3)
2.1 전략 — 「이 노드들이 함께 무엇을 전달하는가」
입력 = 슬라이드 이미지 + 노드 목록(종류·좌표·크기·글자). VLM(gpt-5.6-terra)에 장 단위로 한 번 묻는다. 프롬프트는 술어 여섯(B-D1 그룹 형식 · B-D7 주체성 · B-D4 종속 · B-D8 비귀속 · B-D3 반복의 단위 · B-D6 이음)에서 조립된다(세트 poc3-boundary-2#3). 내려간 술어(B-D2·B-D0·B-D5)는 사유와 함께 남긴다.
2.2 층 1 과 층 2 — 이종 중첩을 어떻게 다루나
flowchart TB
subgraph L1[층 1 · 의미 단위로 영역을 잡는다 — 운영 중]
A[중앙 수치 + 좌우 표·차트] --> B[영역 하나]
end
subgraph L2[층 2 · 그 영역의 컴포넌트를 가른다 — 미개설·류민 결정 대기]
B --> C[BigNumber]
B --> D[ComparisonTable]
B --> E[BarChart]
end- 단독 / 병치 / 포함은 층 2 의 관계값이고
parent하나에서 도출한다(parent 있음=포함 · parent 없는 컴포넌트 둘 이상=병치 · 하나=단독). 검산 = 자식⊆부모 · 형제 서로소 · 루트 합⊆영역.type은 poc1 이 채운다. - 컴포넌트 0개 영역(장 제목 블록)은 결함이 아니라 정상 — 별도로 센다.
- 무엇을 컴포넌트로 셀 것인가는 미정 — 「유형이 붙는 단위」는 감찰에서 막혔다(유형에 맞춰 자르면 「단일 유형」이 정의상 참 → 측정 붕괴). 대안(제안) = 「이것들을 다스리는 상위 구조가 있는가」 — 축·순서 / 격자·괘선 / 위계·포함의 기하 / 두드러짐(하나가 나머지를 크기·위치로 종속). poc1 배제 12종을 덮는다(앞 셋이 10종 · 두드러짐이 2종).
- 포함은 희소하다 — 겉보기 포함 65건 중 63건이 List 동반(옛 잔여 정책의 그림자) → 실재 포함 1,400장 중 2건(0.14%). 층 2 의 무게중심은 병치.
2.3 실험과 결과
| 실험 | 결과 | 출처 |
|---|---|---|
| 자기일치도(파일럿 100장 ×2) | 영역 개수 73% · 노드 집합(멤버십) 50% — 반드시 나눠 적는다. 하류가 쓰는 것은 50% | 8/25 |
| 갈림 27장 분해 | 70% 는 「자르는 위치만 다름」 · 축 둘 = 제목 축(44%) · 병치 축(1 ↔ 4 오감 — 층 2 자리가 없어서) | 8/25 |
| 글자 미탑재 결함 수정 | 자기일치도 80→87%(30장) · 비용 $17.7→$13.8/1,000장 | 8/24 |
B-D7 담체 노드→묶음(류민 확정 「단일 노드 주체는 극히 특수한 유형 외 없다」) |
500장: 총 영역 1,188→1,058 · 1노드 영역 −50% · 1~3노드 −22%(잡음 바닥 +7% · 5 run 전부 같은 방향) · 병치 후보 +8%(층 2 몫 보존) | 8/25 |
| 진단 열 「컴포넌트 없음」(D-E1 ≤6노드 ∧ D-E2 반복 없음 ∧ D-E3 형제 있음) | 정밀 67.9% · 재현 85.1% · 강 등급 정밀 74.5% → poc1 유형과 AND 하면 92.1% | 8/25 |
| fg 출발(BE foreground 노드만 입력) | 빈 답 46.6→28.5% · 종단 확보율 36.8→46.7% — 그러나 영역 −27% · 병치를 더 뭉침 → 개수 목표엔 역행, 별개 물음으로 보류 | 8/25 |
| 유형 출발 판정기(49유형을 보며 자르는 3단 절차) | 층 2 내부 유형 36 · uncategorized 7.8%(자기 신고) 로 좋아 보이나 자기일치도 개수 66% · 멤버십 29% — 재현성 악화 · 노드 집합 일치 19/100 → 가설 기각. 빈 답은 poc1 판정식으로 같은 자로 재야 비교 가능 | 8/25 |
2.4 다음
- 층 2 개설 — 판별자 결정(류민) → 술어 등재 → 감찰 → 500장 · 처음부터 자기일치도 2회.
- 영역 정답지 부재 — poc1 유형 판정을 자로 빌려 쓴다. 회차 태그 규율(「stepN 기준 관측」).
3. 영역 내 core-C 추출 (poc2)
3.1 전략 — 유형 기준을 문장 그대로 넣고, 후보를 문법으로 구속한다
입력 = 썸네일 1장 + sheet_json 에서 직접 만든 노드 목록(운영 BE 산출을 쓰지 않는다 — 목록에 없는 노드는 고를 수 없어 누락이 그대로 오탈락이 되므로) + 유형 기준 문장(poc1 판 eb276bb5e · 목적·귀속 범위·배제만 — 판별 조건까지 넣으면 사람과 일치가 85.7→80.4% 로 내려간다) + 영역 노드 id 집합. 영역 노드로 후보 목록 자체를 자르고 출력 스키마의 enum 으로 박아 영역 밖 노드를 고르는 일이 문법적으로 불가능하다. 표·프레임처럼 자기 시각을 가진 컨테이너도 후보에 넣는다(표 유형 4건 전건 실패 → 3건 통과).
flowchart LR
I[영역 노드 + 유형 기준 문장] --> P[후보 = 영역 노드<br/>enum 구속]
P --> X[추출 → 렌더 → 확인 루프 2라운드<br/>제거 먼저 · 추가 나중]
X -->|후보 0| E[empty<br/>그 유형 아님 + 사유]
X --> J1[판정 표본 1<br/>누락·과포함·완결성]
X --> J2[판정 표본 2]
J1 & J2 --> G{통과 수}
G -->|2| S[secured]
G -->|1| R[review]
G -->|0| F[failed]
E -.사유 환류.-> UP[poc3 · poc1]확인 루프는 제거를 먼저 정한다 — 순서를 강제하지 않으면 12건 중 11건이 늘리기만 했다(추출 결과에 배경이 없어 원본 대비 「다 빠져 보이는」 편향). 강제 뒤 과포함 11→5건.
채점 — 3문항(누락·과포함·완결성 · 「판단 불가」 탈출구) · 독립 두 표본 · 둘 다 통과 = secured / 하나 = review / 둘 다 결함 = failed / empty(후보 0 · 판정 대상 아님) / unjudged(렌더 장애 · 분모 제외). 채점자는 추출 모델과 다른 모델(자기 채점 시 최대 30%p 자기선호). 분모가 둘이다 — 종단 비율(배정 영역 전체) vs 추출 성능(판정 대상).
3.2 실험과 결과
| 항목 | 값 | 출처 |
|---|---|---|
| 개선 4사이클(500건씩 새 표본) | 78.2 → 83.0 → 83.5 → 84.0% (확정 결함 12.6→8.2%) — 기준 문장 개정 30유형 · 노드 텍스트 표시 복구 | results-*-j-s{1,2}.json |
| 종단 500장 · 1,328 영역 | 확보 489 · 재검 60 · 결함 184 · 빈 답 594(44.7%) · 판정 불가 1 → 종단 36.8% · 추출 성능(733 기준) 66.7% | e2e-run{1..6}-for-hub.json |
| 결함 사유(184건 · 두 표본 지적 합) | 누락 344 · 완결성 313 · 과포함 38 — 병목은 「덜 뽑는 것」 | 동상 |
| 계기 vs 사람(류민 검수 56건 · 8/18) | 케이스 일치 85.7% · 엄격 오판 3 · 관대 오판 5 · 표본 간 요동 ~10% — ★종전 「91.8% · 엄격 4:1」은 기준 문장 교체 후 재산출되지 않아 이 값으로 정정. 관대 쪽이 약간 많아 「바닥 추정」이라 말할 근거가 지금은 없다 | calibration/human-review-2026-08-18.json |
| 빈 답 귀책 ① 유형 적합성 되묻기 30건 | 29건(97%) 「그 유형 아님」 — 사유가 poc1 배제 문면과 겹침 | empty-verify-run1.json |
| 빈 답 귀책 ② 빈 답 금지 강제 109건 | 107건(98%) 여전히 빈 답 — 고를 것이 없다 | e2e-run1-forced-for-hub.json |
| 빈 답 귀책 ③ fg 재분할 입력 | 빈 답 46.6→28.5% · 종단 36.8→46.7% — 단 개수는 86→77 로 준다(분모 −27%) | e2e-run1fg-for-hub.json |
| 재현성 | 같은 입력·같은 유형이면 산출 불변(캐시 정의상) · 갈림은 전부 상류 유형 변경 | run1 vs run2 |
| 거짓통과 실례 | HM ≤3노드 secured 12건(제목 블록) — 관대 오판의 실체 · 검토 시트 제공 | 8/25 |
| 비용 | 영역 1건 ≈ ₩32(추출·확인 2라운드·판정 2표본 포함 · 862영역 $20.02) · 노드 집합이 캐시 키라 상류 재분할 시 겹치는 영역은 무료 | 4 run |
결론 — 빈 답의 귀책은 거의 전부 상류 배정(HM 한 유형이 436 배정 중 393 빈 답 · 전체 빈 답의 66%), poc2 몫은 2~3%. 그래서 빈 답을 막는 프롬프트를 쓰지 않는다(효과 없음 · 있었다면 오배정을 통과시켜 core-C 오염). 대신 빈 답 사유를 산출에 남겨 상류로 돌려준다.
수정한 것 — 되붙이기 키 (layout_id,type) 충돌 → region_id(17건 오귀속 정정) · 일시 장애(4xx/5xx)를 영구 캐시하던 결함(88건 재시도 봉쇄) · 판정 불가와 결함 구분(unjudged — 결함 90 으로 보이던 것이 실제 2) · 환경변수 누락으로 추출 모델이 값싼 모델로 강등되던 사고(설정을 코드 기본값에 박음) · 강제 모드는 실험 전용 봉인.
3.3 한계와 다음
- 채점의 정답지가 기준 문장 자체다 — 「기준대로 뽑았는가」이지 「기준이 옳은가」가 아니다. 기준 확정 후 4사이클 수치를 다시 잰다.
- 사람 대비 오차 ~15% — 앵커 56건은 층화 표본이라 모집단 오판율로 환산 불가. 검수 시트 사람 확인 대기.
- 반복을 늘려도 회수되지 않는다 — 탈락 76건 중 회수 15~16건 · 라운드 4·확대 이미지 추가에도 차이 없음. 잔여 탈락의 ~80% 는 기준 해석 성분.
- 회수 레버 = 판정 3표본 다수결(+25~35 · 기준 완화) · 사람 검수 계기 보정. poc2 가 개수 목표를 단독으로 만들 방법은 없다(자체 명시).
4. 연결 — 종단 파이프라인
4.1 배선
모집단 10,000장(dv2.0 태그 49유형 층화) → 유니크 500장(파일럿 100 + run3~6 · run2 는 재측정) · 종단 키 lid20(로컬 dv2.2 는 부분 풀) · 영역 id 에 노드 집합 해시(캐시 오염 차단 — 오염판은 재현율 84% 허수를 냈다) · 검수 썸네일 = 페이지 위 영역 bbox·유형 + core-C 노드 등급 오버레이 · 독립 core-C 썸네일 733건(poc2 캐시 재사용 · 투명 png).
4.2 500장 실측 (잘림 4 제외 496장 · 총 ≈ $60)
| core-C(secured) | dv2.2 유효 컴포넌트(v3.5) | |
|---|---|---|
| 보유 레이아웃 | 332 (67%) | 198 (40%) |
| 총 개수 / 장당 | 399 / 0.80 | 386 / 0.78 |
| 분포 | 0:164 · 1:272 · 2:53 · 3:7 | 0:298 · 1:91 · 2:51 · 3:35 · 4+:21 |
교차: 둘 다 130 · core-C 만 202 · VC 만 68 · 둘 다 없음 96. 종단은 도달 폭이 넓고(DO 가 없던 215장에서도 확보) 장당 깊이는 얕다(영역당 core-C 1개가 상한). ※ dv2.4 는 DO 0건이라 비교 기준을 dv2.2 로 잡았다.
| run | core-C 보유 장 | core-C | VC | 빈 답 |
|---|---|---|---|---|
| run1 | 68/99 | 86 | 73 | 108 |
| run3 | 65/100 | 77 | 86 | 109 |
| run4 | 69/99 | 82 | 74 | 89 |
| run5 | 70/99 | 83 | 86 | 93 |
| run6 | 60/99 | 71 | 67 | 83 |
run 간 변동이 작다 — 집계 지표는 안정, 개별 레이아웃 산출은 재현율 폭(73/50/82.6)을 그대로 물려받는다.
4.3 빈 답 — 무엇이 막는가
flowchart LR A[poc3 층 1<br/>제목·부제 2~3노드를<br/>별도 영역으로 냄] --> B[poc1<br/>크롭만 보면 큰 글자+부제 =<br/>HM 형상 → HM 배정] B --> C[poc2<br/>「이 영역은 HM 아님」→ 빈 답] C -.97~98% 상류 귀책.-> A
빈 답 594/1,328(44.7%) 중 HM 393(HM 배정 436 의 90%) · 1~3노드 영역이 빈 답의 68%. 처방 두 갈래 — ①poc3 B-D7(단일 노드 주체 불허 → 1노드 영역 −50%) ②poc1 R0(진단 열 강 등급 ∧ HM → uncategorized). 적용 결과 빈 답 484 → 157, 허수(제목 HM 11 + 과분할 확정 8) 제외 secured 386.
4.4 목표와 산술 (류민 결정 8/25)
- core-C 는 컴포넌트 단위로 센다(카드 4개 List = 1 · 카드는 구성요소 · 셀/단위≠desc/deco).
- 목표 500장 : core-C 500(1:1). 800 은 컴포넌트 정의상 500장 상한(
740 × 확보율 5767%)을 넘어 기각. - 현재 386 + 충돌 폴백 +12 = 398 → 3표본 완화 +25
35 → **433** → 나머지는 영역 수가 늘어야 나온다(B-D7재분할 후 재선정 진행 중 · 층 2 이종 병치 보조).
4.5 계획
| 순서 | 무엇 | 담당 | 상태 |
|---|---|---|---|
| 1 | B-D7·B-D4·B-D8 정의역 「묶음」 통일 → 500장 재분할 → 재선정 → 바뀐 영역만 poc2 재투입 |
poc3 → poc1 → poc2 | 재분할 완료 · 재선정 run3b 까지(일시 중단 · 재개 대기) |
| 2 | 판정 3표본 다수결(871건 · ₩1.5만 · 완화분 moved_up 분리 표기) |
poc2 | 실행 중 |
| 3 | HM ≤3노드 secured 12건 육안 판정 → 관대 맹점 실측치 | 류민 | 시트 제공 |
| 4 | 층 2 판별자 결정 → 술어 등재 → 감찰 → 500장 2회 | 류민 → poc3 | 결정 대기 |
| 5 | 의미 트랙 안정화(재질의 다수결·묶음 고정) → 유형 배정 재현율 ↑ | poc1 | 계획 |
| 6 | 전량(10k) 재개 조건 = 층 2 개설 후 재파일럿에서 재현율 문(개수 ≥90 · 유형 집합 ≥85) 통과 | 허브 | 보류 |
4.6 함정 원장 (다음 사람을 위해)
- dv 가 바뀌면 layout·DO id 가 재발급된다 — id 조인 0 이면 세대부터 의심(
template_page_idx/uuid로 짝). - 영역 id 에 노드 해시가 없으면 run 간 캐시가 섞여 재현율이 허수가 된다.
- 「비율이 올랐다」와 「개수가 늘었다」는 다르다(fg: 확보율 ↑ · 절대 개수 ↓).
- 표본을 늘려도 재현율은 좁아지지 않는다 — 집계와 개별은 다른 축.
- 「단위·셀」을 컴포넌트로 세면 목표가 허수로 채워진다.
- 캐시 적중분의 일치율은 재현성이 아니다(정의상 100%).