← 리포트 목록
2026-09-07 · scene_bench · online control · find v1.0 (e987b40f)

온라인 find 중간 런 500플랜 — 전략 분리 확인

100컨텍스트 × 1질의(seed 7) × 5전략 · 프로토콜 v2 · 채점 v2(스텝 예산·종료 위치+done) · VLA place_oc@20000 · 플래너 gemini-3.7-flash · 8샤드 extra(112483–112490) · $31.30 · 26 GPU·h

TL;DR

0.22 → 0.45–0.50
첫 navigate 적중 blind → 메모리
0.20 → 0.32–0.37
SR@예산 blind → 메모리
z 3.4–4.1
메모리 − blind
z ≤ 0.7
메모리 전략 쌍별
$31.30
500플랜 비용

1구성

표본find v1.0 e987b40f 100컨텍스트 전부 × 컨텍스트당 1질의 × 5전략 = 500플랜. 질의는 --queries-seed 7로 컨텍스트별 결정론적 무작위(정렬 순 첫 질의는 "Navigate to…" 46%로 편향, 전체 8.5%). 선택된 100질의: pick 87 · navigate_only 7 · open_pick 6 · multi 10 · 바닥 2 · hidden 8.
전략blind · textlog(GT 이동 로그) · frames-uniform(균등 프레임 16) · rollforward-v3(읽기 단계 MEM 요약) · rollforward-vis-pure(읽기 단계 보관 프레임 8). ingest = tmp/v1delta_flash37_merged.json(델타 갱신본).
프로토콜·채점v2: strict 접지(틀린 방 폴백 없음) · pick 도달 반경 1.0 m · open/close 활성 · 데이터셋 budget_steps(1500/2500) 강제 · navigate_only = 종료 위치 + done · first_nav_hit(첫 navigate 도착이 GT ≤0.85 m).
VLA / 플래너π0.5 pi05_mlspaces_place_oc@20000(사용자 open/close·place 학습) / gemini-3.7-flash(Letsur).
실행8샤드 × 1 GPU extra, 각 62–63플랜, 약 3 h. 선점 1회(샤드 7, sbmr 자동 재제출) + ingest 사고 후 재제출(§5). 플랜당 평균 187 s · $0.0626.

2결과 — 전략별 (n=100/전략)

전략첫 navigate 적중 [95% CI]SR@예산 [CI]도달≤0.85 m(어느 시점)예산 초과navigate→도달(성공 평균)lift/pick 시도턴$/플랜
blind22/100 0.22 [.15,.31]20/100 0.20 [.13,.29]47/10030/1002.9523/1596.50.049
textlog49/100 0.49 [.39,.59]37/100 0.37 [.28,.47]75/10012/1001.7440/2336.10.043
frames-uniform45/100 0.45 [.36,.55]35/100 0.35 [.26,.45]67/1009/1001.4438/2145.90.087
rollforward-v350/100 0.50 [.40,.60]37/100 0.37 [.28,.47]70/1009/1001.7638/1695.70.044
rollforward-vis-pure45/100 0.45 [.36,.55]32/100 0.32 [.24,.42]67/10015/1001.8335/2215.80.090

첫 navigate 적중 Δ(vs blind): textlog +0.27 (z 3.99) · frames +0.23 (3.45) · rf-v3 +0.28 (4.12) · vis +0.23 (3.45). 메모리 전략 쌍별: rf-v3 vs vis z 0.71 · textlog vs frames 0.57 · rf-v3 vs frames 0.71. hidden 8편 제외(본표 기준 n=92)해도 수치·결론 동일(blind .23, textlog .48, frames .46, rf-v3 .51, vis .46).

층화

