Index
2026-09-14 — Experiment

읽기만으론 부족하다 — tagmem v7 파일럿 (routine·resume·find 각 20편)

scene_bench | v5 메모리 재사용 + 발화 entry + 묶음 검색 + 중립 헤더 · flash-3.7 · 읽기 전용 $2.15

TL;DR

+.100
routine loc (n=60)
+.062
resume ok (n=32)
−.038
find loc (n=104)
11/32
resume DB 횟수 일치
8/8
routine self 실패=방
$2.15
실비

1배경 — v5는 find/restore만, resume·routine은 채널 형태 문제

tagmem v5(+읽기 v6)는 flash-3.7 find .653·restore .372로 비오라클 최고였지만 resume .075·routine .319로 전 모델 열세였다. 진단(260912): resume은 "몇 번 남았나"를 물체 태그로 검색하고 'Retrieved k of N' 헤더가 기권을 유도(70%), routine은 정답 채널인 들은 규칙 발화를 writer가 저장하지 않음(self 174행 중 9행).

사용자 요구: "형태는 같되 저장·불러오기가 네 가족을 다 커버" · "묶음은 DB에서가 아니라 검색 시 관련 항목이 딸려 나와 VLM이 판단" · "인접 청크 중복 제거 금지" · "cap 이상 쓰지 않도록" → "몇 개만 테스트해서 점수가 더 잘 나오나".

v7 = 읽기 전용 변경 (v5 그래프 재사용, 재ingest 없음)

요소내용어느 가족을 겨냥
발화 entry사용자 발화를 결정론 entry로(act=instruct, obj=클래스 낱말, surf=도착 수납처만)routine self
묶음 검색직접 히트(텍스트 12·이미지 8) + 관련 사건 ≤32개를 태그 한 줄로 [t act obj → room/surf (IMG id)], 중복 제거 없음resume 횟수 · routine 방
중립 헤더'Retrieved k of N' 대신 "Entries relevant to this question (N stored)"resume 기권
유지이미지 8장 균등 채움 · v6 부분 답 규칙 · IMG id 스탬프find/restore

사전등록(실행 전 기록): routine self ≥.65·전체 ≥.45 / resume ≥.20(press .000 유지) / find ±.02. 반증선: routine 전체 <.40 · resume <.15 · find −.03 이상.

하네스 사고 1건: 병합 그래프 재사용 함수가 raws를 안 돌려줘 routine 잡(125313)이 12초 만에 KeyError로 죽음(비용 0). 키 추가 후 재제출(125321). 테스트 22 passed.

2결과 — 같은 행 짝비교와 같은 행 순위

가족nv5 → v7Δ승/패 (부호검정)기권사전등록
routine (loc/place)60.333/.183 → .433/.383+.100 / +.2009/3 (p=.146).28 → .08전체 ≥.45 ❌(.433) · self ≥.65 ❌(.545)
resume (ok/slot)32.094/.125 → .156/.281+.062 / +.1562/0 (p=.50).50 → .16≥.20 ❌ · press 0/4 유지 ✅
find (loc/place)104.615/.481 → .577/.462−.038 / −.0191/5 (p=.219).04 → .08±.02 ❌ · 반증선 도달

같은 행에서 전 전략 순위 (final_results 행과 짝)

전략routine loc/place (60)routine selfresume ok (32)find loc (104)
textlog (oracle).533/.533.727.875.462
frames-uniform.517/.500.636.219.558
rf-v3.483/.467.591.156.519
vis-pure.350/.250.341.312.615
tagmem v7.433/.383.545.156.577
tagmem v5 (현 final).333/.183.409.094.615
blind.217/.100.273.125.269
v7은 routine에서 tagmem을 비오라클 꼴찌 → 3위(frames·rf-v3 아래)로, resume에서 rf-v3 동률로 올린다. find에서는 vis-pure/v5 동률에서 3위로 내려간다. multi(routine 테이블 비우기)는 전 전략 0(all-or-nothing 채점; 클래스 단위 답 "food → side table").

3실패 분석 — 왜 여기서 멈추나 (실물)

resume: 답은 내는데 횟수가 틀린다 → DB에 횟수가 없다

