ENPIRE: 코딩 에이전트가 실제 로봇 정책을 스스로 개선하는 물리적 자율연구 (feat. NVIDIA)

ENPIRE: 코딩 에이전트가 실제 로봇을 스스로 학습시키는 물리적 자율연구

새로운 알고리즘을 연구할 때를 떠올려 봅시다. 우리는 아이디어를 떠올리는 시간보다 실험 환경을 세팅하고, 실패한 실험을 되돌려 다시 세팅하고, 결과를 눈으로 확인하고, 코드를 조금씩 고쳐 다시 돌리는 반복 작업에 훨씬 많은 시간을 씁니다. 소프트웨어 세계에서는 이 지루한 루프를 최근의 코딩 에이전트(coding agent)가 상당 부분 대신해 주기 시작했습니다. 그런데 로봇은 어떨까요?

이 논문은 NVIDIA GEAR, CMU, UC Berkeley 연구팀이 제안한 ENPIRE를 소개합니다. ENPIRE는 코딩 에이전트가 실제 로봇에서 조작(manipulation) 정책을 스스로 학습시키고 개선하도록 만드는 하네스(harness) 프레임워크입니다. 핵심 질문은 이것입니다. 디지털 환경에 갇혀 있던 자율연구(autoresearch)를, 물리적 실패와 성공이 실시간으로 오가는 실제 로봇 위로 어떻게 옮길 수 있을까요? ENPIRE를 사용한 프런티어 코딩 에이전트들은 사람의 개입 없이 Push-T, 핀 꽂기, 케이블 타이 자르기 같은 정밀 조작 과제에서 99\% 의 성공률에 도달했습니다.

로봇 학습에는 왜 아직도 사람 손이 많이 필요한가

최근 몇 년간 로봇 조작 정책 학습은 눈에 띄게 발전했습니다. 행동 복제(Behavior Cloning, BC), 실세계 강화학습(Reinforcement Learning, RL), 확산 정책(Diffusion Policy) 같은 방법들은 이제 상당히 정교한 손재주를 로봇에게 가르칠 수 있습니다. 하지만 이 화려한 결과 뒤에는 여전히 사람이 숨어 있습니다. 연구자들은 데이터를 수집하고, 매 시도마다 장면을 원래대로 되돌리고(reset), 성공 여부를 판정하고, 안 되면 알고리즘을 손보는 긴 주기를 사람의 손으로 돌립니다. 실세계 정책 학습을 대규모로 확장할수록, 이 "정책 개선을 사람이 돌봐 주는(babysitting)" 노동이 로봇이 손재주를 익히는 속도를 결정하는 병목이 됩니다.

한편으로 코딩 에이전트가 주도하는 자율연구는 알고리즘 개선을 자동화하는 유망한 길을 보여 주었습니다. The AI Scientist 나 Andrej Karpathy의 autoresearch 처럼, 에이전트가 스스로 가설을 세우고 코드를 고쳐 실험을 돌리는 시스템이 등장했습니다. 그러나 이 패러다임을 실세계 로봇 학습으로 확장하려는 순간 고유한 난관이 나타납니다.

첫째, 코딩 에이전트에게는 물리 세계에서 폐루프(closed-loop) 가설 검증을 돌릴 실세계 환경 인터페이스가 없습니다. 정책을 자동으로 배포하고, 결과를 자동으로 평가하고, 장면을 자동으로 리셋해 주는 장치가 필요합니다. 둘째, 이 자율연구를 로봇 함대(fleet)로 확장하려 할 때, 어떤 가설을 선택하고 검증하면서도 자원 활용의 효율을 유지할지가 열린 문제로 남습니다.

기존 자율 개선(self-improvement) 연구들이 이 문제를 비껴간 방식을 보면 병목이 더 뚜렷해집니다. Voyager 는 마인크래프트에서 스킬 라이브러리를 키웠고, Eureka 는 언어 모델로 보상 함수를 설계했습니다. 두 방법 모두 강력하지만, 각 시도(trial)가 사실상 공짜인 값싼 기질(substrate) 위에서만 루프를 닫습니다. 시뮬레이션 롤아웃은 1분에 수천 번도 돌릴 수 있으니까요. 실제 로봇에서 실행은 언제나 sim-to-real 전이나 데이터 수집의 목표였을 뿐, 반복(iteration)의 매개체 자체였던 적은 없었습니다.

빠져 있던 추상화: 실세계의 반복 가능한 피드백 루프

