RoboRSI가 실패를 스킬 단위로 귀속해 로봇 자기개선을 안정화한다

RoboRSI: Stable, efficient, and reusable robot self-evolution in complex real-world environments

arXiv2610.12424v1

Zimo Wen2026-10-08

무엇인가

이 논문이 푸는 문제는 로봇이 경험을 쌓아 나중 과제에 재사용할 수 있는 능력으로 바꾸는 일이다. 코드로 행동하는 로봇 에이전트는 이미 실행 피드백으로 프로그램을 고칠 수 있다. 그러나 그 수정을 의미 있게 만드는 것은 작업 구조다. 수정이 원래 목표와 연결되어 있어야 하고, 관찰된 행동에 책임이 있는 능력에 귀속되어야 하며, 재사용되기 전에 검증되어야 한다. 이런 구조가 없으면 컨텍스트가 전체 궤적 기록으로 가득 차고, 국소 수정이 전체 목표에서 벗어나며, 사람이 다시 로그를 읽고 각 수정이 어디에 속하는지 판단해야 한다. 저자들은 이 구조가 사람을 위한 조종 인터페이스와 에이전트를 위한 작업 구조라는 두 가지 추상화를 동시에 만족해야 한다고 본다.

어떻게 동작하나

제안 방법의 핵심은 Top-Down Skill Refinement(TSR)다. 스킬 계층은 네 종류의 노드로 이루어진다. 가정 정리처럼 목표와 제약을 공유하는 과제를 묶는 task family, 물체를 용기에 넣는 것처럼 관찰 가능한 결과를 가진 원자적 목표인 atomic task, 그 목표를 달성하는 atomic skill, 그리고 도구로 노출된 지각·제어 프리미티브인 base skill이 있다. 안정된 스킬 시퀀스는 하나의 단위로 호출되는 매개변수화된 코드 정책인 compound skill로 통합된다. 모든 스킬은 입력·출력·책임을 선언하고 여러 분기가 공유할 수 있다. 논문은 릴리스된 계층을 그래프 G_t=(V_t,E_t)로 쓰고, 각 노드 v가 구현 c_v와 선언된 사후조건 φ_v를 가진다고 정의한다. 과제 실행은 관찰과 도구 호출의 기록 τ_t를 만들고, 실행된 노드를 반환 순서대로 π_t=(v_1,…,v_m)으로 나열한다. Reviewer는 이 경로를 따라 사후조건을 평가해 가장 이른 실패 노드 v*_t=v_k*, k*=min{k: φ_{v_k}(τ_t)=0}을 찾는다. 수정 범위 S_t는 그 노드가 소유한 하위 계층이고 ∂S_t는 나머지 그래프와의 인터페이스다. 수정 라운드는 Δ_t=R(G_t|S_t, ∂S_t, τ_t), G_{t+1}=G_t⊕V(Δ_t; H_t)로 표현된다. R은 S_t 안의 노드만 바꿀 수 있는 패치 제안이고, H_t는 S_t에 도달하는 모든 과제의 최근 실패·성공 실행 모음이다. 검증 연산자 V는 리뷰와 기능 테스트, H_t에 대한 리플레이를 회귀 없이 통과한 패치만 반환하고 아니면 빈 패치를 반환한다. 즉 수정은 실패가 관찰된 지점이 아니라 실패가 시작된 노드에서 이루어지고, 그 영향은 S_t에 도달하는 과제로 제한되며, 이미 작동하는 동작은 리플레이로 보존된다.

무엇과 다른가

이 구조 위에서 네 에이전트가 한 라운드를 수행한다. Manager는 목표를 원자적 과제로 분해하고 각 과제에 필요한 base skill을 식별하며 스킬 버전을 관리하고, 제안된 수정을 검토하고 직접 변경을 요청하거나 작성하며, 어느 분기를 바꿀 수 있는지와 릴리스 여부를 결정한다. Planner는 원자적 과제 하나와 현재 관찰, 그 아래 스킬들의 인터페이스를 받아 실행 계획을 반환한다. Engineer는 도구 인터페이스로 계획을 실행하고 없는 스킬을 구현한다. Reviewer는 관찰과 도구 트레이스로 원자적 과제가 기대한 결과에 도달했는지 판정하고, 실패한 경우 실행이 처음 어긋난 지점을 찾아 책임 분기에 대한 수정 패치를 작성해 Manager에게 제출한다. 사람은 목표·제약·도메인 지식·수정을 통해 개입하고, 그 수정은 책임 스킬에 대한 런타임 검사나 테스트, 유지되는 가이던스로 남는다.

