로봇 VLM 에이전트가 코드 실행으로 토큰 65%를 줄이며 성공률을 높인다
Fewer Tokens, Better Action: GPT-6 Astra Robot Agents with 14% Higher Success Rate but 65% Fewer Tokens
무엇인가
VLM 에이전트가 로봇을 조작할 때 병목은 모델 자체의 능력이 아니라 프리미티브를 노출하는 방식이다. 도구 호출 인터페이스에서는 이전 도구의 결과에 의존하는 작업마다 VLM을 다시 호출해야 하고, 중간 결과가 대화 기록에 쌓여 이후 호출에서 계속 처리된다. RPent 같은 시스템은 모션 프리미티브가 실행 단계마다 카메라 이미지 여러 장을 자동 반환하기 때문에, 위치 추정과 이동, 복구를 반복하는 과제는 개별 프리미티브가 안정적이어도 추론 비용이 크게 늘어난다. 논문의 핵심 질문은 VLM 에이전트가 로봇 프리미티브를 어떻게 조합해야 토큰 소비를 줄이면서 과제를 안정적으로 완수하느냐다.
어떻게 동작하나
제안 시스템 PyRUA-Lean은 RPent의 로봇 스택과 프리미티브 구현 위에 얹힌 대화형 코드 실행 인터페이스다. 로봇은 파이썬 객체 robo로 노출되고, 그 메서드가 물체 위치나 모션 결과 같은 구조화된 값을 반환한다. 에이전트는 python(code) 도구를 통해 코드 셀을 생성하고, 런타임이 이를 실행한 뒤 그 피드백이 다음 셀을 결정한다. 에피소드 안에서 파이썬 네임스페이스가 유지되어 변수와 헬퍼 함수가 셀을 넘어 살아남는다(에피소드 간 메모리는 쓰지 않는다). 셀 하나에서 접근, 파지 시도, 상태 확인, 재시도를 조건 분기로 묶어 처리하므로 의존적 연산마다 LLM을 부를 필요가 없다. 관찰은 선택적으로만 전달된다. 프리미티브 결과는 런타임에 남아 있고, 명시적으로 출력하거나 robo.show로 요청한 이미지·상태만 셀 끝에 모여 VLM 컨텍스트로 돌아간다. 처리되지 않은 예외는 셀을 종료하고 트레이스백을 반환하지만, 예외 전에 할당된 변수는 남아 다음 셀에서 수정할 수 있다. 로봇을 움직이는 프리미티브 앞에서는 과제가 이미 성공했는지 확인해 셀을 끊고, 외부 워치독이 2시간 에피소드 제한을 강제한다. 셀 단위 실행 제한은 따로 없고, Codex CLI가 300초 후 도구 호출 타임아웃을 반환해도 셀은 취소되지 않는다.
무엇과 다른가
실험은 LIBERO-PRO의 네 개 교란 스위트에서 40개 과제, RoboTwin 2.0의 양팔 과제 50개, RoboCasa365의 Target50에서 50개 과제를 대상으로 한다. 과제마다 환경 시드 5개, 시드당 에이전트별 1 에피소드로 총 700개 짝지은 인스턴스, 1,400 에피소드다. 두 에이전트 모두 Codex CLI에서 높은 추론 노력으로 GPT-6 Astra를 쓰고, 동일한 로봇 스택과 프리미티브, 고정된 VLA 정책(LIBERO-PRO의 π0.5, RoboTwin 2.0의 LingBot-VLA, RoboCasa365의 RLDX-1)과 SAM 3 세그멘테이션을 공유한다. 예산은 에피소드당 LLM 호출 40회(RoboCasa365 복합 과제는 100회)와 2시간이며, 이는 프리미티브 실행 횟수가 아니라 모델 호출을 제한한다.
어떻게 쓰나
결과는 성공률 63.1%에서 71.7%로 8.6%포인트 상승(상대적으로 약 14%)이다. 벤치마크별로 LIBERO-PRO 11.0%포인트, RoboTwin 2.0 9.2%포인트, RoboCasa365 원자 과제 7.8%포인트, 복합 과제 5.0%포인트다. PyRUA-Lean만 푼 인스턴스가 96개, 도구 호출만 푼 인스턴스가 36개였다. 두 에이전트가 모두 푼 인스턴스에서 평균 LLM 호출은 17.0회에서 8.7회로, 입력 토큰은 788k에서 276k로 줄어 각각 49%, 65% 감소다. 에피소드당 추정 비용은 1.63달러에서 0.74달러로 낮아지는데, 감소 폭이 토큰보다 작은 것은 베이스라인의 반복 처리되는 기록에 캐싱 할인이 적용되기 때문이다. LIBERO-PRO에서 기록된 궤적에 사후적으로 토큰 예산을 적용하면, PyRUA-Lean은 에피소드당 564k 토큰으로 베이스라인의 최종 성공률에 도달하는 반면 도구 호출은 3.18M 토큰이 필요했다. 별도의 RoboDojo 파일럿(cover blocks, press by number, stack blocks by language)에서는 성공률 26.7%(8/30) 대 3.4%(29개 채점 중 1개)였고, 성공 1건당 총 토큰이 11.56M에서 1.07M으로 90.7% 줄었으며 짝지은 29개 쌍의 총 토큰은 25.3% 감소했다.
전제와 한계
토큰 절감의 출처를 분해하면 LIBERO-PRO의 4.48배 토큰 비율은 호출 수 2.55배 감소와 호출당 토큰 1.76배 감소로 나뉜다. RoboCasa365 원자 과제에서는 오히려 호출당 프롬프트가 커지지만 호출 횟수가 줄어 총량은 감소한다. 즉 절감은 프롬프트를 uniformly 작게 만든 것이 아니라 VLM 호출 빈도를 줄인 데서 온다. 이미지만 요청 시 반환하도록 도구 호출 베이스라인을 고친 실험에서는 성공률이 83.0%에서 68.5%로 떨어졌고, 세 구성 모두가 푼 131개 인스턴스에서 수정된 베이스라인은 호출을 더 많이 하면서 입력 토큰은 원본과 비슷했다. 선택적 관찰만으로는 이득이 재현되지 않는다는 뜻이다. VLA 정책이나 운영 가이드를 제거한 절제 실험에서도 PyRUA-Lean은 더 높은 성공률과 낮은 입력 토큰을 유지했다. VLA 없이 RoboTwin 2.0에서 68.8% 대 42.8%였고, 가이드를 제거하면 도구 호출 성공률이 42.8%에서 60.4%로 올라 가이드가 항상 이롭지는 않았다.
개발자 관점에서 이 논문이 주는 실무적 신호는 명확하다. 도구 호출 스키마를 유지한 채 관찰을 줄이는 최적화는 잘 먹히지 않았고, 의존적 연산을 코드 셀로 묶어 런타임에서 조건 분기·재시도·기하 계산을 처리하고 컨텍스트에는 명시적으로 요청한 것만 넣는 구조가 호출 수와 토큰을 함께 줄였다. 에이전트 프레임워크를 설계할 때 프리미티브 노출 방식 자체를 인터페이스 설계 문제로 다뤄야 한다는 근거다. 다만 PyRUA-Lean은 API 설명이 더 길어서, VLA가 과제 대부분을 끝내는 RoboCasa365 원자 과제처럼 초기 프롬프트 비중이 큰 경우에는 이득이 상쇄된다. 실패 에피소드까지 포함한 추정 추론 비용은 이 벤치마크에서 도구 호출이 PyRUA-Lean의 약 1.1배에 그친다. 즉 공통 해결 과제의 효율과 전체 시도 비용은 구분해서 봐야 한다.
저자들이 밝힌 한계도 분명하다. 평가는 GPT-6 Astra, RPent의 로봇 스택과 프리미티브 라이브러리, 시뮬레이션에 한정되며 과제 인스턴스당 에이전트별 1회 실행만 했다. 다른 플래너와 프리미티브 구성으로의 일반화, 반복 실행 간 변동성, 실제 로봇에서의 성능은 검증되지 않았다. 비교는 완성된 인터페이스 전체를 대상으로 해서 프리미티브 조합, 영속 상태, 선택적 피드백 각각의 기여를 완전히 분리하지 못한다. 또한 PyRUA-Lean만 성공한 96개 중 52개는 베이스라인이 LLM 호출 예산을 소진한 경우지만, 44개는 예산을 남기고 실패한 경우로 기하 추론이나 스크립트 복구뿐 아니라 VLA가 한 실행에서만 성공한 사례도 섞여 있어 성공 차이를 전적으로 복구 로직에 돌릴 수 없다.