ENPIRE 연구팀의 발상 전환은 여기서 출발합니다. 로보틱스 연구를 자동화하기 위해 빠져 있던 추상화는 결국 "실세계 정책 개선을 위한 반복 가능한 피드백 루프" 하나라는 것입니다. 장면을 리셋하고, 정책을 실행하고, 결과를 검증하고, 다음 시도를 다듬는 이 네 단계를 코딩 에이전트가 직접 돌릴 수 있는 형태로 만들어 주면 됩니다.

ENPIRE라는 이름 자체가 이 루프를 구성하는 네 개의 모듈에서 나옵니다.

  • Environment (EN): 자동 리셋과 자동 검증을 담당하는 환경 모듈
  • Policy Improvement (PI): 정책 개선(학습)을 시작하는 모듈
  • Rollout (R): 하나 또는 여러 대의 실제 로봇으로 정책을 병렬 평가하는 모듈
  • Evolution (E): 코딩 에이전트들이 로그를 분석하고 문헌을 참고하며 학습 인프라와 알고리즘 코드를 개선해 실패 유형을 해결하는 진화 모듈

이 폐루프 시스템은 실세계 로봇 학습을 에이전트가 관리할 수 있는 제어 가능한 최적화 절차로 바꿔 놓습니다. 사람의 노력을 최소화하면서도, 서로 다른 학습 레시피와 에이전트 변형을 공정하게 비교하는 절제 실험(ablation)까지 가능해집니다.

ENPIRE의 두 단계 자율연구

ENPIRE는 정밀 조작 스킬 습득을 두 개의 자율연구 절차로 분해합니다. 첫 번째 단계는 사람의 피드백으로 환경을 만드는 과정(ENPIRE의 EN)이고, 두 번째 단계는 실세계 피드백만으로 정책을 개선하는 완전 자율 과정(ENPIRE의 PIRE)입니다. 흥미롭게도 이 두 단계는 이름 그대로 EN과 PIRE로 나뉩니다.

1단계: 사람의 피드백으로 환경을 구축하기 (EN)

코딩 에이전트가 물리 세계에서 자율연구를 하려면, 먼저 물리적 상호작용과 피드백을 에이전트가 다루기 좋은 구조화된 환경으로 추상화해 주어야 합니다. 이 단계에서 에이전트는 절차적 도구 호출(procedural tool call)로 환경 API를 구성하고, 사람의 평가에 따라 구현을 다듬습니다. 여기서 드는 사람의 노력은 일회성 비용이며, 이후 모든 로봇에서 진행되는 자율적 정책 개선 전체에 걸쳐 상각(amortize)됩니다. 이 환경은 세 가지 요소로 이루어집니다.

자동 검증: 사람 없이 성공을 판정하기

실세계 실험에서 로봇 학습은 센서 입력으로부터 실시간 검증을 받아야 진행 상황을 정량화할 수 있습니다. ENPIRE는 코딩 에이전트에게 절차적 도구 호출을 조합해 이진 보상(binary reward) 함수를 합성하도록 시킵니다. 성공과 실패 시연 몇 분치만 주면, 에이전트는 영상과 고유수용성(proprioception) 기록을 활용해 예측 정확도를 최대화하면서 처리 지연(latency)은 최소화합니다.

위 그림은 케이블 타이 삽입 과제에서 에이전트가 스스로 설계한 보상 함수입니다. 위쪽 카메라와 오른쪽 카메라 두 시점에서 각각 검출기(detector)가 케이블 타이의 헤드와 스트랩에 바운딩 박스를 그리고, 세그멘테이션 모델이 같은 부위를 마스크로 분리합니다. 그런 다음 각 카메라가 독립적으로 "스트랩이 헤드를 일정 길이 이상 통과했는가" 를 판정하고, 두 시점의 판정을 논리곱(AND)으로 융합해 최종 이진 보상을 냅니다. 한 시점만 쓰면 생기는 거짓 양성(false positive)을 두 번째 시점이 막아 주는 구조입니다.

특히 인상적인 점은 이 에이전트가 SAM3 API를 프롬프트 탐색으로 스스로 조율하고, 추론 그래프를 ONNX로 변환해 컴파일함으로써 추론 지연을 150\text{ms} 이하로 맞췄다는 것입니다. 이는 사람 시각 시스템의 반응 속도에 근접하는 수준입니다. 사람이 손으로 튜닝했을 법한 성능 최적화까지 자율연구 루프 안에서 이뤄진 셈입니다.