어떻게 쓰나

실험은 물리 로봇과 시뮬레이션 두 갈래다. 물리에서는 WheelSingleArm M1 모바일 매니퓰레이터로 가정용 바닥 정리를 수행하며 104회의 개발 실행과 24시간 누적 운전을 기록했다. 매 실행 전 장면을 공통 기본 레이아웃으로 복원하고 물체와 수납함을 부분적으로 무작위화했으며 내비게이션 맵은 고정했다. 개발 과정에서 Arm Explore가 Place Object 아래에 추가되어 수납함 시야를 확보했고, 이후 Grasp Plan Check가 Move To Object 아래에 생기고 Arm Explore가 접근과 배치 분기 모두에서 쓰이게 되는 변화가 스킬 트리 스냅샷으로 기록됐다. 두 장면 데모에서는 첫 장면의 지정 물체 5개와 두 번째 장면의 4개를 모두 배치했고, 장면 사이에 작업자가 물체와 수납함을 재배치했지만 스킬 코드와 프롬프트, 정책 설정은 수정하지 않았으며 수동 교정이나 재시작 없이 수행됐다.

전제와 한계

시뮬레이션에서는 LIBERO, LIBERO-PRO, LIBERO-Plus, RoboTwin 네 벤치마크에서 최고 성공률을 냈다. 베이스라인은 같은 백본(GPT-5.6-SOL)을 쓰는 CaP-X, Maestro, OpenETA이며, 이들은 에피소드 사이에 스킬을 수정하거나 추가하지 않는다. RoboRSI는 LIBERO에서 +5.3, LIBERO-PRO에서 +11.0, LIBERO-Plus에서 +5.7, RoboTwin에서 +2.7 퍼센트 포인트 앞선다. LIBERO-PRO에서는 OpenETA 대비 성공률 11.0포인트, 커버리지 18.3포인트 높고, LIBERO에서는 Spatial +14.0, Object +8.0이다. LIBERO-PRO의 Object 스위트에서 +16.5, 물체 교란 조건에서 +15.3으로 격차가 가장 크다. LIBERO-Plus는 LIBERO에서 얻은 라이브러리를 고정한 채 교란 인스턴스에 적용하는 전이 평가인데, 30개 과제 중 28개에서 최소 하나의 교란 인스턴스를 해결했고 배경 +13, 언어 +12, 로봇 초기 상태 +9, 노이즈 +8, 조명 +7 순으로 이득이 컸다. 주요 비교는 5,974 에피소드로 구성되고 어블레이션이 2,770 에피소드를 더한다.

실패 양상 분석이 이 시스템의 성격을 잘 보여준다. OpenETA와 Maestro의 LIBERO-PRO 실패 중 66%와 64%, LIBERO-Plus에서 OpenETA 실패의 66%가 조기 완료, 즉 도구가 릴리스를 보고하면 에이전트가 과제를 끝났다고 선언하지만 시뮬레이터는 미완으로 판정하는 경우다. RoboRSI에서는 이 비율이 10%와 14%에 그친다. 실행 실패가 있는 에피소드에서도 RoboRSI는 LIBERO-PRO 67.0%, LIBERO-Plus 63.2%를 완료해 OpenETA의 55.0%, 51.6%를 앞선다. 사람의 조종 없이 하루 동안 자체 반복을 돌린 실험에서는 5라운드 안에 LIBERO 120개 과제 중 해결한 과제 수가 32개에서 71개로, LIBERO-PRO는 43개에서 80개로 늘었고 LIBERO 5라운드에 7.0시간의 실제 실행이 걸렸다.

