로봇이 움직이는 동안 실시간으로 스스로 실수를 고치고 배우는 시스템, Zetta
로봇이 움직이는 동안 실시간으로 스스로 실수를 고치고 배우는 시스템, Zetta
로봇을 조종하는 AI(정책 모델)는 그대로 둔 채, 그 위에서 실시간으로 감시하고 실수를 고치는 '하네스'라는 감독 장치를 계속 진화시켜 성공률을 끌어올리는 Zetta를 제안했다. 실패한 시도들을 자동으로 분석해서 재사용 가능한 감시 규칙과 복구 동작을 만들고, 이를 뒷받침하는 전용 실행 인프라 Z-Infra도 함께 만들었다. 그 결과 LIBERO-Pro에서 90.8%, RoboCasa에서 93.6% 성공률을 달성했고 추론 속도도 11.1배 빨라졌다.
METAL MEDIA 해설 도표
로봇이 움직이는 동안 실시간으로 스스로 실수를 고치고 배우는 시스템, Zetta
- 01기존 로봇 에이전트들은 한 에피소드(작업 시도)가 끝난 뒤에야 되돌아보고 반성하는 방식이라, 로봇이 움직이는 도중 실시간으로 벌어지는 문제(물체 미끄러짐, 충돌 등)에 대응하지 못한다는 문제를 짚었다.
- 02Zetta는 로봇을 조종하는 기반 AI 모델(VLA/WAM)은 전혀 건드리지 않고, 그 위에 '비평가(Critic)'라는 고빈도 감시 코드와 '복구 스킬(Recovery)'이라는 대응 동작을 붙여서 실시간 감독을 가능하게 했다.
- 03속도가 다른 세 개의 루프(행동 단위 감독, 여러 시도 묶음 단위 후보 개선, 검증을 통과한 것만 반영하는 업데이트)를 두어 안전하게 진화하도록 설계했다.
- 04실패 사례를 자동으로 원인별로 묶고, 어느 계층(평가/감시/상태인식/계획/복구/파라미터 중)에서 문제가 생겼는지 상위 계층부터 순서대로 진단해서 꼭 필요한 최소한의 부분만 고치는 방식을 썼다.
- 05이기종 하드웨어(다른 종류의 GPU, CPU, 시뮬레이터)에서도 같은 에이전트 로직을 그대로 돌릴 수 있게 실행 인프라(Z-Infra)를 분리 설계해, 유효 롤아웃 처리량을 분당 1.7건에서 35.1건으로 20.6배 늘렸다.
무엇을 했나
- 기존 로봇 에이전트들은 한 에피소드(작업 시도)가 끝난 뒤에야 되돌아보고 반성하는 방식이라, 로봇이 움직이는 도중 실시간으로 벌어지는 문제(물체 미끄러짐, 충돌 등)에 대응하지 못한다는 문제를 짚었다.
- Zetta는 로봇을 조종하는 기반 AI 모델(VLA/WAM)은 전혀 건드리지 않고, 그 위에 '비평가(Critic)'라는 고빈도 감시 코드와 '복구 스킬(Recovery)'이라는 대응 동작을 붙여서 실시간 감독을 가능하게 했다.
- 속도가 다른 세 개의 루프(행동 단위 감독, 여러 시도 묶음 단위 후보 개선, 검증을 통과한 것만 반영하는 업데이트)를 두어 안전하게 진화하도록 설계했다.
- 실패 사례를 자동으로 원인별로 묶고, 어느 계층(평가/감시/상태인식/계획/복구/파라미터 중)에서 문제가 생겼는지 상위 계층부터 순서대로 진단해서 꼭 필요한 최소한의 부분만 고치는 방식을 썼다.
- 이기종 하드웨어(다른 종류의 GPU, CPU, 시뮬레이터)에서도 같은 에이전트 로직을 그대로 돌릴 수 있게 실행 인프라(Z-Infra)를 분리 설계해, 유효 롤아웃 처리량을 분당 1.7건에서 35.1건으로 20.6배 늘렸다.


| API Primitive | Functionality |
|---|---|
| Session Management — create once, run many episodes, close when done | |
| create_sessions(requests) | Batch create sessions with env_family, env_config, lease_seconds. Returns SessionHandle with session_id. |
| renew_sessions(session_ids) | Extend lease duration for active sessions. |
| close_sessions(session_ids) | Close sessions and release resources (idempotent). |
| Environment Control — direct interaction for custom control logic | |
| reset(session_ids, reset_spec) | Start new episode with task_id, seed, instruction. Returns episode_id and initial observation. |
| observe(session_ids) | Read current observation without side effects. |
| action_step(session_ids, actions) | Execute actions, return observation, reward, terminated, truncated flags. |
| Policy Inference — integrated model serving and stepping | |
| policy_step(session_ids, policy_req) | Atomic observe → inference → step. Returns step results with executed actions. |
| policy_infer(session_ids, policy_req) | Inference only (no stepping). Returns actions for agent post-processing. |
| run_episode(session_ids, episode_req) | Execute complete episodes in workers. Returns summary (steps, reward, stop_reason). |

| Method | T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|
| Pure VLA (GR00T) | 78 | 74 | 78 | 58 | 48 | 62 | 72 | 74 | 70 | 73.56 |
| Zetta | 96 | 92 | 94 | 96 | 86 | 80 | 96 | 96 | 86 | 93.56 |
| Method | T10 | T11 | T12 | T13 | T14 | T15 | T16 | T17 | T18 | Avg. |
| Pure VLA (GR00T) | 62 | 92 | 76 | 88 | 96 | 50 | 90 | 82 | 74 | 73.56 |
| Zetta | 94 | 98 | 94 | 94 | 100 | 100 | 94 | 96 | 92 | 93.56 |
| Setting | Method | Task 0 | Task 1 | Task 2 | Task 3 | Task 4 | Task 5 | Task 6 | Task 7 | Task 8 | Task 9 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Goal (T) | π0.5 | 0.0 | 95.0 | 10.0 | 0.0 | 100.0 | 0.0 | 20.0 | 80.0 | 5.0 | 0.0 | 31.0 |
| Zetta | 80.0 | 100.0 | 95.0 | 80.0 | 100.0 | 100.0 | 95.0 | 95.0 | 80.0 | 100.0 | 92.5 | |
| Goal (S) | π0.5 | 0.0 | 60.0 | 0.0 | 45.0 | 0.0 | 0.0 | 0.0 | 100.0 | 100.0 | 75.0 | 38.0 |
| Zetta | 90.0 | 65.0 | 80.0 | 85.0 | 95.0 | 95.0 | 100.0 | 100.0 | 100.0 | 80.0 | 89.0 | |
| LIBERO-10 (T) | π0.5 | 5.0 | 95.0 | 95.0 | 0.0 | 0.0 | 80.0 | 85.0 | 75.0 | 65.0 | 0.0 | 50.0 |
| Zetta | 35.0 | 95.0 | 100.0 | 0.0 | 25.0 | 100.0 | 95.0 | 80.0 | 100.0 | 0.0 | 63.0 | |
| LIBERO-10 (S) | π0.5 | 0.0 | 35.0 | 0.0 | 0.0 | 5.0 | 50.0 | 0.0 | 0.0 | 0.0 | 0.0 | 9.0 |
| Zetta | 90.0 | 50.0 | 95.0 | 75.0 | 15.0 | 65.0 | 5.0 | 0.0 | 0.0 | 5.0 | 40.0 |

| ID | Official task name |
|---|---|
| T1 | NavigateKitchen |
| T2 | TurnOnMicrowave |
| T3 | PickPlaceCounterToStove |
| T4 | PickPlaceSinkToCounter |
| T5 | PickPlaceDrawerToCounter |
| T6 | PickPlaceCounterToCabinet |
| T7 | PickPlaceToasterToCounter |
| T8 | TurnOnSinkFaucet |
| T9 | CoffeeSetupMug |

| ID | LIBERO-Goal | ID | LIBERO-10 (Long) |
|---|---|---|---|
| Task 0 | open the middle drawer of the cabinet | Task 0 | put both the alphabet soup and the tomato sauce in the basket |
| Task 1 | put the bowl on the stove | Task 1 | put both the cream cheese box and the butter in the basket |
| Task 2 | put the wine bottle on top of the cabinet | Task 2 | turn on the stove and put the moka pot on it |
| Task 3 | open the top drawer and put the bowl inside | Task 3 | put the black bowl in the bottom drawer of the cabinet and close it |
| Task 4 | put the bowl on top of the cabinet | Task 4 | put the white mug on the left plate and put the yellow and white mug on the right plate |
| Task 5 | push the plate to the front of the stove | Task 5 | pick up the book and place it in the back compartment of the caddy |
| Task 6 | put the cream cheese in the bowl | Task 6 | put the white mug on the plate and put the chocolate pudding to the right of the plate |
| Task 7 | turn on the stove | Task 7 | put both the alphabet soup and the cream cheese box in the basket |
| Task 8 | put the bowl on the plate | Task 8 | put both moka pots on the stove |
| Task 9 | put the wine bottle on the rack | Task 9 | put the yellow and white mug in the microwave and close it |


왜 중요한가
지금의 로봇 AI는 데이터가 부족해 낯선 상황에서 쉽게 실패하는데, 이 연구는 모델을 재학습시키지 않고도 실행 중 감독과 복구 규칙만 진화시켜 성공률을 크게 높일 수 있음을 보여준다. 이는 로봇 학습에 드는 비용과 시간을 줄이면서도, 한 작업에서 배운 대처법을 비슷한 다른 작업에 그대로 재사용할 수 있는 실용적인 방향을 제시한다.
이 논문의 용어
- VLA (Vision-Language-Action 모델) · 카메라로 본 것과 언어 명령을 받아 로봇의 움직임을 직접 출력하는 인공지능 모델
- 롤아웃(rollout) · 로봇이 시작부터 끝까지 한 번 작업을 시도하는 과정 전체
- closed-loop / open-loop(폐루프/개루프) · 폐루프는 실행 중 상황을 계속 확인하며 대응하는 방식, 개루프는 정해진 대로 실행만 하고 끝난 뒤에야 확인하는 방식
- critic(비평가) · 로봇의 동작 상태를 실시간으로 감시해 문제 징후를 신고하는 코드 모듈
- recovery skill(복구 스킬) · 감시 결과 문제가 감지됐을 때 상황을 되돌리거나 재시도하기 위한 대응 동작
최신 논문
- AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다
- 논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기
- 고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법
- 로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다
- 에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법
- AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다
- AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다
- AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다
METAL MEDIA 최신 기사
그림 출처: Xin Ding et al., arXiv:2608.16590, CC BY 4.0