TL;DR
로봇 프로그램의 실패 원인은 인지, 모션, 접촉 역학 등 여러 층위가 얽혀 있어 단일 피드백 신호로는 원인 귀속과 수리가 어렵다. Aspire는 프리미티브 단위의 다중모달 실행 흔적을 노출해 실패를 정확히 귀속하고 검증된 수리 패턴을 재사용 가능한 스킬로 축적한다. 이 접근은 다양한 과제에서 반복적으로 성능을 쌓아 제로샷 일반화와 시뮬레이터에서 실로의 전이를 촉진한다.
왜 중요한가
로봇 프로그램의 실패 원인은 인지, 모션, 접촉 역학 등 여러 층위가 얽혀 있어 단일 피드백 신호로는 원인 귀속과 수리가 어렵다. Aspire는 프리미티브 단위의 다중모달 실행 흔적을 노출해 실패를 정확히 귀속하고 검증된 수리 패턴을 재사용 가능한 스킬로 축적한다. 이 접근은 다양한 과제에서 반복적으로 성능을 쌓아 제로샷 일반화와 시뮬레이터에서 실로의 전이를 촉진한다.
핵심 기여
프리미티브 수준 다중모달 실행 흔적 제공
각 인지, 계획, 제어 호출에 대해 입력, 출력, 리턴 상태와 관련 RGB 키프레임 및 오버레이를 구조화해 기록했다. 이 기록은 에이전트가 실패 원인을 좁혀서 관련 프리미티브 로그만 선별해 검사할 수 있게 했다. 결과적으로 단순한 에피소드 성공/실패 신호로는 불가능한 세분화된 실패 귀속과 타깃 수리가 가능해졌다.
검증된 수리 패턴을 저장하는 스킬 라이브러리 설계
에이전트가 실행 흔적으로 실패를 진단하고 프로그램을 패치해 디버그 환경에서 검증하면, 재사용성이 확인된 패턴만 라이브러리에 편입했다. 각 스킬은 실패 서명, 적용 조건, 수리 전략, 필요 시 코드 스케치로 압축 저장되었다. 이 저장소는 이후 작업의 인컨텍스트 가이던스로 쓰여 동일한 실패를 재발견하지 않고 즉시 적용 가능한 지식을 제공했다.
프로그램 자체를 탐색 대상로 삼는 진화적 탐색 절차
단일 궤적 수리가 지역 최적화로 귀결되는 문제를 완화하기 위해 여러 후보 프로그램을 병렬로 생성하고 실행 결과로 세대를 갱신했다. 각 후보는 디버그 실행에서 얻은 잔여 실패 모드와 성능을 조건으로 다음 세대에 반영되었다. 이 방식은 서로 다른 전략을 빠르게 검증해 라이브러리에 보다 다양한 수리 패턴을 도입할 수 있게 했다.
시뮬레이션으로 발견한 스킬의 시뮬레이터-실 전이 검증
시뮬레이션에서 수집된 스킬을 실수행 환경의 다른 로봇·API에 인컨텍스트 가이던스로 제공해 디버깅 토큰과 시도 횟수를 줄였다. 소다 캔 작업에서 토큰 수는 약 61.94M에서 6.58M으로 감소하며 성공률은 13/20에서 19/20로 향상했다. 이 결과는 스킬 자체가 시뮬레이터 특유의 코드가 아닌 실패 서명과 수리 패턴을 담아 전이 가능함을 시사했다.
관련 Figure