자동 검증은 시각 신호에만 국한되지 않습니다. 에이전트는 여러 감각 양식을 융합한 하이브리드 보상 함수도 만들 수 있습니다. 예를 들어 핀 삽입 과제에서는 핀 끝과 구멍의 시각적 정렬, 고유수용성 신호로 계산한 삽입 깊이, 그리고 말단 장치(end-effector)의 토크로 감지한 접촉력, 이 세 가지를 결합한 보상을 자율적으로 설계했습니다. 이 모든 과정에서 사람이 하는 일은 단 두 가지뿐입니다. 성공과 실패 시연 몇 분치를 모아 주고, 목표 정밀도(precision)와 재현율(recall), 추론 지연 같은 보상 설계 요구사항을 명시해 주는 것입니다. 심지어 이 시연 데이터는 샌드박스로 격리된 held-out 평가셋으로만 쓰이며, 에이전트는 실패 사례를 들여다볼 수는 있어도 테스트셋으로 학습하거나 채점 로직을 바꿀 수는 없습니다.

자동 리셋: 실패해도 알아서 원위치

과제가 완료되거나 실패하면, 에이전트는 일련의 도구 호출을 실행해 환경을 초기 상태로 되돌립니다. 접촉이 많은(contact-rich) 과제에서는 CaP-X 에서 영감을 받은 절차적 도구 호출을 써서, 모듈화된 조작 스킬로 환경을 가장 어려운 국면의 시작점으로 직접 리셋합니다. 핀을 꽂기 직전, GPU를 소켓에 안착시키기 직전, 가위를 쥐기 직전처럼 결정적 동작의 정확한 시작점에 로봇을 위치시켜, 학습 시스템이 이 정밀도 병목에만 집중하도록 전략적으로 유도하는 것입니다.

부록에 따르면 에이전트는 개방 어휘(open-vocabulary) 객체 검출을 위한 SAM3, 연속적인 6자유도 자세 추적을 위한 BundleSDF, GPU 가속 충돌 회피 궤적 최적화를 위한 cuRobo 같은 API를 조합해 장기 지평(long-horizon) 리셋 함수를 스스로 합성합니다. GPU 삽입을 예로 들면, SAM3로 메인보드와 목표 슬롯을 찾고, RANSAC과 OBB로 3차원 바운딩 박스를 추정하고, 토크로 파지를 확인한 뒤, cuRobo로 충돌 없는 핸드오버를 수행하는 완전한 리셋 파이프라인을 코드로 엮습니다. 그리퍼의 토크 신호를 촉각 피드백의 대용(surrogate)으로 읽어 미끄러짐을 감지하고 파지력을 조절하기도 합니다.

위 그림은 핀 삽입 과제에서 에이전트가 작성한 환경 코드와 그 실행 과정을 한눈에 보여 줍니다. 왼쪽은 보상 함수입니다. SAM3로 핀과 구멍을 분리해 정렬을 확인하고(is_aligned), 그리퍼 높이(height_correct)와 관절 토크로 추정한 접촉력(force_correct)을 함께 검사해, 세 조건이 모두 참일 때만 보상 1 을 부여합니다. 하단의 검증 단계는 성공뿐 아니라 out-of-range(범위 이탈), too high(너무 높음), too much force(과도한 힘) 처럼 실패 유형을 구체적으로 구분합니다. 오른쪽은 자동 리셋으로, 핀을 감지하고(detect pin), 핀 위에서 호버링한 뒤(hover on pin), 예비 파지(pre-grasp)를 거쳐 컴플라이언트 파지(compliant grasp)로 핀을 집어 구멍 위 시작 자세로 되돌립니다. 보상과 리셋이 이렇게 한 벌의 코드로 완성되면, 에이전트는 사람 없이도 한 에피소드를 온전히 실행하고 채점하고 원위치시키는 완결된 루프를 손에 넣게 됩니다.

하드 안전 제약

에이전트가 오랜 시간 무인으로 로봇을 돌리려면 안전 장치가 필수입니다. ENPIRE는 로봇의 구성 공간(configuration space)과 운동학적 거동을 안전 한계 안으로 제한하고, 이를 하드 제약으로 둡니다. 이 한계를 위반하면 즉시 과제 실패로 처리되고 자동 리셋이 트리거됩니다. 안전장치이자 동시에 에피소드 종료(termination)와 절단(truncation)의 신호로도 쓰이는 것입니다.

하드웨어 수준에도 영리한 안전 장치가 하나 있습니다. 각 팔의 1자유도 그리퍼는 고정된 폭으로 닫히는 대신, 명령된 토크 한계로 파지력을 제한하는 컴플라이언트(compliant) 방식으로 동작합니다. 손가락이 물체 주변에서 정해진 힘 이하로 부드럽게 안착하므로, 물체의 자세나 크기 변화는 물론 인식과 배치 오차에도 강건하게 대응합니다. 동시에 이 힘 한계는 파지와 접촉, 삽입 과정에서 시스템이 낼 수 있는 힘의 상한이 되어, 시도가 어긋나더라도 하드웨어나 부품을 망가뜨리지 않습니다. 8개 스테이션이 사람 없이 돌아가는 함대에서, 잘못된 접촉이 하드웨어를 밀어붙이는 대신 안전하게 멈추는(safe stall) 이 거동은 선택이 아니라 필수입니다.