어블레이션은 구성 요소별 기여를 분리한다. 역할 분리에서는 50개 RoboTwin 과제 중 단일 에이전트가 9개를 푼 반면 Planner·Engineer·Reviewer로 나눈 구성은 36개를 풀었다. TSR과 평면적 수정(flat revision)을 같은 실패에 적용한 비교에서는 TSR이 실패를 두 노드(픽업 시 설정된 재그래스 금지 플래그를 릴리스 후에도 영구로 취급한 Atomic 계획, 고정된 픽업 패치를 운반 중 불변식으로 쓴 Base hold 검사)에 귀속시켜 두 개발 시드 모두에서 성공해 릴리스됐지만, 평면적 후보는 한 시드만 성공해 릴리스되지 않았다. 코드 통합 효과는 600개의 매칭된 에피소드 쌍에서 성공률이 21.5%(129/600)에서 29.0%(174/600)로 7.5포인트 올랐고(95% CI [3.7, 11.5], McNemar p<10⁻⁴), 최소 한 번 해결한 과제가 120개 중 58개에서 71개로 늘었으며 토큰 소비 29.4%, 모델 호출 27.2%, 월 타임 17.0%가 줄었다. 백본 비교에서는 GPT-5.5가 LIBERO-PRO 48.6%로 가장 높고 GPT-5.6-SOL이 RoboTwin에서 가장 좋아, 백본 선택이 벤치마크와 상호작용한다. 실행 데이터로 정책을 학습하는 실험에서는 click_bell 10개, click_alarmclock 7개의 성공 시연으로 ACT 정책을 훈련했는데, 절대 관절 목표는 어느 과제도 풀지 못한 반면 청크 상대 목표는 벨 훈련 레이아웃 4/10, 알람시계 훈련 레이아웃 6/7과 훈련 데이터가 없던 컬렉션 레이아웃 2/3을 해결했고 관절 명령 오차가 0.0086에서 0.0037 rad로 57% 줄었다.

개발자 관점에서 이 논문의 실질적 교훈은 자동화 파이프라인의 실패 처리 설계에 있다. 도구가 성공을 반환했다는 이유로 단계를 완료 처리하면 조기 완료가 전체 실패의 3분의 2를 차지한다는 관찰은 로봇에 국한되지 않는다. 각 단계에 관찰 가능한 사후조건을 붙이고, 실패를 관찰 지점이 아니라 최초 분기 노드에 귀속시키고, 수정 범위를 그 노드의 하위 계층으로 제한하고, 최근 성공·실패 이력에 대한 리플레이로 회귀를 검사한 뒤에만 릴리스하는 절차는 에이전트 기반 코드 생성 시스템에 그대로 옮길 수 있는 패턴이다. 다만 백본 순위가 벤치마크마다 뒤집히고, 물리 결과가 단일 플랫폼 케이스 스터디라는 점은 도입 전에 자체 환경에서 확인해야 할 부분이다.

저자들이 밝힌 전제와 한계도 분명하다. 물리 로봇 연구는 104라운드 케이스 스터디이며, 선택된 실행들은 개별 수정의 효과를 분리하지 못한다고 논문 스스로 명시한다. 매 실행 전 장면을 기본 레이아웃으로 복원하고 내비게이션 맵을 고정했으므로 완전한 개방 환경은 아니다. 비교 대상인 CaP-X, Maestro, OpenETA는 자기개선 메커니즘이 없어, 자기개선을 평가 대상 역량으로 삼은 이 비교는 강한 고정 에이전트 대비 자기개선이 더하는 몫을 측정한 것이다. ASPIRE와 ENPIRE는 개발 루프 구조가 달라 같은 프로토콜로 실행할 수 없어 비교에서 제외됐다. LIBERO-Plus는 자기개선을 끈 상태의 전이 평가다. 향후 과제로는 시뮬레이션에서 얻은 경험을 물리 로봇으로 이전하는 것과 로봇·플랫폼 간 스킬 공유를 제시한다.