부분집합n/전략blindtextlogframesrf-v3vis비고
pick (첫 적중 / SR@예산)87.23 / .22.47 / .37.47 / .37.49 / .37.46 / .33본체. SR은 VLA pick(시도당 lift 15–22%)이 상한
navigate_only (첫 적중 = SR)71/75/73/75/73/7VLA 무관 순수 기억; n 작음
open_pick (SR@예산)60/60/60/60/60/6open VLA 상한(파일럿4 1/55). 첫 적중은 textlog 3/6, rf-v3·vis 2/6, blind·frames 1/6
예산·탐색 비용이 blind를 갈라낸다. blind는 100플랜 중 35가 budget_exhausted(메모리 19–24), reach 재질의 138회(메모리 60–80), 도달까지 평균 2.95회 navigate. "찍어서 가 보기"의 비용이 그대로 드러난다.

3읽기 트랙과의 대조

전략읽기 위치 정확도 (flash-3.7, e987b40f, open)온라인 첫 navigate 적중 (n=100)온라인 SR@예산
blind.226.22.20
rollforward-v3.440.50.37
frames-uniform.554.45.35
rollforward-vis-pure.657.45.32
textlog(target ≈.90; 전체 행은 로그에 없는 물체 포함).49.37

해석

blind는 두 트랙에서 같은 값(.22)이라 온라인 첫 navigate 적중이 읽기 위치 정확도와 같은 눈금으로 읽힌다. 그런데 vis-pure의 읽기 우위(.657)가 온라인(.45)에서 사라지고 rf-v3는 오히려 오른다(.44→.50). 후보 원인: ① 온라인은 t=0에 행동 가능한 (방, 가구) 한 쌍을 내야 하는데, 보관 프레임 8장은 "어느 프레임이 답인가"를 현재 뷰·직전 프레임과 함께 다시 판독해야 해서(이미지 24장 이상이 한 프롬프트에) 텍스트 요약보다 불리; ② 읽기 채점은 답 문장의 방·가구 정확도, 온라인은 하네스 접지(strict)가 걸리므로 vis의 답이 접지 가능한 이름으로 나오지 않으면 재질의·anchor로 흐름; ③ n=100 잡음(vis CI [.36,.55]는 .657을 포함하지 않으므로 잡음만으로 설명되진 않음). 본 런에서 ②를 requery·nav_modes로 검증 예정.

4실패 사례 (textlog 첫 navigate 실패 51건 분류)

GT 이동 로그를 가진 textlog가 첫 navigate에 실패한 51건: anchor 도착 25(말한 가구에 물체 없음) · instance 도착 11(같은 카테고리 쌍둥이 옆으로) · navigate 없이 done/abort 13 · GT 접지 불가 1. 대부분 로봇이 옮기지 않은 물체("Pick up the ladle/knife/mug": 로그에 없음 → 사전지식 찍기)와 쌍둥이 혼동으로, 읽기 트랙에서 textlog 전체 정확도가 target(.9)보다 낮은 것과 같은 구조.

#플랜VLM 첫 navigate(원문 next)GT원인교훈
1188__2 textlog "Pick up the ladle"kitchen / countertop / ladle → instance(다른 국자 옆), min_d 5.25 mkitchen dining table로그에 국자 이동 없음 → 조리대 추측; 조리대에 쌍둥이 국자가 있어 하네스가 그 옆에 세움쌍둥이가 있는 집에서 "찍기"는 instance 모드로도 실패한다 — 채점은 GT uid 기준이라 정확
23058__1 textlog "Pick up the mug"kitchen / dining table → anchor, 재질의 5room 2(침실) dining table같은 종류 가구(식탁)가 두 방에 있고 로그는 방을 특정하지 않음 → 재질의 반복strict 접지에서 방이 틀리면 고쳐주지 않음(설계대로)
36659__1 textlog "Pick up the pepper shaker"kitchen / dining table → anchor(도착 3.12 m) → 2번째 navigate에서 countertop 0.32 mkitchen countertop로그에 후추통 이동 없음 → 식탁 추측 → 프레임에 없음 → 조리대로 정정(2회 만에 도달, navs_to_reach=2)첫 적중은 첫 navigate 도착만 본다(min_d는 모든 도착점 최소) — 지표 정의를 표에 명시
42224__0 textlog "Pick up the watch"bedroom / (surface 없음) → room 앵커, 재질의 3bedroom dining table가구를 못 대고 방만 말함 → 방 앵커(0.65 m 옆까지 우연히 근접)room 모드 도착은 첫 적중으로 잡히기도 함 — 본 런에서 mode별로 분리 집계