이렇게 만들어진 안전 제약, 자동 검증, 자동 리셋이 환경 모듈(EN)을 구성합니다. 여기에 정책이 시각과 고유수용성 센서 입력을 받고 로봇 컨트롤러에 행동 명령을 내리는 부분이 더해져 롤아웃 모듈(R)이 됩니다. 한번 구축된 이 모듈들은 OpenAI Gym 스타일의 불변(immutable) API로 노출되어, 이후 자율적 정책 개선 내내 그대로 재사용됩니다.

2단계: 실세계 피드백으로 정책을 스스로 개선하기 (PIRE)

환경이 준비되면 두 번째 단계에서 진짜 자율연구가 시작됩니다. 코딩 에이전트는 과제 설명과 함께 "이 과제의 성공률을 최대화하라" 는 궁극적 목표를 받고, 기본적인 종단간(end-to-end) 정책 학습과 코드 기반 정책 합성을 지원하는 학습 코드베이스에 쓰기 권한을 얻습니다.

정책 개선 모듈(PI): 문헌을 읽고, 가설을 세우고, 코드를 고친다

정책 개선 모듈(PI) 안에서 에이전트가 실제로 하는 일은 사람 연구자의 하루와 놀랍도록 닮았습니다. 4\text{mm} 의 좁은 공차로 핀을 구멍에 꽂아야 하는 핀 삽입 과제를 예로 들면, 에이전트는 먼저 관련 문헌을 검토해 통찰을 얻고, 가설을 세운 뒤, 행동 복제나 RL 알고리즘 같은 학습 코드를 직접 수정해 실세계 자동 검증 결과에 따라 성능을 끌어올립니다. 풍부한 증거를 모으기 위해 환경 API를 호출해 로봇 궤적, 영상 기록, 보상 신호를 롤아웃 중에 로깅하고, 이 통계를 들여다보며 다음 개선 방향을 잡습니다.

에이전트는 하나의 방법에 얽매이지 않고 다양한 학습 패러다임을 자유롭게 고르고 조합합니다. 종단간 신경망 학습에 해당하는 행동 복제나 실세계 강화학습은 물론, 그래디언트가 필요 없는 휴리스틱 학습(heuristic learning)과 코드 기반 정책 합성(code-as-policy)까지 선택지에 들어갑니다. 이 논문은 세 종류의 프런티어 코딩 에이전트를 벤치마크합니다. Codex(GPT-5.5 xhigh), Claude Code(Opus 4.7 High), 그리고 Kimi Code(Kimi K2.6 thinking)입니다.

멀티 에이전트로 자율연구를 가속하기 (E)

단일 로봇 하나로 돌리는 자율연구는 아무리 자동화해도 물리적 시간에 묶여 있습니다. 그래서 ENPIRE는 진화 모듈(E)을 통해 병렬 멀티 에이전트 분산 협업 프로토콜을 도입합니다. N 개의 에이전트를 N 대의 물리 로봇에 배치해 N 개의 가설을 비동기적으로(asynchronously) 검증하는 방식입니다.

물리 인프라는 8개의 양팔(bimanual) 로봇 스테이션으로 이루어진 함대입니다. 각 스테이션은 자체 로봇 팔과 카메라, 컴퓨트(스테이션당 NVIDIA RTX 5090 한 장), 그리고 자신만의 코딩 에이전트를 가집니다. 여기서 가장 독창적인 설계는 에이전트 간 협업이 전적으로 Git을 통해 이뤄진다는 점입니다. 중앙 서버로 상태를 스트리밍하는 대신, 각 스테이션은 코드, 설정, 도구, 결과를 공통 저장소에 push하고 pull하며 공유합니다. 한 스테이션에서 발견한 개선이 평범한 버전 관리를 통해 나머지로 전파되는 것입니다.

에이전트들은 서로의 브랜치에서 변경을 자유롭게 병합(merge)하거나 개별 커밋을 체리픽(cherry-pick)하면서, 다른 스테이션에서 발견된 유망한 접근을 선택적으로 가져옵니다. 마치 과학계가 선행 연구를 인용하며 발전해 나가는 누적적 과학의 과정을, 로봇 에이전트 세계에 Git 히스토리로 구현한 것과 같습니다. 실제로 각 스테이션 에이전트에게 주어지는 프롬프트에는 "autorl에서 브랜치를 따 만들고, 다른 브랜치와 커밋을 능동적으로 모니터링하며 지식을 활용하고, 네 브랜치를 저장소에 기여하라" 는 지시가 담겨 있습니다.

