260406-260412 · −47% object nodes via 4 prompt rules
v3 그래프 결과에서 object 노드가 74개로 부풀려져 있고, 그 중 상당수가 (1) 사람 부위 분할, (2) generic ID, (3) 같은 물체의 상태 변화, (4) noise (water/wall) 등 4가지 카테고리의 노이즈였다. 코드 변경 없이 PHASE1 프롬프트만 수정해 v4로 어디까지 줄일 수 있는지 측정하는 것이 이번 분석의 목표.
| 항목 | v3 | v4 |
|---|---|---|
| VLM | Gemini 2.5 Flash | Gemini 2.5 Flash |
| 입력 영상 | P01_01 5~6분 구간 | 동일 |
| Phase 1 frame interval | 2초 | 2초 |
| 코드 변경 | — | 0건 |
| 프롬프트 변경 | baseline | 4가지 P0 규칙 추가 |
| 지표 | v3 | v4 | Δ (절대) | Δ (%) |
|---|---|---|---|---|
| Object 노드 | 74 | 39 | −35 | −47% |
| Person 계열 | 13 | 5 | −8 | −62% |
| Generic ID | 3 | 0 | −3 | −100% |
| Noise (water/wall/shoes) | 4 | 1 | −3 | −75% |
| Celery 계열 | 11 | 2 | −9 | −82% |
| Action 노드 | 14 | 10 | −4 | −29% |
| Washing 과분할 | 6 | 1 | −5 | 해결 |
| Spatial edges | 248 | 192 | −56 | −23% |
v3에서는 같은 셀러리가 형태/상태별로 11개 노드 (celery_stalks, celery, celery_stalk, chopped_celery, cut_celery_pieces, celery_chopped, celery_bag, celery_bunch 등)로 분할되었다. v4의 "BASE name + state in description" 규칙으로 단 2개 (celery, celery_package)로 통합. 가장 큰 단일 효과 — 다른 식재료(leek, carrot)에도 같은 효과 기대.
"Never use generic IDs" 규칙으로 object_0/1/2 패턴이 완전 제거. 가장 명확한 규칙이 가장 잘 지켜짐.
person/hands/water가 일부 잔존 (각 1~3개씩). 명확한 exclusion 규칙임에도 VLM은 가끔 "사람을 무시할 수는 없음"으로 판단하는 듯. 후처리 정규화 (P1)가 P0를 100% 대체할 수 없음이 정량적으로 확인됨.
둘 다 정상적인 영어 표현이라 VLM이 한쪽으로 통일하지 않음. Entity resolution이 P1 코드 작업으로 필요. fridge / refrigerator / large_fridge도 동일.
v3에서 washing이 5개로 쪼개졌던 것이 v4에서는 1개로 통합. PHASE1에 "action_summary must use exactly ONE canonical verb in -ing form"을 추가한 효과.
의미: "코드 0줄 변경 + 프롬프트 4 규칙 추가 = −47% 노이즈"는 이후 모든 그래프 작업에서 P0(프롬프트) 작업을 P1(코드)보다 먼저 시도해야 한다는 강력한 신호다. 추가 P0 작업 가능 여부도 확인해야 한다.