Index
2026-08-27 — Experiment

v1 final 재측정 #2 — flash rf-v2·rf-v3 (writer 통일 · 30s 청킹 · cap 8)

scene_bench | 방법론 감사(F3/F4) 후속 재측정, job 98820

TL;DR

0.431
rf-v3 loc
+0.115
rf-v2 구→신 Δloc
$29.75
이번 재측정 비용
545
평가 행

1 배경 / 목적

260827 방법론 전수 감사(claude/260827/analysis-method_audit.md)에서 rf-v3 읽기의 최근 프레임 누출(F1)과 이미지 예산 불일치(F2) 외에, 사용자 결정으로 두 가지가 추가 확정됐다: F3 — writer(rf-v2/rf-v3/vis-pure/tagmem) 4종의 쓰기 프롬프트 지침이 서로 달라(예: tagmem만 질의 유형 명시) 공정 비교가 아니었던 문제를 공통 전문으로 통일, F4 — 4종 writer 전부가 데이터셋 subtasks.segments 경계로 청크를 나누던 특권적 분할 의존을 제거하고 시간 기반 고정 창으로 대체. 두 수정 모두 온라인 writer 결과의 재현성에 영향을 주므로, flash의 online writer 4전략(rf-v2/vis-pure/tagmem/rf-v3) 결과는 전부 재측정 대상이 됐다. 이번 카드는 그 중 첫 묶음인 flash × rf-v2 + rf-v3 재측정.

무효화된 결과: 26일 flash rf-v2/vis-pure/tagmem 결과와 27일 flash rf-v3(job 98734, 94/100편)는 구 프롬프트·구 청킹이라 전부 폐기. blind/textlog/frames-uniform(8장)은 F3/F4의 영향을 받지 않아 유효.

2 작업 내용

F3: prompts/writer_preamble_v1.txt(공통 목적 전문 — "나중에 어디에 있는지, 안 만진 물체 포함, 개수·행동·이전 위치도 질문됨")를 온라인 writer 4종의 시스템 프롬프트 맨 앞에 공통 삽입하고, 각 본문에서 역할 문장을 제거했다(tagmem 본문의 질의 유형 문단· "passers-by get asked" 괄호도 제거 — 본문은 표현 형식 규칙만 남김). F4: rollforward_chunks(mode="time", window_s=30)를 기본값으로 — 중앙값 9분 편에서 세그먼트 방식과 동수(~18청크)·동비용의 30초 고정 창. mode="seg"는 옵션으로 보존. 결과 JSON에 writer_preamble: v1, chunking을 기록해 버전 추적. 테스트 24개(청킹 2종·전문 공유·img_cap) 통과 후, 구 프롬프트·구 청킹으로 실행 중이던 flash rf-v3 잡 98734(94/100편, ≈$14 매몰)를 취소하고 재실행했다.

scripts/run_v1_final_shards.sh gemini-3.6-flash v1final_flash_rf 4 8 rollforward-v2,rollforward-v3 → job 98820, 4샤드, 2.1h 병합: tmp/hf_check/merge_v1final_v2.py → tmp/v1final_flash_merged_v2.json = 26일 결과 유효 3전략(blind/textlog/frames-uniform 8장) + 재측정 rf-v2/rf-v3 (2,725행)

비용: rf-v2 ingest $10.54 + 질의 $3.20, rf-v3 ingest $13.14 + 질의 $2.87 = $29.75. rf-v3 최종 메모리(재작성 요약) median 870자(425–1,265), 청크 median 18개/편.

3 결과

전략 (flash, 545행)locplacef1cnt기권target loc/placedistractor loc/placehidden loc/placemulti loc
blind0.2550.1490.2740.560.400.212/0.1220.293/0.1720.140/0.0230.023
textlog (target 오라클)0.5210.4790.5330.630.350.914/0.8550.176/0.1480.814/0.6980.488
frames-uniform 8장0.5360.3720.5720.890.050.494/0.3060.572/0.4310.465/0.1860.047
rf-v2 naive 누적 (신)0.3500.2500.3710.580.390.478/0.3410.238/0.1690.419/0.2790.116
rf-v3 MEM-style 재작성 (신)0.4310.3250.4590.700.250.427/0.3060.434/0.3410.512/0.4190.116
(참고) rf-v2 구판 26일0.2350.178—0.500.450.341/0.2710.141/0.0970.372/0.3260.047
수정 효과 확인: rf-v2가 전문·청킹 수정만으로 loc 0.235→0.350(+0.115), 기권 0.45→0.39 — 감사에서 지적한 F3/F4가 코스메틱이 아니라 실제 성능을 갉아먹고 있었음이 실측으로 확인됨.
재작성의 trade-off: rf-v3가 종합(loc/place/기권)에서는 rf-v2를 앞서지만 target 축(0.478→0.427, -0.051)만은 역전 — 요약 재작성이 커버리지(안 만진 물체·distractor)와 정밀도(행동 세부)를 맞바꾼다.
공통 상한: rf-v2·rf-v3 모두 frames-uniform(0.536)에 못 미치고, multi 질의는 둘 다 0.116으로 여전히 사실상 전멸.

4 Takeaway

의미

MEM 논문의 "model-predicted summary ≫ naive concatenation" 주장이 우리 세팅에서도 방향은 재현됐다(재작성이 누적보다 우세, 특히 distractor 0.238→0.434). 하지만 방법론 감사의 가치가 더 크게 드러난 결과다 — 26일치 rf-v2(0.235)는 blind 수준으로 보였지만, 실은 방법 자체의 결함이 아니라 writer 지침 비대칭과 세그먼트 청킹 특권이라는 측정 결함이 성능을 깎고 있었다. 논문에 rf-v2/rf-v3 쌍을 "naive vs MEM-style" ablation 행으로 넣을 때, 이 재측정 없이 26일치를 썼다면 baseline을 부당하게 깎아내리는 비교가 됐을 것이다.

5 Next Steps

미해결 한계

rf-v3의 target 축 역전(재작성이 행동 세부를 압축 과정에서 깎음)은 아직 완화 방법이 없음 — 요약 프롬프트에 "옮긴 물체의 최종 위치는 압축하지 말 것" 같은 제약을 추가할지는 미결정. multi 질의 전멸(0.116)은 rf-v2/rf-v3 둘 다 공유하는 구조적 한계로, writer 전략과 무관하게 별도 설계가 필요해 보임.

다음 실험

8/29: flash tagmem(job 98822)·vis-pure(job 98778) cap 8 재측정, sonnet tagmem(job 98821). 8/30: sonnet vis-pure(job 98823). sonnet p1(job 99206, blind/textlog/frames/rf-v2/rf-v3)이 진행 중 — 완료 시 모델 격자(flash vs sonnet) v1 표 완성. 논문 반영: rf-v2/rf-v3 쌍을 "naive vs MEM-style" ablation 행으로 편입.