Index
2026-09-25 · scene_bench · 실험 3 Oracle-plan

VLM 의 sub-subgoal 분해 — GT 계획 항목을 턴 단위 스킬로 어떻게 쪼개고, 어디서 무너지나

find 750 · restore 740 · routine 615 행(resume 은 계산 중) · turns 파일 + episode.json(decision.reasoning·carry 상태) · 분해 패턴 / 첫 결정 / 물체 선택 / 전이 오류 / 종료 / 반복 이유 / 단계 깔때기

TL;DR

.88 – .96
첫 결정 = navigate
.71 – .79
첫 항법 GT 자리 도착
.85 – .87
pick 대상 GT 인스턴스
.75 → .39
깔때기 꺾임 (pick 시도 → 파지)
67 · 99
restore 빈손 놓기 rf-v3 · vis (blind 26)
54 / 56
N×6 루프 = 비GT 대상 반복

1단계 깔때기 (칸 비율)

find 150칸 × 5 arm

armS1 첫 navigateS2 GT 자리 도착S3 GT pick 시도S4 GT 들어올림S5 들어올린 뒤 done성공
blind.91.77.76.39.28.37
frames-uniform.94.79.75.44.31.39
rollforward-v3.96.77.75.39.31.35
rollforward-vis-pure.94.79.77.39.27.33
tagmem-r3.93.76.73.38.31.36

restore 148칸 × 5 arm

armS1 첫 navigateS3 GT pick 시도S4 파지 성공(held=GT)S5 든 채 navigateS6 든 채 놓기 시도S7 놓임성공놓기 시행 성공률 S7/S6
blind.88.87.40.39.38.19.1150%
frames-uniform.91.82.39.39.39.25.1464%
rollforward-v3.95.85.38.39.39.27.2069%
rollforward-vis-pure.94.84.41.41.40.24.1660%
tagmem-r3.95.80.36.38.38.25.1466%
S1~S3(어디로·무엇을)은 계획이 해결하고, S3→S4(파지)에서 전 arm 이 똑같이 절반을 잃는다. restore 의 S4→S6 은 손실 0 — 운반 수정 뒤 "든 채 가서 놓으려 하는 것"까지는 전 arm 이 된다. arm 차는 S6→S7→성공(놓을 자리 선택 + 제때 done)에서만.

2분해 패턴 · 첫 결정 · 물체 선택 · 전이 오류 (find / restore)

가족·arm정형 순서첫 N바로 Ppick 중 GT오인스턴스 칸빈손 놓기/칸든 채 pick/칸재항법/칸N/칸P(+L)/칸false_done
find blind.54.91.09.858.17—1.06.762.87.8.28
find frames.57.94.06.867.18—.94.832.66.9.22
find rf-v3.69.96.04.854.19—1.33.582.18.4.31
find vis-pure.50.94.06.870.18—.83.903.27.8.27
find tagmem.61.93.07.853.18—.61.742.78.3.27
restore blind.11.88.12.846.24.31.161.577.820.0.20
restore frames.17.91.09.830.27.47.051.536.815.1.24
restore rf-v3.20.95.05.866.231.01.171.175.922.6.14
restore vis-pure.19.94.06.857.221.32.361.417.016.4.18
restore tagmem.20.95.05.864.23.66.071.165.720.3.14

정형 순서(find N+ P+ D? · restore N+ P+ N+ L+ D?) 비율이 낮은 것은 분해 실패가 아니다 — 비정형의 대부분이 N P×k(같은 pick 반복)·N×6(항법 가드)·N D(바닥 답 reach-only)이고, 계획 순서를 어기거나 엉뚱한 스킬을 고른 경우는 드물다. "든 채 pick" 은 성공한 뒤 다시 pick 하는 것(자동 놓기 뒤 재-pick, M1)으로 SR 을 깎지는 않지만 턴을 쓴다.

restore 빈손 놓기 — "안 잡았는데 잡았다고 믿음"

arm빈손 놓기(실제 시행)reasoning 이 holding 서술파지 성공 이력 0발생 칸
blind26121918
frames-uniform149119
rollforward-v367635916
rollforward-vis-pure99815316
tagmem-r326192012
rf-v3 a069fa7d0efc (restore) 53~59턴 t51 pick ✗ · t52 pick ✗ · t53 navigate(cart) → "We have navigated to the cart in the living room **while holding the pan**. Now we must place the pan on the cart using pick_and_place." → pick_and_place ✗ t56 "We are at the cart in the living room holding the pan." → pick_and_place ✗ · t57 "… to ensure the pan is properly placed" ✗ · t58 "The cooking pan is still held in the gripper" ✗ · t59 ✗
롤포워드 계열은 노트/프레임을 매 턴 통째 재작성하므로 한 번 적힌 잘못된 상태("holding X")가 지워지지 않고 같은 칸에서 4~6번 반복된다(발생 칸 16 은 blind 18 보다 적지만 칸당 4배). rf-v3 가 restore 에서 이기면서도 max_subgoals 종료 29칸으로 예산을 가장 많이 태우는 이유 — 텍스트 메모리의 양날(상태 유지 = 맞을 때 이득, 틀릴 때 고착). 하네스가 파지 상태(hold_count)를 VLM 에 주지 않는 설계(전 arm 공통)에서 나온다.

