Δ = online − replay.| 재생 트랙 (구현 완료, 실행 중) | 온라인 트랙 (이 계획) | |
|---|---|---|
| VLM 호출 | 0 (S3 답을 그대로 재생) | 턴마다 1콜 (subgoal + 노트) |
| 메모리 | 없음 (답이 곧 플랜) | 컨텍스트 시드 + 온라인 노트 누적([t=k]) |
| 항법 | 답의 (room, surface) → 접지 v3 → 텔레포트, 후보 ≤2 | VLM이 navigate(room, surface) 결정 → 같은 접지 v3 → 텔레포트 |
| 조작 | VLA "Pick up the {category}" 600스텝 × 재시도 2 | 동일 VLA·수평선, 재시도 여부는 VLM이 프레임 보고 결정 |
| 판정 | GT body any-of lift(프로브 실행 전 생성) | 동일 술어, 매 pick 턴 프로브 → lifted_gt 누적; 성공 = done/턴 소진 시 GT 전부(single 1) |
| 잰다 | 기억한 답의 실행 가치 (하한/분해) | 기억을 갱신하며 끝까지 끌고 가는 능력; Δ = 회복 가치 |
| 규모 | 고유 플랜 353 (답 dedupe) | 셀당 1 에피소드 → 서브셋부터 |
예시(사용자 시나리오): 시드 메모리에 "bowl → living room/table, bedroom/bed" → 턴0 pick(bowl)(이미 table 앞) → 프레임 보고 "하나 집었다" 기록 + 턴1 navigate(bedroom, bed) → 턴2 pick(bowl) → 턴3 done. 실패하면 VLM이 재시도/포기/다른 곳 선택 — 재생 트랙엔 없는 능력.
| 전략 | 첫 턴 메모리 | 출처 | 비고 |
|---|---|---|---|
| blind | 없음 | — | 상식 바닥선 |
| textlog | 이벤트 로그 줄 전체(텍스트) | textlog_lines_v2(ep) 결정론 재생성 | S3 총점 0.45~0.49, 바닥/옮긴 물체 강점 |
| rollforward-v2 | ingest 자필 노트(텍스트) | S3 results.json["episodes"][ep]["rollforward-v2_ingest"]["notes"] | 모델 종속 약함 |
| frames-uniform | 균등 16프레임 이미지 | frames_uniform_indices(ep) | 매 턴 이미지 파츠로 동봉 |
| rollforward-vis-pure | 모델이 고른 kept 프레임 이미지(+노트) | S3 …_ingest["kept"]/notes | S3 최고점(flash 0.69) |
restore_final_state 게이트) + 로봇 base; 정책 mixv2-20k, 입력 zed2 / 기록 bench_exo_L; pick 수평선 600.reached_only는 종료 시 베이스↔GT ≤0.85 m.--cost-cap로 상한.| # | 산출물 | 핵심 인터페이스 | 테스트 | 상태 |
|---|---|---|---|---|
| T1 | sbench_exec/online_planner.py — OnlineBenchPlanner(UnifiedPlanner) | 방 이름 어휘 · navigate 접지 v3 · pick prompt/judge 부착 · 메모리 이미지 · probe_factory→lifted_gt | 가짜 client 5종(어휘·접지·재질의·판정 필드·lifted 갱신) | 구현 중 |
| T2 | online_memory.py — 전략별 시드 | seed_memory(ep, strategy, ingest) → (lines, images), load_ingest | 스텁 Episode + results 픽스처 | 대기 |
| T3 | online.py 드라이버 + run_online_worker.sh | OnlinePlan, run_online_plan(복원→planner→run_episode(unified)→판정), 재개·샤딩·--cost-cap | 순수 함수(플랜 생성·성공 판정) | 대기 |
| T4 | online_subset.py | multi 전부 + 단일 층화 48 (kind×scoring×floor, 결정적) | 층 비율·결정성 | 대기 |
| T5 | 스모크(4 에피소드, ≤$1) → 서브셋 240 | sbm 6샤드, dense는 스모크만 | 영상·노트·턴 로그 육안 | 대기 |
| T6 | aggregate_online.py + 리포트 | 셀별 SR_online, 턴/콜/비용, 재생과 쌍 Δ, 층별 | 합성 픽스처 | 대기 |
수정하지 않는 것: src/sbench_online/(서브클래스/조합만), src/sbench_eval/(타 세션).
navigate(category)로 물체까지 지목하게 할지(더 어렵고 N14 프레이밍과 상충).pick_and_place subgoal로 편입 — 순서/우선순위.1·2는 재생 트랙과 동일 규칙 유지(Δ 해석 보존), 3은 제안대로 시작해 결과 보고 확장, 4 유지, 5는 다른 세션 산출물 도착 후. 피드백 주시면 T1부터 반영합니다.