이 병렬화가 얼마나 효율적으로 자원을 연구 진척으로 바꾸는지를 재기 위해, 연구팀은 두 가지 활용도 지표를 새로 제안합니다. Mean Robot Utilization(MRU) 은 연구 전체 시간 중 로봇이 실제로 실험을 수행하는 시간의 비율이고, Mean Token Utilization(MTU) 은 함대가 자율연구 내내 소비한 토큰의 평균 소비량(분당 토큰 수)입니다. 완벽하게 자원을 포화시키는 에이전트라면 MRU가 1 에 가까워지겠지만, 실제로는 어떤 프런티어 코딩 에이전트도 이 값에 도달하지 못했습니다. 이 지점은 뒤의 한계점에서 다시 다룹니다.

실험: 코딩 에이전트는 정말로 로봇을 학습시킬 수 있는가

연구팀은 정밀하고 반응적인 제어가 필요한 네 가지 정밀 조작 과제를 다룹니다.

  • Push-T: 비파지(non-prehensile) 움직임으로 T자 블록을 목표 영역에 맞추기
  • 핀 삽입(Pin insertion): 4\text{mm} 지름 구멍에 핀을 꽂아 핀 박스 정리하기
  • GPU 삽입: 얇은 소켓에 GPU 칩 안착시키기
  • 케이블 타이 자르기: 가위를 쥐고 닫아 케이블 타이의 꼬리 자르기

여기서 성공을 재는 방식에도 중요한 디테일이 있습니다. 연구팀은 정해진 재시도 횟수(여기서는 8회) 안에 과제를 한 번이라도 완료할 확률로 성공률을 측정합니다. 각 시도가 독립인 best-of-N 샘플링과 달리, 이 재시도는 직전 실패를 목격한 뒤에 일어납니다. 즉 이 지표는 한 번에 성공하는 정밀도뿐 아니라 실패를 보고 맥락 안에서 회복하는(in-context recovery) 능력까지 함께 포착합니다. 저자들은 고난도 손재주 과제에서는 일회성 정밀도만이 아니라 회복력이 실제 배포 신뢰성을 좌우한다고 강조합니다.

휴리스틱 학습: 시뮬레이션은 쉽고 실제는 어렵다

가장 단순한 형태인 휴리스틱 학습부터 봅시다. 인식과 제어 도구 호출을 합성해 규칙 기반 정책을 만드는 방식입니다.

시뮬레이션의 Gym-PushT 벤치마크에서는 세 에이전트가 모두 과제를 풀었습니다. Claude Code와 Codex는 약 2시간 안에 95\% 성공률에 도달했고, Kimi Code는 그 두 배의 시간이 걸렸습니다. 그런데 같은 과제를 실세계로 옮기자 상황이 달라졌습니다. 세 에이전트 중 둘이 실패한 것입니다.

이 대비가 물리적 자율연구의 고유한 난관을 잘 보여 줍니다. 시뮬레이터는 일관되고 예측 가능한 물리를 제공해 저분산(low-variance) 가설 검증을 돕지만, 실세계 조건은 비결정적이고 시간에 따라 변합니다. 로봇 동역학, 접촉 마찰, 물체의 움직임 같은 요인이 본질적으로 덜 예측 가능하고 시도마다, 하드웨어마다 달라집니다. 연구팀은 이 문제에 두 가지로 대응합니다. 후속 과제에서는 에이전트에게 휴리스틱과 그래디언트 기반 학습을 넘나들며 다양한 방법을 조합하도록 장려하고, 물리 에이전트 팀을 확장해 다양하고 비결정적인 실세계 물리에서 가설을 검증하게 합니다.

그래디언트 기반 학습: 핀 삽입에서 100%까지

ENPIRE는 휴리스틱 학습에 그치지 않고, 정밀도가 핵심인 핀 삽입 과제에서 종단간 정책을 직접 학습시킬 수 있습니다. 이 과제에서 에이전트는 실세계 평가에서 50회 연속 성공을 달성해야 합니다. 에이전트들은 행동 복제, 온라인 롤아웃 데이터를 집계하는 반복적 BC, 그리고 BC 정규화 항을 더한 온라인/오프라인/offline-to-online RL 등 여러 방법을 시도했고, 배치 크기, 액터-크리틱 정책 업데이트 비율, BC 항 하이퍼파라미터 같은 값들을 튜닝했습니다.

