Index
2026-09-18 — Analysis

Finding D2 tagmem 패배 분해 + 쓰기 v11 통일 결정

scene_bench | gemini-3.7-flash, 보관 데이터 재분석 ($0) + v11 재측정 ($12.41)

TL;DR

p=.477
D2 McNemar
.098
오결합 tagmem
.767
정상결합 tagmem
$12.41
v11 측정 비용

1 배경 / 목적

사용자(260917): "gemini D2가 tagmem이 지는 게 아쉽네, 왜 저런지 분석해볼까?" D2 = 단일 물체·비은닉·로봇이 건드리지 않은(non-target) 물체. 행동 로그엔 없고 시각 기억만이 답할 수 있는 칸(오라클 textlog도 16.0에 그침). 이어서 사용자 목표: "5칸 전부 이기고 싶다" → 칸별 유의성 검정으로 확장. 또한 find=v5·restore=v11로 가족마다 tagmem writer가 다른 상태라 "find도 v11로 통일해서 측정해볼까"라는 요청이 이어졌다.

2 작업 내용

보관 데이터만 사용(tmp/find_final_flash37_merged.json, 589질의×7전략). 스크립트 tmp/d2/: reproduce.py(표 재현·McNemar) → diagnose.py(쓰기/검색/읽기 분해) → coverage.py → vocab_check.py → confusion.py → v11_predict.py(v11 그래프로 $0 검증) → evidence_coverage.py → significance_bold.py(칸별 McNemar).

판정 정의: 물체를 든 항목이 없으면 미기록, 있으나 정답 방·가구와 묶이지 않으면 오결합, 있으면 정상 결합.

이후 사용자 결정(260917)으로 find tagmem 쓰기를 v5→v11(가구당 항목 1개)로 통일하는 사전등록 측정을 실행 — 589질의 전량, 53편은 그래프 재사용(restore 루트와 공유), 47편은 find 영상으로 신규 ingest. 채택 기준: 조건이 완전히 같은 단일답·비은닉 483행(D1+D2) place가 v5 .555에서 .010 넘게 떨어지지 않으면(≥.545) 통일.

3 결과 (수치)

D2 손실의 정체 — 쓰기 상태로 완전히 갈린다

쓰기 상태ntagmemvis-pure
정상 결합176 (66%).767.682
오결합51 (19%).098.392
미기록41 (15%).293.463
틀린 기록이 없는 기록보다 나쁘다(.098 < .293) — 리더가 자기 항목을 따라간다. 검색 누락 0, 어휘 오탐 0 — 병목은 쓰기다.

격차 전부가 가구 하나: dining table

GT 가구nvis-puretagmem
dining table140.586.479
countertop84.702.750
tv stand18.056.167
desk8.375.875

dining table에서 −15행, 나머지에서 +8행 → 순변화 −7행(=전체 격차). dining table을 빼면 tagmem이 모든 가구에서 vis-pure 이상. 원인: 부엌은 어질러진 식탁의 곁다리 물체 누락(18행), 침실·거실은 식탁↔책상 이름 혼동.

칸별 유의성 (질의 단위 짝 McNemar)

칸nframesrf-v3vis-puretagmem1위와 유의차 없음
D121537.741.949.354.0vis-pure (p=.25)
D226852.238.859.356.7tagmem (p=.48)
D35123.552.939.254.9rf-v3(1.0)·vis-pure(.06)
전 질의(588): tagmem 302(.514) vs vis-pure 287(.488), p=.255. flash Finding의 어느 칸에서도 tagmem과 vis-pure는 통계적으로 구별되지 않는다.

쓰기 v11 통일 재측정 — 채택 기준 충족했지만 "무의미한 변화"

칸nv5v11오름/내림p
D1215.540.53516/171.00
D2268.567.56723/231.00
D351.549.4905/8.58
S134.088.1472/0.50
S220.150.0500/2.50
전체588.514.50746/50.76

정답 물체가 정답 위치와 함께 기록된 비율(물체 단위, 331개): v5 61.6% vs v11 60.4%(부호검정 p=.70). restore 실측 효과도 +.011(p=.57). writer 재추출 한 번에 D3·S2의 명목 1위가 넘어감 — 칸별 굵은 글씨는 단일 측정으로 불안정.

4 Takeaway

의미

D2 "패배"는 동률이고, 구조적으로는 tagmem이 기록이 맞을 때 vis-pure보다 +8.5pp 낫다. 텍스트 메모리의 고유 비용이 드러난 칸이다: tagmem은 쓰기 시점에 가구 이름을 확정하고(질문을 모르는 채로), vis-pure는 그 판단을 읽기 시점까지 미룬다. 확정이 틀리면 없는 것보다 나쁘다.

find를 v11로 통일하면 "가족 간 writer 통일"이라는 명분은 채우지만, D3·S2의 명목 1위가 우연히 넘어가는 부작용이 있고 실질적 이득이 없다 — 통계적으로 재추첨에 가깝다. 사용자는 이를 확인한 뒤 find는 v5 유지, 32B 열만 업데이트로 결정했다.

5 Next Steps

미해결 한계

find=v5·restore=v11의 writer 불일치가 논문에 남는다(공시 여부 사용자 판단). 남은 레버는 writer의 표면 위 물체 전수 기록(부엌 18행)뿐인데 재ingest ≈$13이고 특정 가구 겨냥 프롬프트는 벤치마크 과적합이라 권장하지 않는다.

다음 작업

32B에서 같은 D2 분해를 하면 쓰기 병목이 모델 크기와 어떻게 변하는지 나온다($0). 논문 서술: "기록이 맞으면 +8.5pp, 틀리면 −29pp; 검색 실패 0"은 텍스트 메모리의 쓰기 병목 주장을 직접 뒷받침하는 문장으로 채택.