Index
2026-09-10 — Experiment

축출 해제가 전부였다 — tagmem v5 파일럿 (find 20편 101행)

scene_bench | 프롬프트만 바꾸면 오히려 −.069, 하네스 결함을 없애면 +.208

TL;DR

+.139
loc 순효과
p=.0094
부호검정
−.069
프롬프트 단독
+.208
축출 해제
.030
기권 (v1 .158)
$4.55
실비

1설계 — ingest 한 번으로 기여를 가른다

조건쓰기 프롬프트이미지 축출읽기
v1 (아카이브 재사용, 비용 0)v18장, 오래된 것부터v2
Bv58장 (사후 재현 --tagmem-sim-write-cap 8)v5
Av5없음v5

편 선정은 아카이브 ∩ 발행본 95편에서 seed 고정 랜덤 20편. v1 수치는 아카이브를 그대로 재사용해 같은 행끼리 짝 비교했다. B는 A의 entry를 --tagmem-graph로 재사용하므로 ingest는 한 번뿐이다.

2점수 — 같은 101행 (hidden 제외)

조건locplace기권targetdistractor
v10.4750.3760.1580.4320.509
A (v5 full)0.6140.4950.0300.5000.702
B (프롬프트만)0.4060.2970.2570.5230.316
v1 → A 개선 20 / 악화 6 / 동률 75 부호검정 p=0.0094 v1 → B 개선 9 / 악화 16 / 동률 76 부호검정 p=0.2295

3🔴 기여 분해 — 프롬프트만 풀면 악화된다

v1 → B (프롬프트 v5만, 축출 유지) loc .475 → .406 = −.069 (비유의) B → A (축출 해제) loc .406 → .614 = +.208 순효과 = +.139

기제: v5 프롬프트는 이미지를 더 많이 저장하게 만든다(편당 8 → 43장 emit). 축출이 그대로면 더 많이 버려지고, 살아남는 8장이 더 심하게 뒤로 쏠린다.

v1BA
image entry / 편8.08.043.1
이미지 마지막 1/30.720.990.30
편 대비 스팬0.390.181.00
distractor 커버리지0.4740.3330.789
기권16/10126/1013/101
B의 distractor 커버리지 .333은 v1(.474)보다도 낮다. 게이트와 축출은 상호작용하며, 축출을 놔둔 채 게이트만 푸는 것은 순손해다.

논문 서술에 미치는 영향

이 결과는 "ours를 개선했다"가 아니라 "tagmem v1 수치는 쓰기 축출 결함 하의 것이었고, 그 결함이 전략의 이미지 채널을 통째로 무력화했다"로 써야 한다는 뜻이다. 개선분의 전부가 하네스 수정에서 온다.

4병목 분해 — 진단대로였고, 읽기는 손댈 필요가 없었다

v1A
기권 원인 W(쓰기) / R(검색) / U(사용)14 / 0 / 23 / 0 / 0
커버리지 distractor / target.474 / .591.789 / .659
담았을 때 loc (distractor / target).741 / .577.778 / .621
못 담았을 때 loc.300 / .222.417 / .267
점수 상승의 실체는 "담음" 그룹이 27행 → 45행으로 늘어난 것이다. 읽기 변환율은 .74 → .78로 사실상 그대로고, 검색 실패는 세 조건 모두 0%다. 진단이 예측한 기제가 그대로 나왔다.

5🔴 남은 병목 = D1 (내가 옮긴 것)

셀blindtextlog (oracle)framesvis-puretagmem v1v5 (A)
전체 (101).267.475.554.584.475.614 ✅
D2 남이 옮김 (49).286.224.673.776.571.776 =
D1 내가 옮김 (40).325.850.575.525.425.525 ❌

읽기 규칙이 "an object's CURRENT location is given by its LATEST entry"인데, 이미지가 8 → 43장으로 늘면서 그 물체를 나중에 스쳐 본 관찰 entry가 LATEST를 차지해 실제 배치 사건을 밀어냅니다.

셀정답 자리를 담은 행그 entry가 그 물체의 마지막인 행
D121/4013/40 (8행이 밀림)
D236/5030/50
내적 정합성: target loc이 B(.523) > A(.500) > v1(.432)로, 이미지가 적을수록 target이 오히려 낫다. 검색된 entry 구성도 D1에서 조작 act 3.4 vs 관찰 act 7.4로 관찰이 압도한다. 두 신호 모두 같은 설명을 가리킨다.

6사전등록 예측 대조 & 버그

#예측실측
P1 커버리지 distractor≥.65.789✅
P1 커버리지 target≥.70.659❌
P2 이미지 마지막1/3 / 스팬≤.45 / ≥.80.30 / 1.00✅
P3 find loc, vis-pure 초과초과.614 vs .584✅
P8 ingest 비용 +20~40%증가+0% ($0.097 vs $0.100)❌ (유리한 쪽)
버그 1건 — 조건 B에서만 발현. _object_timelines의 PREV-HOP이 "그 물체의 마지막보다 이른 entry"를 찾는데, 한 물체의 entry가 전부 같은 청크면 그 목록이 비어 IndexError로 샤드가 죽었다. A는 축출이 없어 안 걸렸고 B(sim-cap)에서 발현 — 구판 축출 환경에서만 터지는 경로라 A만 돌렸으면 못 봤다. if not before: continue로 수정 + 회귀 테스트(18 passed).

7Next

재현: python3 tmp/pilot_v5_compare.py A='tmp/tagmemv5_A_s*/results.json' B='tmp/tagmemv5_B_s*/results.json' 잡: A=117109 (117093은 extra 선점 → own 재제출) · B=117124 로그: claude/260910/exp-tagmem_v5_pilot.md · 설계 docs/superpowers/specs/2026-09-10-tagmem-v5-design.md

8추가 — v6(인스턴스 번호 + 배치 결과 규칙) 조건 C: 점수는 올랐지만 기제가 안 먹혔다

v1A (v5)C (v6)
loc (101).475.614.663
D1 (40).425.525.575 (= frames, 오라클 .850)
D2 (49).571.776.857
인스턴스 번호 표현—0.2%1.4% (예측 ≥50%)
v1 → C 개선 21 / 악화 2 p=0.0001 A → C 개선 11 / 악화 6 p=0.33 ← 비유의
기제 미작동. D1에서 A✗→C✓로 뒤집힌 5행의 C DB에 인스턴스 번호 0 · drop 0. OUTCOME 규칙은 오히려 writer를 보수화시켰다(배치 사실 363 → 223, target 담았을 때 loc .621 → .571).
writer 확률성. 같은 편·같은 프레임의 두 실행이 적은 배치 사실의 Jaccard 0.44 — 약 56%가 실행마다 다르다(ingest temp>0). A↔C의 ±.05 차이는 이 변동 안이다. 확립된 개선은 축출 해제뿐이고, 프롬프트 비교는 ingest 시드를 늘리지 않는 한 노이즈 아래다.

결정

v6 미채택. 논문 표에는 v1(결함) → v5(축출 해제)만. 인스턴스 구분은 지시가 아니라 코드(같은 카테고리 재등장 시 결정론 #k)로 가는 것이 다음 판 후보. 파일럿 누계 $7.97.