에이전트가 실제로 RL을 돌리는 무대는 SERL의 비동기(asynchronous) 설계를 따른 3계층 분산 시스템입니다. 로봇에 인접한 배포(deployment) 계층이 하드웨어 조율과 에피소드 기록을 맡고, GPU 호스트의 학습(learner) 계층이 사전 학습된 시각 백본으로 인코딩한 픽셀 관측으로 액터와 크리틱을 학습하며, 액터(actor) 계층이 통일된 프로토콜로 행동을 서빙합니다. 세 계층은 디스크 기반의 느슨한 계약으로 연결되는데, DiskBufferIngestor라는 데몬 스레드가 새로 완료된 에피소드를 주기적으로 읽어 RLPD 방식으로 데이터를 분류합니다. RL이 생성한 전이(transition)는 온라인 리플레이 버퍼로, 사람이나 수동으로 만든 전이는 별도의 시연 버퍼로 보낸 뒤 매 학습 배치에 섞어 주는 것입니다. 코딩 에이전트는 바로 이 인프라 위에서 알고리즘을 자유롭게 바꿔 가며 자율연구를 수행합니다.

특히 주목할 결과는, 핀 삽입에서 정책이 100\% 로 수렴하는 속도가 사람이 루프에 개입하는(human-in-the-loop) 프런티어 방법보다 오히려 빨랐다는 점입니다. 사람이 붙어서 지도하는 방법보다, 사람 없이 코딩 에이전트가 돌린 자율연구가 더 빠르게 완벽에 도달한 것입니다.

로봇 함대 확장: 시간을 자원으로 사기

연구팀은 로봇과 에이전트 수를 늘리면 같은 목표 성능에 도달하는 벽시계 시간(wall-clock time)이 줄어드는지 검증했습니다. 에이전트 하나에 로봇 하나를 할당하고, 동일한 환경 인터페이스와 보상 함수, 리셋 메커니즘을 함대 전체에 세팅한 뒤 1대, 4대, 8대 구성을 비교했습니다.

결과는 명확했습니다. Push-T에서 1개에서 8개 에이전트로 확장하자 정규화 점수 1.0 에 도달하는 시간이 약 5시간에서 2시간으로 줄었습니다. 핀 삽입에서는 거의 완벽한 성공률에 도달하는 시간이 1.5시간 이상에서 약 40분으로 단축되었습니다. 추가된 로봇 자원을 분산 가설 선택을 통해 더 빠른 정책 개선으로 전환할 수 있음을 보여 준 것입니다. 멀티 에이전트 설정에서는 코드 기반 정책을 활용해 리셋 중에 도메인 무작위화(domain randomization)를 자동으로 적용할 수도 있어, GPU 삽입에서 공간 구성의 변화 폭이 선행 연구보다 훨씬 넓어지고 그만큼 정책의 강건성도 강해졌습니다.

아이디어 트리: 자율연구의 내부를 들여다보기

에이전트 팀이 실제로 어떻게 성공률을 끌어올리는지를 시각화한 것이 아이디어 트리(idea tree)입니다. 이 그림 하나가 물리적 자율연구의 실체를 가장 잘 보여 줍니다.

위쪽 트리에서 각 노드 \mathrm{I}_k 는 팀이 시도한 하나의 아이디어이고, 새로운 레인(lane)은 새로운 아이디어 분기(branch)를 뜻합니다. 속이 찬 초록 노드는 팀 평균 최고 성공률을 높인 아이디어이고, 속이 빈 노드는 평가했지만 개선이 없었던 아이디어입니다. 아래쪽 패널은 연구 벽시계 시간에 따라 팀 평균 성공률이 올라가는 힐클라이밍 곡선으로, 위 트리와 시간축을 공유합니다. 전체적으로 86개에 달하는 아이디어가 탐색되었지만, 몇 개의 고효과 아이디어가 진척의 대부분을 차지하는 전형적인 롱테일 구조가 드러납니다.

가장 큰 도약은 BC 정규화(I37)로 성공률을 +10.8 pp 끌어올렸고, 온라인 RL에 시연을 섞은 아이디어(I16)가 +3.8 pp를 기여했습니다. 반면 성공률이 100\% 에 가까워질수록의 후반 아이디어들, 예를 들어 배치 크기를 1024에서 512로 조정한 I66(+0.9 pp)이나 컨트롤러 보정(compensation)을 더한 I76(+1.3 pp)은 작은 점진적 개선에 그쳤습니다. 큰 아이디어 몇 개가 초반의 가파른 상승을 만들고, 나머지는 마지막 몇 퍼센트를 다듬는 데 쓰이는 이 패턴은 사람 연구자의 실험 노트와도 크게 다르지 않아 보입니다.