5실행 사고·수정

7왜 메모리 전략끼리 비슷한가 — 심층 분석 (reasoning·메모리 원문)

7.1 질의 종류가 순위를 뒤집는다

선택 100질의 = find_target 45(로봇이 옮긴 물체, "I moved earlier") + find_distractor 55(로봇이 스쳐 본 물체, 제자리). 보정 첫 행동 적중(첫 navigate 적중 ∪ t=0에 GT를 대상으로 pick 실행):

kindblindtextlogframesrf-v3vis-pure유의
find_target (45).20.80.51.56.44textlog − vis +.36 (z 3.5), textlog − rf-v3 +.24 (z 2.5)
find_distractor (55).35.40.56.56.62vis − textlog +.22 (z 2.3), vis − blind +.27 (z 2.9)
전체 (100).28.58.54.56.54textlog − vis +.04 (z 0.6)
텍스트 행동 로그는 "내가 옮긴 것"에 강하고 "스쳐 본 것"엔 blind 수준(.40 vs .35). 이미지 메모리는 정반대. 45/55 혼합이 상쇄해 전부 ~.55로 보인다. 읽기 트랙 논문 표의 Direct ①(내 행동 기록)/②(수동 관찰) 축과 같은 구조 — 온라인 표도 kind별로 분리해야 한다.

7.2 메모리에 답이 있어도 못 읽는다

텍스트 시드 한 줄에 (category+방+가구)가 있었는가 × 적중: textlog target 답 보유 35 → 적중 31(.89), distractor 답 보유 1(로그는 이동만 기록). rf-v3 target 보유 32 → 20(.62), distractor 보유 38 → 23(.61) — rf-v3는 커버리지가 가장 넓지만(70/100) 읽기 성공이 6할.

원인t=0 reasoning 원문(발췌)메모리/GT
① 현재 뷰의 같은 카테고리 쌍둥이를 믿음 (t=0 대상이 GT 아닌 동종: vis 16 · frames 17 · rf-v3 12 · blind 10 · textlog 9)rf-v3 2738__0 "The cup is on the table in the bedroom but currently out of reach on the far left. Need to navigate closer…"메모리·GT: kitchen countertop
② 방·가구 이름 오기 → strict 접지 실패 → 재질의vis 8287__1 "The tissue box was placed in the sink, which is located in the bedroom."GT: bedroom desk (sink는 bathroom)
③ 메모리의 다른 언급을 집음rf-v3 4136__1 "The remote control is located in the living room on the desk/table according to prior context."메모리: bathroom sink = GT
④ 요약에 이동 자체가 없음(쓰기 누락)rf-v3 5902__2 "according to the prior notes, only a fork was moved earlier (not a bowl)… aborting."GT: bedroom desk
⑤ 프레임 오독vis 3426__1 "The spatula was placed on the white table in the living room."GT: kitchen countertop

7.3 천장·바닥 겹침

질의별 메모리 4전략 첫 적중 수: 0개 25 · 1개 11 · 2개 28 · 3개 22 · 4개 14. 전부 실패 25(쌍둥이·hidden·가구 이름 모호·쓰기 누락; blind도 3만 적중), 전부 적중 14(전형적 자리; blind 9/14). 변별력 있는 질의는 ~60개뿐이고 그 안에서 target/distractor로 갈린다.

7.4 지표 사각지대와 reasoning 근거

결론

"비슷하다"는 질의 혼합의 착시다. 본 런(target 294 · distractor 295)은 두 축을 분리해 보고하고, 행 필드에 first_action_hit를 추가한다. 온라인 특유의 실패(현재 뷰의 쌍둥이 유혹, strict 접지에서의 이름 오기)는 프롬프트로 고치지 않고 지표로 드러낸다.

8읽기 트랙 vs 온라인 — 같은 100질의, 같은 모델, 같은 메모리

읽기 = v1delta_flash37_merged.json의 loc_set(flash-3.7), 온라인 = first_action_hit. 읽기 쪽도 이 100질의에서 target/distractor 뒤집힘이 이미 있다(textlog .80/.15, vis .49/.71). 온라인은 텍스트 전략을 올리고 이미지 전략을 내려 가운데로 압축한다.

kindblindtextlogframesrf-v3vis-pure
target 45 (read → online).27 → .20.80 → .80.40 → .51.40 → .56.49 → .44
distractor 55.24 → .35.15 → .40.64 → .56.51 → .56.71 → .62
전체 100.25 → .28.44 → .58.53 → .54.46 → .56.61 → .54

메커니즘 3가지

#메커니즘증거영향
1기권 비대칭: 읽기는 "기록 없음 → 기권(0점)", 온라인은 기권 없이 사전지식·탐색으로 찍는다읽기 기권 textlog 39 · rf-v3 35 · blind 45 / vis 1 · frames 4. 읽기 오답→온라인 적중(onlineOnly) textlog 22건 중 13, rf-v3 20건 중 11이 읽기 기권 건textlog +.14, rf-v3 +.10 (distractor textlog .15→.40)
2시작 위치 이점: 시작 = 컨텍스트 마지막 행동 지점21/100 질의가 목표 1.5 m 안(d_base_end) — 그 구간 온라인 적중 .62–.90 vs 읽기 .52–.76. >4 m(67) online/read: blind .19/.15 · textlog .48/.30 · frames .46/.52 · rf-v3 .57/.43 · vis .49/.63전 전략 +, 특히 t=0 pick
3이미지 메모리의 답 불안정: 같은 메모리·같은 모델인데 온라인 t=0 답이 읽기 답과 다름읽기 정답·온라인 오답(readOnly) frames 22 · vis 21 vs textlog 8 · rf-v3 10. frames "방 맞고 가구 틀림" 12/22, vis 방 틀림 7·가구 틀림 8. 읽기 답과 (방, 가구) 일치율: frames 34% · vis 51% · textlog 54% · rf-v3 71%vis −.07, frames 상쇄. 원인 후보: 프롬프트의 이미지 수(보관/균등 프레임 + 직전 4 + 현재 뷰), 현재 뷰 쌍둥이, JSON 행동 스키마

해석

"frames ≈ rf-v3"는 서로 다른 이유의 합이다. rf-v3는 읽기에서 기권하던 35건을 온라인에선 찍어 11건을 건지고 시작 위치 이점도 얻어 오르고, frames는 온라인 프롬프트에서 답이 흔들려(가구 오답 12건) 내려온다. 읽기 순서 vis > frames > rf-v3가 온라인에서 vis ≈ rf-v3 ≈ frames로 압축되는 이유가 이 셋이다. 온라인 첫 행동 적중은 "기억 + 찍기"라 읽기 loc(기권 0점)보다 관대하므로 비교 가능성을 위해 (a) 시작 근접 ≤1.5 m 제외 또는 중립 시작, (b) blind 대비 이득, (c) reasoning이 메모리를 인용한 턴만의 적중 — 셋 중 무엇을 헤드라인으로 할지 결정이 필요하다.

6다음 — 본 런

단계플랜API(단가 $0.0626)GPU·h(단가 187 s)8샤드 wall$80/일
find 잔여 489질의 × 52,445≈ $153≈ 127≈ 16 h≈ 2일
restore 518 × 52,590≈ $308≈ 234≈ 29 h≈ 3.9일
권장: find 잔여를 바로 진행(메모리 vs blind 분리는 확정, 메모리 전략 간 차이는 n=589에서만 결정 가능). 이 500플랜은 같은 plan_id라 --done-glob tmp/exec_online/online_mid_v1final_find_s*.jsonl로 그대로 재사용. restore는 find 완료 후.