3반복 pick 의 이유 · N×6 루프 · 계획 순서 · 오인스턴스

연속 pick 재시도의 VLM 이유(2번째 이후 결정 reasoning 첫 문장): find "아직 못 잡음 → 재시도" 55~64% · "이미 들고 있다"(오판) 2~3% · 기타 34~43%; restore 재시도 56~69% · 오판 2~5%(rf-v3 5% = 130건 최다). 반복은 대부분 상황을 맞게 보고 다시 시도하는 것 — 파지 복권.

N×6 칸(navigate 만 6연속 → 가드): find 56 · restore 55 target 전부 비GT 54 · 53 (같은 resolved id 6회 52 · 46) GT 최근접 <1 m 16 · 9 (닿을 거리인데 pick 안 냄) >3 m 10 · 9 (다른 가구/인스턴스) train_3655 "spray bottle on the shelving unit": 5 arm 중 3 이 같은 선반으로 6번, 최근접 4.3 m — 이름 해석이 다른 선반 인스턴스를 고름 reasoning: "The spray bottle is not within reach. Navigate to the shelving unit in the kitchen …" ×6

multi 칸 계획 순서 준수(첫 GT pick 대상 = 계획 1번 항목): find blind 40/50 · frames 37/46 · rf-v3 37/47 · vis 36/50 · tagmem 37/44; restore blind 40/51 · frames 39/46 · rf-v3 46/47 · vis 41/48 · tagmem 39/43 — 텍스트 롤포워드가 순서를 가장 잘 지킨다.

오인스턴스 pick 결정(같은 카테고리의 다른 물체): find 162~240(tagmem 최다), restore 235~476(blind 최다). reasoning 이 "다른/두 번째 인스턴스" 를 인지한 건 0~17건 — 대부분 쌍둥이를 GT 로 믿고 반복(GT 인스턴스 비율 .85~.87 의 나머지).

4Takeaway

해석

GT 계획 조건에서 VLM 의 분해는 "어디로 가서 무엇을"까지는 정확하고(첫 항법 .71~.79, GT 인스턴스 .85~.87, 계획 순서 80~98%), 무너지는 곳은 상태 판단 둘이다: (1) 파지 성공 여부 — 깔때기가 여기서 절반으로 꺾이지만 오판은 2~5% 뿐이고 대부분 올바른 재시도(VLA 복권); (2) restore 의 "잡았다" 착각 — 롤포워드 메모리가 그것을 고착시켜 빈손 놓기를 4~6번 반복(rf-v3 67 · vis 99 vs 14~26). 논문에는 "스킬·대상 선택은 arm 무관하게 정확, 남는 오류는 파지 상태 판단이며 롤포워드 메모리가 오판을 고착시킨다" 로 요약.

resume 161칸 — 패턴이 유형을 그대로 드러낸다

최빈 패턴 frames: N×2 D 11 · N D 9 · N×3 D 9 rf-v3: N×2 D 13 · N D 9 · R×3 D 5 tagmem: N×2 D 13 · N D 8 · R×4 D 5 blind : N×6 23 · N D 9 · N×2 D 7 vis-pure: N×6 24 · N×2 D 10 ← 방을 다 돌고도 done 을 못 내고 항법 가드 종료 done blind 48 · frames 85 · rf-v3 104 · vis 66 · tagmem 93 | budget blind 38 · rf-v3 5 · tagmem 9 | nav_loop blind 45 빈손 놓기 전 arm ≈1/칸(blind 1.02 · rf-v3 1.17 · tagmem .98): 계획 문장 "pick up N of the X … and place them into Y" 를 보고 pick_and_place 를 집기+놓기 복합 스킬로 오해해 빈손 호출(N L×6 · L×6) — 스킬 의미 문제, arm 무관 pick 대상 GT 비율 .99~1.00 · 반복 pick 이유 재시도 58~77% · 오판 1~3% · 정형 순서 .41~.46
resume 에서 메모리 arm 의 이득은 스킬 열에서 바로 보인다 — 방을 돌고 D 로 닫느냐(frames/rf-v3/tagmem), 닫지 못하고 N×6 으로 끝나느냐(blind 23 · vis-pure 24). 이것이 완료 인지의 실체.