n= 합 14). routine: self 실패 8행 전부 '수납처의 방' — 규칙은 58/60행에서 검색됐고 클래스·수납처는 맞는데 room 태그가 비거나 오기.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 이상 쓰지 않도록" → "몇 개만 테스트해서 점수가 더 잘 나오나".
| 요소 | 내용 | 어느 가족을 겨냥 |
|---|---|---|
| 발화 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 이상.
raws를 안 돌려줘 routine 잡(125313)이 12초 만에 KeyError로 죽음(비용 0). 키 추가 후 재제출(125321). 테스트 22 passed.| 가족 | n | v5 → v7 | Δ | 승/패 (부호검정) | 기권 | 사전등록 |
|---|---|---|---|---|---|---|
| routine (loc/place) | 60 | .333/.183 → .433/.383 | +.100 / +.200 | 9/3 (p=.146) | .28 → .08 | 전체 ≥.45 ❌(.433) · self ≥.65 ❌(.545) |
| resume (ok/slot) | 32 | .094/.125 → .156/.281 | +.062 / +.156 | 2/0 (p=.50) | .50 → .16 | ≥.20 ❌ · press 0/4 유지 ✅ |
| find (loc/place) | 104 | .615/.481 → .577/.462 | −.038 / −.019 | 1/5 (p=.219) | .04 → .08 | ±.02 ❌ · 반증선 도달 |
| 전략 | routine loc/place (60) | routine self | resume 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은 기권 .50→.16, pending 과제 식별(tasks_ok) .31→.50으로 올랐지만 남은 횟수(remaining_ok)는 .19. 컷 이전 메모리에서 반복 이벤트 항목을 세어 GT 수행 횟수(n−r)와 대조:
| 행 | 과제 | GT 수행 | DB 항목 수 | n= 합 | v7 답 |
|---|---|---|---|---|---|
| 1843 cut_11 | 세탁기 버튼 5회 | 3 | 1 ("finishes interacting with the washing machine") | 1 | 1회 누름 → 4 남음 (GT 2) |
| 2874 cut_02 | 커피머신 4회 | 1 | 0 | 0 | 0회 → 4 남음 (GT 3) |
| 3252 cut_10 | 건조기 5회 | 3 | 1 | 1 | 2회 → 3 남음 (GT 2) |
| 1843 cut_11 | 사과 4개 → 바구니 | 3 | 5 | 14 | 완료로 판단 (GT 1 남음) |
| 2739 cut_04 | 감자 4개 → 바구니 | 3 | 4 | 9 | 4 남음 (GT 1) |
| 3098 cut_03 | 사과 4개 → 책상 | 2 | 3 (n 최대 2) | 4 | 2 남음 ✓ |
32개 카운트 과제 중 항목 수 == 수행 횟수 11, n= 합 == 수행 횟수 8. 오라클(.875)과 v7(.156)의 차이는 전부 여기서 난다. visit_rooms 4행은 "집에 방이 몇 개인지 메모리에 없다"로 기권.
self·direct 실패 8행 모두 발화 entry가 검색됐고(heard 1~2개), 클래스 매핑(alarm clock=gadget, bread=food)과 수납처(side table·laundry basket)가 맞는데 방이 틀림. 규칙엔 방이 없으니 관찰 항목의 room 태그에서 "그 side table이 어느 방인지"를 찾아야 하는데, v5 항목 room이 []이거나 다른 방이다.
| 같은 행 메모리 텍스트 | tagmem v5 | tagmem v7 | rf-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 텍스트 예산 동등화가 필요하다.
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.