이 그림은 스킬이 단순한 전체 프로그램이 아니라 실패 서명과 조건, 코드 스케치 등을 포함한 재사용 가능한 단위임을 시각적으로 확인시킨다. 다중 카테고리의 스킬이 축적되는 양상을 통해 라이브러리의 범용성과 세분화 수준을 이해할 수 있다. 또한 하단의 시뮬레이터→실 전이 예시는 선택된 스킬이 다른 로봇 형태에서도 초기 프로그래밍 부담을 감소시켰다는 근거를 보강한다.
스킬 라이브러리 예시와 부분적 스킬 카탈로그를 보여주며 위치식별, 모션 프리미티브, 네비게이션 복구 등 다양한 카테고리를 포함하고 있다.
핵심 아이디어 이해하기
로봇 제어 문제에서는 오류가 발생했을 때 단일 에피소드 성공 여부만으로는 근본 원인을 파악하기 어렵다. perception, planning, grasp, control 같은 프리미티브들이 연쇄적으로 작동하므로 실패의 원인은 여러 하위 모듈 중 하나에 있을 수 있다. 따라서 에이전트가 효과적으로 수리하려면 어느 프리미티브를 검사해야 하는지와 어떤 증거를 근거로 수리 전략을 선택할지 알 수 있어야 한다.
Aspire는 각 프리미티브 호출에 대해 입력값, 출력값, 리턴 상태와 관련 시각 증거를 함께 기록해 에이전트가 실패와 가장 연관된 흔적만 선별해 검사하도록 설계했다. 이로 인해 에이전트는 예를 들어 PLANNING_ERROR가 반복될 때 네비게이션 목표가 충돌 버퍼에 걸리는지, 그립 후보가 불안정한지 등을 정밀히 확인할 수 있다. 정밀한 귀속 결과는 수리의 범위를 좁혀 불필요한 수정 시도를 줄이고 재실행 예산을 절약한다.
정밀 디버깅만으로는 다양한 문제 구조를 모두 찾을 수 없으므로 Aspire는 진화적 탐색을 도입해 여러 후보 프로그램을 병렬로 생성하고 평가했다. 각 세대는 상위 성능 후보와 남은 실패 모드에 근거해 새로운 후보를 제안하도록 구성되어 단일 궤적 수리에 빠지지 않게 했다. 검증된 수리 패턴은 스킬 라이브러리로 축적되어 이후 과제에서 제로샷으로 적용될 만큼 재사용성이 확보되면 자동으로 인컨텍스트 가이던스로 활용되었다.
방법론
전체 접근은 세 요소로 구성되었다. 첫째 로봇 실행 엔진은 프리미티브 단위의 다중모달 흔적을 기록하고 에이전트가 작성한 패치를 실행해 폐쇄 루프 검증을 수행했다. 둘째 스킬 라이브러리는 검증된 수리 패턴만 수용하는 공유 저장소로서 실패 서명, 적용 조건, 코드 스케치를 함께 저장했다. 셋째 진화적 탐색은 후보 프로그램 군을 생성해 디버그 실행을 통해 성능과 잔여 실패 모드를 얻고 다음 세대를 조건화했다.
로봇 실행 엔진은 각 호출마다 호출 API, 입력과 출력, 리턴 상태, 관련 RGB 키프레임과 오버레이, 그립 후보, 모션 플래닝 결과를 번들로 저장했다. 에이전트가 전체 프레임을 받지 않고 호출 전후 프레임과 오버레이를 중심으로 증거를 조회하게 하여 정보 과부하를 줄이고 원인 귀속을 용이하게 했다. 수리 검증은 디버그 환경에서 반복 실행해 실패 재발 여부와 변형에 대한 일반화를 점검한 뒤 수행되었다.
진화적 탐색은 초기 프로그램 P^0와 디버그 셋 S_dbg로 시작해 K개의 후보를 매 반복 생성하고 각각을 Execute 루틴으로 평가했다. 평가 결과와 잔여 실패 흔적을 모아 상위 후보를 선택하고 다음 세대의 제안에 반영했다. 탐색이 종료되면 최상 후보를 검증 세트 S_val에서 실행하고 ExtractValidatedPatterns로부터 라이브러리로 편입할 수 있는 수리 패턴을 추출했다.
관련 Figure

이 그림은 Aspire가 에이전트가 생성한 프로그램과 프리미티브 수준의 다중모달 흔적을 상호작용하며 반복적으로 축적하는 구조를 요약한다. 코디네이터가 액터를 생성해 병렬 학습을 수행하고 검증된 수리를 스킬 라이브러리에 편입하는 흐름이 명확하게 드러난다. 도식은 전체 방법론이 어떻게 자기 증식적으로 성능을 쌓는지 직관적 근거를 제공한다.
시스템 개요 다이어그램으로 Aspire의 실행 엔진, 에이전틱 코딩, 스킬 라이브러리와 시뮬레이션에서 실로 전이되는 워크플로를 시각화하고 있다.

