Index
2026-09-23 — Analysis

Online 실행 지표 VLM correctness gate 재정렬 — Finding/Restore 커버리지 완결

scene_bench_paper | sections/analysis.tex, appendix_evaluation.tex, tables/online_subtypes.*

TL;DR

1,569
Finding 유효 실행
590
Restore 유효 실행
100%
Baseline coverage 완결
3 / 4
Finding/Restore 제외건

1 배경 / 목적

이전까지 online 실행 집계는 "frozen reading score(옛 QA 채점 기준)를 통과한 실행"을 그대로 기준 삼고 있었다. 그런데 이후 QA 정답성 채점에 명명 교정(naming correction)이 적용되면서, 과거에 이미 실행된 로그 중 일부는 실행은 끝났지만 현재 스코어러 기준으로는 오답인 상태가 됐고, 반대로 과거엔 매칭 실패로 버려졌던 실행 중 rescue 처리(surface alias를 GT로 재해석)된 것들은 현재 기준으로 새로 유효해졌다. "실행이 완료됐다"는 사실과 "그 실행의 정답이 현재 채점 기준에서 맞다"는 사실이 분리되지 않은 채 표에 섞여 있어, Finding 결과의 상당수 셀이 lower-bound(≥) 마커를 단 채로 남아 있었다.

기존 한계: baseline 4개 조건(GT Action Log/No Memory/Uniform Frames/MEM) 중 GT Action Log가 326/333, Uniform Frames가 247/256으로 미매칭 실행이 20건 남아 있어 Finding Full SR이 전부 lower bound였다.

2 작업 내용

scripts/online_current_metrics.py, scripts/online_restore_metrics.py, scripts/build_online_subtypes_table.py를 개정해 9/23 아카이브의 원본 실행 로그(final_results/online_plan_v2_260923/rows/*.jsonl)를 릴리즈된 쿼리 세트에 episode + 정확한 query text로 조인하고, 레거시 query ID를 리매핑한 뒤 현재 VLM place_set AND place_gradable 게이트를 적용했다. 정합성 검증을 위해 online_current_metrics.py에 assertion을 추가 — summary 파일의 n_rows/n_success/by_strategy 카운트를 선택된 실행 집합과 대조해 게이팅 로직 자체의 버그를 조기에 잡도록 했다.

아카이브: final_results/online_plan_v2_260923 (Finding 1,572건 / Restore 594건 원본) 게이트: 현재 VLM place_set AND place_gradable (incorrect executions excluded from SR numerator + turn stats) 쿼리 분모 불변: Finding 722 / Restore 575 제외: Finding 3건(GT Action Log 2, stag 1) / Restore 4건(GT Action Log 3, srf 1) 신규 표: tables/online_gt_subtypes.tex (GT-instruction online execution, 전체 dash placeholder)

Finding baseline coverage를 완결시키기 위해, 이전에 매칭되지 않았던 20개 read-correct 쿼리를 재조인 — GT Action Log/No Memory/Uniform Frames/MEM 4개 조건 전부 100% 커버리지에 도달했다.

3 결과 (수치)

Baseline 조건이전 커버리지갱신 후비고
GT Action Log326/333333/333완결
No Memory85/8686/86완결
Uniform Frames247/256256/256완결
MEM241/244244/244완결

이전 20건의 미매칭 실행이 이번에 모두 매칭됐고, 그중 9건이 성공으로 집계됐다 — 이제 Finding Full SR 값은 모두 lower bound가 아닌 완결값이다.

Task아카이브 원본제외(현재 스코어러 오답)최종 유효 실행쿼리 분모
Finding1,5723 (GT Action Log 2, stag 1)1,569722
Restore5944 (GT Action Log 3, srf 1)590575

Turns 표도 미세 조정됐다: Finding stag mean turns 7.35→7.36, Restore srf mean turns 19.13→18.52.

Coverage 완결: Finding baseline 4개 조건이 전부 100%에 도달해, 결과 표의 ≥(lower-bound) 마커를 뗄 수 있는 조건이 갖춰졌다.
여전히 pending: 신설된 GT-instruction online 실행 표(Resume/Routine 포함)는 아직 전부 dash — 실행 자체가 완료되지 않은 상태.

4 Takeaway

의미

실행 완료 여부(집행 로그)와 채점 기준 통과 여부(현재 correctness gate)를 분리해서 관리하는 구조를 갖춤으로써, 앞으로 채점 기준(naming correction 류)이 또 바뀌더라도 원본 실행을 재수집하지 않고 재게이팅만으로 표를 갱신할 수 있다. assertion을 통해 게이팅 스크립트 자체의 정합성을 자동 검증하는 것도 이번에 자리잡아, 수작업 수치 확인 없이도 "요약 파일과 원본 로그가 일치하는가"를 매 실행마다 확인할 수 있게 됐다.

5 Next Steps

미해결 한계

GT-instruction 조건의 Resume/Routine online 실행이 전부 미완료(placeholder) — \todo{Results pending: Resume and Routine execution}이 아직 본문에 남아 있다.

다음 작업

GT-instruction 실행을 완료해 online_gt_subtypes.tex를 채우고, correct/recalled goal 비교(§5 todo에 명시된 목표)를 수행할 것. Restore GT-instruction 실행도 같은 게이팅 파이프라인(episode+query text 조인 → place_set/place_gradable)을 재사용할 수 있는지 확인 필요.