ChunkAct가 로봇 에이전트의 LLM 호출을 결정 단위로 줄인다

ChunkAct: Action Chunking for Agentic Robotics

arXiv2610.18874v1

Bingxin Xu2026-10-13

무엇인가

에이전트 로보틱스는 픽셀과 언어를 모터 명령으로 직접 매핑하는 정책을 학습하는 대신, LLM 에이전트를 로봇 제어 루프 안에 넣고 지각·모션·VLA(비전-언어-행동) 도구와 과거에 통했던 것들을 담은 메모리를 쥐여준다. 재학습 없이 새 작업을 처리한다는 것이 장점이지만, 매 프리미티브마다 전체 상호작용 이력을 다시 읽고 추론해야 하므로 비용이 프리미티브 수에 따라 커진다. 논문은 이 비용을 정면으로 다룬다. 저자들에 따르면 pick-and-place 한 번에 평균 24.2회의 LLM 호출과 2.2M 입력 토큰이 필요하고, GPT-6 Astra로 에피소드당 약 22달러, 더 싼 GPT-5.5로도 11달러가 든다. 호출 수와 출력 토큰은 프리미티브 수에 선형으로, 입력 토큰은 이차로 증가한다.

어떻게 동작하나

저자들은 플래너의 도구 호출을 분석해 두 가지 낭비를 찾는다. 첫째, 플래너가 결정과 실행을 뒤섞는다. 하위 목표가 정해지면 그것을 실현하는 프리미티브들은 이미 메모리에 적힌 정해진 절차를 따를 뿐인데도 매 단계마다 추론을 다시 한다. 둘째, 호출의 대부분이 행동이 아니라 정보 수집에 쓰인다. 실제 행동 프리미티브 호출은 20.5%뿐이고 메모리 읽기가 31.7%, 지각이 44.3%를 차지한다. 메모리는 에피소드 간에 정적이므로 같은 지식을 반복해서 불러오면서 컨텍스트만 부풀린다.

무엇과 다른가

ChunkAct의 첫 번째 축은 오프라인 청크 빌딩이다. 메모리를 배포 전에 한 번 실행 가능한 청크로 컴파일한다. 먼저 작업 범주를 분할하는데, 조작 지시는 타입이 붙은 하위 목표의 순서열로 분해되고 그 타입의 가짓수는 작업 집합이 커져도 작게 유지된다. 예컨대 물체를 용기 위나 안으로 옮기는 transport와 장면의 관절 요소를 작동시키는 fixture, 두 타입이면 광범위한 테이블탑 조작을 덮는다. 같은 타입에 속한 모든 메모리 항목을 하나의 원천으로 통합해, 객체 클래스를 매개변수로 받는 단일 청크로 컴파일한다. 컴파일 과정에서 남기는 것은 그 작업 타입이 어떻게 수행되는지를 정의하는 절차적 지식뿐이다. 단계 순서, 각 단계에 배정된 프리미티브, 객체 클래스에 조건화된 단계별 매개변수, 단계 실패 시 시도할 대체 전략, 각 단계를 검증하는 기준이 그것이다. 프리미티브 배정은 메모리에 기록된 역할 분담을 보존해서, 파지나 관절 작동처럼 접촉이 많은 단계는 VLA 정책에, 나머지는 해석적 프리미티브에 맡긴다. 반대로 배포 시점에 관측할 수 없는 값은 버린다. 기록된 좌표와 시뮬레이터 특권 상태는 폐기하고 모든 기하량은 현재 장면의 실시간 지각에서 다시 추정한다. 이 분리가 청크를 메모리 구축 시 보지 못한 레이아웃의 장면으로 전이시킨다.

어떻게 쓰나

두 번째 축은 온라인 청크 트리거링이다. 테스트 시점에 플래너는 프리미티브 대신 청크를 단일 도구 호출로 부른다. 지시는 타입이 붙은 하위 목표 순서열로 파싱되고, 각 하위 목표는 자기 종류의 청크를 고르며, 플래너가 실행에 접근하는 인터페이스는 현재 관측에서 목표를 그라운딩하는 것과 청크를 실행하는 것 두 가지로 좁아진다. 에피소드는 플래너가 작업과 장면을 해석하고 첫 목표를 그라운딩한 뒤 호출 한 번을 내보내는 것으로 시작하고, 이후 청크가 작업이 끝날 때까지 플래너에 다시 묻지 않고 하위 목표를 수행한다. 실행 중에는 메모리를 읽지 않는다. 플래너가 검색했을 모든 것이 청크에 컴파일되어 있고, 컨텍스트에는 지시와 요청한 관측, 받은 종료 신호만 남기 때문이다. 제어권은 청크가 실패할 때만 돌아오며, 그때는 타입이 붙은 종료 신호를 통해 돌아온다. 청크의 모든 단계가 자체 오류 코드를 올리므로 종료 신호는 실패한 단계와 실패 이유(대상을 찾지 못한 지각 호출, 물체를 놓친 정책 호출, 하위 목표를 확인하지 못한 검증 등)를 밝히고 로봇 상태와 새 관측을 담은 오류 로그를 함께 전달한다. 플래너는 실제 장면 상태에서 다시 지각하고 세 가지 중 하나를 고른다. 목표를 다시 그라운딩해 청크를 재호출하거나, 검증에 실패한 하위 목표를 다시 하거나, 라이브러리가 감당하지 못하는 상황에 대해 프리미티브로 폴백하는 것이다. 셋 다 작업과 장면을 이해해야 하는 결정이며 실행 단계가 아니므로, 플래너는 결정 지점에서만 호출된다.

전제와 한계

실험은 LIBERO 계열 두 벤치마크에서 이뤄진다. 주 실험은 LIBERO-Pro로, 네 개 LIBERO 스위트(Spatial, Object, Goal, LIBERO-10)를 객체·초기 상태·지시·환경 측면에서 교란한 것이다. 지시 재지정(T)과 위치 교환(S) 두 교란을 평가하며, 여덟 개 스위트·교란 조합 각각에 10개 작업, 작업당 10개 시드를 돌려 조합당 800 에피소드를 집계한다. 비교 대상은 OpenVLA, π0, π0.5, MolmoAct, NORA, X-VLA, AtomVLA, RLinf로 파인튜닝한 π0.5 체크포인트(π_RLinf) 등 엔드투엔드 VLA 8종과, VLA 없이 지각·모션 프리미티브 위에 코드를 쓰는 에이전트 CaP-X, 그리고 Harness VLA다. 플래너는 Codex에서 high reasoning effort로 돌린 GPT-5.6-sol이고 에피소드당 LLM 호출 예산은 100회, VLA 프리미티브는 π_RLinf, 분할은 SAM 3가 맡는다. ChunkAct와 Harness VLA는 같은 플래너·프리미티브·지각·메모리를 공유하고 메모리를 쓰는 방식만 다르다. 결과적으로 ChunkAct가 LIBERO-Pro에서 전체 성공률 83.8%로 최고를 기록해, 가장 강한 기존 방법인 Harness VLA(78.8%)를 5.0점 앞선다. 접촉 프리미티브로 쓰는 π_RLinf는 ChunkAct보다 43.8점 뒤진다. 효율에서는 Harness VLA 대비 LLM 호출 2.9배, 입력 토큰 4.4배, 출력 토큰 2.3배 적게 쓴다.

플래너의 역할 변화도 정량화된다. 추론을 끄면 Harness VLA는 성공률이 급격히 무너지지만 ChunkAct는 안정적으로 유지된다. Harness VLA는 매 호출마다 검색된 메모리를 해석하고 무엇을 지각할지 정하고 다음 행동을 내야 해서 약한 플래너의 오류가 에피소드 내내 누적되는 반면, ChunkAct는 메모리가 이미 청크에 내재화되어 있어 플래너가 실패할 기회 자체가 적다. LLM 호출을 전혀 하지 않는 스크립트 드라이버로 청크만 실행하면 57.5%가 나오는데, 이는 컴파일된 루틴만으로 성공한 에피소드에 해당한다. 추론 없는 ChunkAct의 LLM은 나머지 22.5점을 담당하며, 이 기여는 청크가 실패했을 때 장면을 해석하고 다음 단계를 지시하는 복구에서 나온다. 즉 LLM은 단계별 실행자가 아니라 컴파일된 루틴이 못 미치는 지점에서 호출되는 복구 장치다.

일반화도 확인한다. LIBERO-Pro에서 컴파일된 청크 라이브러리와 플래너 프롬프트를 그대로 두고, 메모리가 다루지 않는 일곱 축(객체 배치, 카메라 시점, 로봇 초기 상태, 언어, 조명, 배경, 센서 노이즈)으로 LIBERO 작업을 교란한 LIBERO-Plus에 적용한다. 벤치마크 데이터로 파인튜닝된 VLA 베이스라인과 달리 완전한 제로샷 평가다. ChunkAct는 전체 성공률에서 가장 강한 기존 방법을 11.0점 앞서고 일곱 축 중 여섯에서 앞선다. 카메라와 로봇 초기 상태 교란에서 격차가 가장 크며, ChunkAct는 4분의 3 위를 유지하는데 최고 VLA는 각각 3분의 2와 절반으로 떨어진다. 청크가 매 에피소드 지각에서 목표를 다시 계산하므로 이런 변화는 측정된 기하를 바꿀 뿐 절차는 바꾸지 않는다.

실무 관점에서 이 논문이 주는 것은 로봇 자체보다 에이전트 하네스 설계 패턴이다. 도구 호출 단위를 하나의 프리미티브에서 연쇄된 프리미티브 묶음으로 올리고, 실패할 때만 구조화된 오류(실패 단계, 이유, 상태, 새 관측)와 함께 제어권을 되돌리는 인터페이스는 로봇이 아니어도 브라우저·코드 에이전트에 그대로 옮길 수 있는 형태다. 다만 저자들이 밝힌 전제를 확인해야 한다. 청크 라이브러리는 한 번 컴파일되면 동결되므로 새로운 작업 타입이 생기면 재컴파일이 필요하고, 컴파일은 작업 범주 분할과 타입별 절차 지식이 메모리에 이미 정리되어 있다는 가정 위에 선다. 배포 시점에 관측할 수 없는 값(기록된 좌표, 시뮬레이터 특권 상태)은 의도적으로 버리고 기하량을 실시간 지각에서 재추정하는데, 이는 지각이 틀리면 청크 전체가 흔들린다는 뜻이기도 하다. 또한 논문 본문에는 별도의 한계 절에서 다룬 논의는 없고, 위 전제들은 방법 서술과 실험 설정에서 확인되는 범위다.