v7은 기권 .50→.16, pending 과제 식별(tasks_ok) .31→.50으로 올랐지만 남은 횟수(remaining_ok)는 .19. 컷 이전 메모리에서 반복 이벤트 항목을 세어 GT 수행 횟수(n−r)와 대조:

행과제GT 수행DB 항목 수n= 합v7 답
1843 cut_11세탁기 버튼 5회31 ("finishes interacting with the washing machine")11회 누름 → 4 남음 (GT 2)
2874 cut_02커피머신 4회1000회 → 4 남음 (GT 3)
3252 cut_10건조기 5회3112회 → 3 남음 (GT 2)
1843 cut_11사과 4개 → 바구니3514완료로 판단 (GT 1 남음)
2739 cut_04감자 4개 → 바구니3494 남음 (GT 1)
3098 cut_03사과 4개 → 책상23 (n 최대 2)42 남음 ✓

32개 카운트 과제 중 항목 수 == 수행 횟수 11, n= 합 == 수행 횟수 8. 오라클(.875)과 v7(.156)의 차이는 전부 여기서 난다. visit_rooms 4행은 "집에 방이 몇 개인지 메모리에 없다"로 기권.

routine: 규칙은 찾았는데 방을 모른다

self·direct 실패 8행 모두 발화 entry가 검색됐고(heard 1~2개), 클래스 매핑(alarm clock=gadget, bread=food)과 수납처(side table·laundry basket)가 맞는데 방이 틀림. 규칙엔 방이 없으니 관찰 항목의 room 태그에서 "그 side table이 어느 방인지"를 찾아야 하는데, v5 항목 room이 []이거나 다른 방이다.

Q: Put the alarm clock on the countertop away. GT: alarm clock → kitchen / side table v7: "The user instructed to put gadgets from the countertop on the side table. An alarm clock is a gadget, and the side table is located in the living room" → (alarm clock, living room, side table) ✗ textlog ✓ · frames-uniform ✓ (같은 유형 8/8 중 textlog 8, frames 6)

find: 폴백 헤더를 없앤 값

Q: Pick up the salt shaker (0히트 → 폴백) GT: kitchen / dining table v5 헤더: "No entries matched [salt shaker] — showing my most recent notes and all image snapshots; the answer may still be visible" → "In IMG 14 and IMG 31, small shakers are visible on the white dining table in the kitchen" ✓ v7 헤더: "Entries from my memory index relevant to this question (N stored in total)" → "There is no record or visual observation of a salt shaker in any of the memory logs" → 기권 ✗ 같은 패턴: watch ×2(6278__1/6278__2). 나머지 2패는 묶음의 늦은 목격이 인스턴스 혼동(remote → IMG 35 t=210s dresser; bottle → IMG 71 tv stand). 1승: cell phone.

4텍스트 예산 — "cap 이상 쓰는 건 아닌가"

같은 행 메모리 텍스트tagmem v5tagmem v7rf-v3 메모리
resume 32행1,858자2,807자 (중앙 2,524 · 최대 5,247)812자 (20편 평균)
routine 60행1,493자≈2,200자 (최대 5,307)≈500~600자

묶음 평균 resume 14.6 / routine 11.3 / find 12.7줄(최대 32). 이미지는 8장 상한 그대로. v7을 채택하려면 표 각주 또는 rf-v3 텍스트 예산 동등화가 필요하다.

5Takeaway

6Next — 사용자 결정 필요 (비용)

  1. (권고) v7 폐기, v5+v6 유지 — final_results 변경 없음. 논문엔 "읽기 재설계로는 resume·routine을 못 올린다"의 근거로만.
  2. 읽기 결함만 고친 v7b(폴백 헤더 복원 · find는 묶음 끄기) 재파일럿 ≈$2 → 전량 ≈$8. 단 routine/resume은 여전히 frames·rf-v3 아래로 예상.
  3. 쓰기 v7(반복 이벤트를 회차별 항목 n=k/N으로 강제 · 배치 항목 room 필수 · 발화 저장) → 4가족 재ingest ≈$50+, 사전등록 후. 이득 상한: resume 오라클 .875, routine self .727.

원천: 로그 claude/260914/exp-tagmem_v7_pilot.md · 비교 tmp/pilot_v7_compare.py · 결과 tmp/tagmemv7_{routine,resume,find}_flash37_s?/results.json · 잡 125314/125315/125321.