경험 전이와 코드 정책 x VLA의 시너지

멀티 에이전트 자율연구가 쌓은 통찰은 비슷한 새 과제로도 전이됩니다. 핀 삽입에서 자율 탐색을 마친 뒤, 에이전트들에게 학습 레시피의 진화 과정을 문서로 정리하고 성찰하게 합니다. 그리고 GPU 삽입이라는 새 과제의 자율연구를 시작할 때 이 지식을 새 과제의 지시문에 덧붙여 주면, 에이전트가 높은 성공률에 더 빨리 도달합니다. 흥미롭게도 전이는 원본 궤적이나 체크포인트가 아니라 사람이 읽을 수 있는 마크다운 요약을 통해서만 일어나도록 설계되었습니다.

또한 ENPIRE는 종단간 학습이나 휴리스틱 학습을 넘어, 비전-언어-행동 모델(Vision-Language-Action, VLA)을 절차적 도구 호출과 자동으로 통합할 수 있습니다. RoboCasa365 시뮬레이터에서 에이전트는 GR00T VLA의 성공률을, 물체를 잡기 전에 위에서 호버링(hover)하도록 운동 계획과 검출 도구를 조합해 끌어올렸습니다. 위 그림처럼 RoboCasa365 벤치마크에서 ENPIRE는 종단간 VLA인 GR00T와 자율연구 없는 제로샷 도구 사용 방식인 CaP-X를 모두 능가했습니다. 더 나아가 이 "잡기 전에 위에서 호버링" 전략을 실세계로 전이해, 로봇이 가위 위에서 호버링하고 가위를 쥐어 케이블 타이를 자르는 데까지 성공했습니다.

이 시뮬레이션 실험은 뜻밖의 병목도 드러냈습니다. 생성된 스크립트의 성능이 계획이나 제어뿐 아니라, 에이전트에게 노출된 인식 API의 신뢰도에도 발목을 잡힌다는 것입니다.

RoboCasa의 작고 모호한 객체에 대해 SAM3가 잘못된 마스크를 내거나 아예 쓸 만한 마스크를 못 내는 경우가 있었습니다. 상단 카메라 해상도를 256 \times 256 에서 480 \times 640 으로 올리자 원래 프롬프트의 검출이 20개 중 10개에서 14개로 좋아졌지만, 해상도만으로는 모든 실패가 해결되지 않았습니다. 반면 코딩 에이전트가 객체 프롬프트를 스스로 다시 써 보게 하자 검출이 20개 중 14개에서 17개까지 오른 뒤 정체되었습니다. 원래 과제 표현이 엉뚱한 물체를 가리키던 여러 사례를, 에이전트가 프롬프트를 바꿔 되살린 것입니다. 자신이 쓰는 도구의 한계까지 자율연구의 대상으로 삼는 이 모습은, 에이전트가 알고리즘만이 아니라 인식 파이프라인 전체를 튜닝한다는 것을 보여 줍니다.

심층 분석: 무엇이 자율연구의 성패를 가르는가

같은 과제라도 어떤 모델과 하네스(harness), 어떤 감각 입력을 쓰느냐에 따라 자율연구의 효율이 크게 달라집니다. 연구팀은 이를 통제된 조건에서 비교하기 위해 Push-T를 단순화한 pusht-simple 환경을 따로 만들었습니다. T자 블록을 약 180^\circ 회전시켜 넓힌 목표 영역 안에 넣고 방향 오차가 10^\circ 이내면 성공으로 치는 과제로, 드물게 나오는 최종 정밀도보다 컨트롤러를 발견하는 과정 자체에 집중할 수 있게 설계한 것입니다.

첫 번째 질문은 코딩 에이전트의 시각 능력이 얼마나 중요한가입니다.

Codex 하네스는 이미지를 직접 들여다보는 네이티브 비전(native vision)을 지원하지만, 많은 오픈소스 하네스는 텍스트 입력만 받습니다. 세 조건을 비교한 결과, 네이티브 비전을 가진 에이전트가 첫 성공까지 약 55 분으로 가장 빨랐습니다. 흥미로운 점은 그다음입니다. 이미지 이해 모듈을 별도 함수로 호출하는 방식은 약 99 분으로 가장 느렸고, 오히려 시각 접근이 가장 제한된 조건이 약 72 분으로 함수 호출 방식을 앞질렀습니다. 저자들은 이를 두고, 직접적인 시각 접근이 없어도 에이전트가 로깅 신호 같은 다른 단서로부터 과제 상태를 추론할 수 있는 반면, 이미지 함수를 반복 호출하는 것은 오히려 과제 해결에 부가적인 오버헤드를 더한다고 해석합니다. 도구가 많다고 항상 좋은 것은 아니라는 이야기입니다.