이 사례는 실행 엔진이 호출 전후의 키프레임과 리턴 상태를 제공해 실패를 정확히 귀속한 실제 흐름을 보여준다. 에이전트는 플래너 오류의 원인이 목표 위치가 테이블 충돌 버퍼 내에 있음이라고 판별하고 접근 방향을 바꿔 성공으로 연결했다. 그림은 프리미티브 수준 흔적의 실용성을 실험적으로 확인해 주는 근거가 된다.
디버깅 에피소드 사례로 네비게이트 앤 픽업 라디오 과제에서 프리미티브 흔적을 통해 PLANNING_ERROR를 진단하고 멀티앵글 접근으로 수리한 과정을 보여준다.

이 도표는 로봇 실행 엔진을 추가했을 때의 성능 향상이 가장 크고 진화적 탐색이 남은 어려운 과제를 개선하는 보완적 역할을 하는 구조적 증거를 제공한다. 반복 횟수에 따른 성능 증가 곡선은 초기 몇 라운드에서 큰 향상이 일어나고 이후 점차 수익 체감이 발생함을 보여준다. 어블레이션은 각 구성요소의 상대적 기여를 분리해 확인할 수 있게 했다.
로봇 실행 엔진과 진화적 탐색의 절편 효과를 보여주는 어블레이션 결과 그래프이다.
주요 결과
Aspire는 세 가지 벤치마크에서 일관되게 기존 접근을 능가했다. LIBERO-Pro의 교란 설정에서 Aspire는 기준선 대비 최대 77포인트 향상을 기록했고 공간·목표 축에서 평균 상당한 개선을 보였다. Robosuite의 이중암 핸드오버 과제에서는 기존 20%에서 Aspire가 92%로 대폭 개선되었고 여러 접촉 중심 과제에서 거의 포화 수준의 성능을 유지했다.
BEHAVIOR-1K의 장기 가정집 과제에서는 네비게이션과 과제 성공률 모두에서 인간 작성 프로그램과 CaP-Agent0를 능가했다. 특히 navigate-and-pick-up-radio 과제에서 CaP-Agent0의 56%에서 Aspire가 88%로 상승해 복합 실패 복구 능력이 장기 과제에 유의미한 영향을 미쳤다. 제로샷 전이 실험에서 LIBERO-90에서 축적한 스킬 라이브러리를 사용하면 LIBERO-Pro Long의 일부 축에서 31% 성공률을 기록해 기존 방법의 4%에 비해 큰 폭의 일반화 향상이 확인되었다.
실환경 전이 실험에서는 선택된 세 개의 시뮬레이션 스킬을 실수행 에이전트에 인컨텍스트로 제공해 디버깅 토큰과 성공률 변화를 측정했다. 소다 캔 작업의 토큰 총량은 약 61.94M에서 6.58M로 거의 한 자릿수 감소했으며 성공률은 13/20에서 19/20로 올랐다. 서랍 조작 과제는 스킬 제공 시 11/20 성공을 달성했으나 스킬 미제공군은 예산 소진으로 성공 프로그램을 생성하지 못했다.
관련 Figure

그래프는 다양한 교란 축과 과제에서 Aspire의 절대적 성능 이득을 수치로 제공해 방법의 효용을 직접적으로 보여준다. 특히 LIBERO-Pro에서 최대 77포인트, Robosuite 이중암 핸드오버에서 20→92 증가 같은 주요 수치가 시각화되어 논문의 핵심 주장에 대한 정량적 근거가 된다. 결과 도표는 성능 우위를 직관적으로 전달한다.
LIBERO-Pro와 Robosuite, BEHAVIOR-1K 벤치마크에서 Aspire가 기존 방법들을 상회한 성공률을 막대 그래프로 제시하고 있다.

이 그림은 스킬 라이브러리의 크기가 늘어날수록 장기 과제에 대한 제로샷 성공률이 증가하는 상관관계를 제시한다. N=90 라이브러리로 얻은 전이 성능과 비교 대상의 낮은 성능 수치가 병기되어 라이브러리 축적의 누적 이득을 정량적으로 뒷받침한다. 데이터는 검증된 수리 패턴의 집적이 일반화에 기여함을 시사한다.
시뮬레이션에서 축적된 스킬 수에 따른 제로샷 전이 성능 변화와 LIBERO-Pro Long 전이 결과를 담은 그래프이다.
기술 상세
시스템 아키텍처는 중앙 코디네이터와 병렬 액터로 구성되었다. 코디네이터는 공유되는 스킬 라이브러리를 관리하고 액터는 각 과제에 대해 코드를 생성·실행·진단·수정하는 역할을 맡았다. 액터들 사이에 전체 채팅 히스토리나 원시 롤아웃을 공유하지 않고 스킬 라이브러리를 통해 압축된 경험만 전달해 컨텍스트 윈도우를 절약했다.
로봇 실행 엔진은 각 프리미티브 호출에서 API 시그니처, 입력, 출력, 리턴 상태를 구조화해 저장했다. 시각적 증거는 호출 직전과 직후의 키프레임과 오버레이만 포함해 에이전트가 호출 주변의 증거에 집중하게 했다. 실패 귀속 과정은 리턴 상태와 연관 로그를 확인해 문제가 perception, planning, grasp, 또는 downstream recovery 중 어디에 있는지 좁히는 방식으로 수행되었다.
스킬 표현은 실패 서명, 적용 조건, 수리 전략과 선택적 코드 스케치로 구성된 컴팩트한 인컨텍스트 가이던스 포맷이다. 코디네이터는 액터가 보고한 구조화된 발견 내용을 심사해 API 사용 정책 준수 여부와 재사용성을 검증한 뒤에만 스킬을 라이브러리에 편입했다. 진화적 탐색은 K 후보 생성, Execute 평가, 히스토리 갱신, 최상 후보 검증의 루프를 통해 수행되며 탐색 예산이 완료되거나 성공 기준 θ에 도달하면 종료되었다.
실험적 세팅에서는 시뮬레이션 벤치마크에서 Claude Code 에이전트와 Claude Opus 4.6 모델을 사용해 코드를 생성하고 CaP-X 프레임워크에 맞는 파이썬 프로그램을 출력했다. 실제 로봇 전이 실험에서는 다른 LLM을 사용해 서로 다른 API·로봇 장치에서 스킬을 인컨텍스트로 제공하는 방식으로 전이를 검증했다. 시스템은 사전에 정의된 perception, planning, control primitive API 집합을 사용해 안전성과 해석 가능성을 확보했다.
한계점
시뮬레이션에서 얻은 성과가 실세계의 완전한 자율 평생학습으로 직결되지는 않았다. 실환경에서는 성공 판정, 안전한 리셋, 모니터링, 캘리브레이션 유지 등 추가적 인프라가 필요해 현재 시스템은 완전 자동화된 실세계 학습기로 보긴 어렵다. 또한 실험은 고성능 LLM(Claude Opus 4.6, 1M 토큰 컨텍스트)을 전제로 하므로 성능이 작은 모델에서도 재현되는지는 확인되지 않았다.
시스템이 미리 정의된 프리미티브 API에 의존하므로 노출되지 않은 센싱 또는 제어 능력이 요구되는 과제는 비효율적으로 처리되거나 인간의 개입을 필요로 했다. 스킬 라이브러리의 장기적 관리 문제도 남아 있다. 라이브러리가 커지면 오래되거나 과도하게 특정한 항목이 누적될 수 있어 강건한 검색·정리·재검증 메커니즘이 필요하다.
진행 루프는 계산적으로 비용이 높았다. 많은 LLM 호출과 시뮬레이터 또는 로봇 롤아웃이 소모되어 대규모 과제군으로 확장하려면 더 저렴한 LLM 추론, 샘플 효율적 탐색, 또는 기존 수리의 재사용을 향상시키는 추가적 기법이 필요했다.
키워드
용어 해설
- Code-as-Policy
- — 로봇 행위를 텍스트 코드로 명시하여 LLM이 직접 프로그램을 생성하고 수정하는 접근법이다. 이 방식은 정책 행동을 명시적으로 디버깅하고 수정할 수 있도록 실행 흔적을 활용한다. Aspire 문맥에서는 로봇 제어, 인지, 계획 호출을 조합해 실행 가능한 파이프라인을 생성하는 핵심 설계 방식이다.
- Multimodal Traces
- — 각 원시 프리미티브 호출에 대해 입력, 출력, 리턴 상태와 관련 RGB 키프레임, 오버레이, 그립 후보, 모션 계획 결과 등을 구조화해 기록한 데이터이다. 이 흔적은 실패 원인 귀속과 수리 가설 검증에 직접 사용된다. Aspire는 이 정보를 에이전트가 선택적으로 검사하도록 노출해 정밀한 디버깅을 가능하게 했다.
- Skill Library
- — 검증된 수리 패턴과 적용 조건, 코드 스케치 등을 컴팩트한 인컨텍스트 가이던스로 저장한 재사용 가능한 지식 저장소이다. 에이전트는 이 저장소에서 유사 실패 시점에 관련 스킬을 불러와 즉시 적용하거나 참조한다. Aspire는 라이브러리 크기가 커질수록 장기적 제로샷 일반화가 향상된다고 보고했다.
- Evolutionary Search
- — 복수의 후보 프로그램을 생성해 실행 결과와 잔여 실패 모드를 기반으로 다음 세대를 선택하고 변형해가는 반복적 탐색 방식이다. 이 절차는 단일 궤적 수리로 인한 지역 최적화에 빠지는 것을 완화한다. Aspire는 이 방식을 통해 서로 다른 전략을 병렬로 검증하고 라이브러리에 유용한 패턴을 추출했다.
코드 예제
for angle_deg in [180, -90, 90, -45, 45]:
# south, sides only
angle = np.radians(angle_deg)
tx = radio_pos[0] + np.cos(angle)
ty = radio_pos[1] + 0.7 * np.sin(angle)
txy = radio_pos[:2] + [np.cos(angle), 0.7 * np.sin(angle)]
face_yaw = np.arctan2(radio_pos[1]-ty, radio_pos[0]-tx)
radio_pos[0] = tx
moved = safe_navigate([tx, ty, face_yaw])
if moved and dist_to(radio_pos[:2]) < 0.8:
break수집된 PLANNING_ERROR에 대응해 대상물 주변의 여러 각도에서 접근 목표를 샘플링하고 도달 가능성을 확인하는 멀티앵글 접근 알고리즘의 파이썬 예시이다.
Algorithm 1 Evolutionary search over programs
Inputs: task τ, initial program P^0, debug/val sets S_dbg, S_val, skill library L, agent M, budget (K,T), threshold θ
(r*, Z0) ← Execute(P^0, S_dbg); H ← {(P^0, r*, Z0)}
for i = 1..T do
propose {P_i^k}_{k=1}^K ← ProposeRepairs(M, τ, Top3(H), L, H)
for k = 1..K do
(r_i^k, Z_i^k) ← Execute(P_i^k, S_dbg)
end for
H ← H ∪ {(P_i^k, r_i^k, Z_i^k)}
k* ← argmax_k r_i^k
if r_i^{k*} > r* then (P*, r*) ← (P_i^{k*}, r_i^{k*}) end if
if r* ≥ θ then break end if
end for
(r_val, Z_val) ← Execute(P*, S_val)
G ← ExtractValidatedPatterns(H, P*, r_val, Z_val)
return (P*, r_val, G)진화적 탐색 절차의 전체 흐름을 의사코드로 표현한 블록이다. 각 후보 프로그램을 디버그 환경에서 실행해 점수를 얻고 최상 후보를 갱신한 뒤 검증 세트에서 일반화 가능 패턴을 추출한다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.