두 번째 질문은 모델과 하네스의 조합입니다.

Codex(GPT-5.5)는 약 54 분으로 가장 빠르게 과제를 풀었고, Claude(Opus 4.7)가 약 62 분으로 뒤를 이었습니다. 그런데 같은 Opus API를 Codex 하네스에 물려 돌린 조합은 약 105 분으로 오히려 가장 비효율적이었습니다. 모델의 순수 추론 능력만큼이나, 그 모델을 감싸는 하네스의 코딩 인터페이스와 실행 루프, 로그 검사 워크플로가 자율연구의 실제 성능을 좌우한다는 점을 보여 주는 결과입니다.

자원 활용도: 확장의 대가는 토큰이다

그런데 확장에는 공짜가 없습니다. 위 그림은 핀 삽입 과제에서 1개, 4개, 8개 에이전트 함대의 자원 확장 거동을 요약합니다. (a) 에이전트 수를 늘릴수록 GPU 활용도는 오르지만 로봇당 활용도(MRU)는 오히려 떨어집니다. 에이전트가 로그를 읽고 코드를 쓰고 디버깅하고 언어 모델 백본의 응답을 기다리는 동안 로봇은 놀기 때문입니다. 게다가 팀 규모가 커질수록 에이전트들은 동료의 브랜치를 요약하는 데 더 많은 시간을 쓰고, 정작 로봇을 직접 조작하는 시간은 줄어듭니다.

(b)와 (c)는 더 뼈아픈 대가를 보여 줍니다. 토큰 사용량(MTU)은 4개 에이전트까지는 이상적인 선형 추세에 가깝게 유지되지만, 8개 에이전트에서 가파르게 치솟습니다. 성공하는 정책을 얻는 데 필요한 총 토큰 예산도 같은 추세로, 벽시계 시간이 줄어드는 폭보다 훨씬 빠르게 증가합니다. 결국 함대를 키우는 것은 토큰 효율을 내주고 더 빠른 정책 개선을 사는 거래인 셈입니다. 큰 함대는 더 빨리 성공에 도달하지만, 불균형적으로 더 많은 토큰 예산을 요구합니다.

한계점 및 시사점

ENPIRE는 코딩 에이전트에게 실세계 로봇을 다루는 첫 인터페이스를 열어 주었지만, 저자들은 몇 가지 한계를 솔직하게 짚습니다.

첫째, 로봇과 컴퓨트 자원이 충분히 활용되지 못합니다. 위에서 보았듯 함대를 키울수록 MRU가 떨어지고, 에이전트가 병렬 학습 세션을 제대로 띄우지 못해 GPU를 놀리는 경우도 있습니다. 둘째, 토큰 비용이 함대 크기에 대해 초선형(super-linear)으로 증가합니다. 이는 병렬 자율연구를 대규모로 확장할 때 경제성이 병목이 될 수 있음을 시사합니다. 확장의 물리적 시간 이득과 토큰 비용 사이의 균형점을 어디에 둘지가, 이 패러다임을 실제로 굴릴 때의 핵심 설계 결정이 될 것입니다.

그럼에도 ENPIRE가 던지는 메시지는 분명합니다. 지금까지 코딩 에이전트의 자율연구는 시뮬레이션이나 코드처럼 시도가 값싼 디지털 기질 위에서만 루프를 닫았고, 실제 로봇은 언제나 sim-to-real의 목표였을 뿐 반복의 매개체는 아니었습니다. ENPIRE는 그 루프를 하드웨어 위에서 직접 돌리며, 병목 자원이 에이전트의 컴퓨트가 아니라 로봇 접근 예산(robot-access budget)으로 바뀌는 새로운 영역을 정면으로 다룹니다. 자동 리셋과 자동 검증이라는 두 개의 추상화만 갖추면, 프런티어 코딩 에이전트가 사람의 개입 없이 실세계 정밀 조작을 99\% 까지 끌어올릴 수 있다는 이 결과는, 로보틱스 연구 자체를 자동화하는 확장 가능한 길을 향한 구체적인 이정표라 할 만합니다.

:scroll: ENPIRE: Agentic Robot Policy Self-Improvement in the Real World 논문

:house: ENPIRE 프로젝트 홈페이지

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. :smiley:

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: