SUNGSOO KIM / AI RESEARCH BLOG
PHYSICAL AI · STATEFUL CODE · RECURSIVE SELF-IMPROVEMENT

상태를 읽고, 코드를 실행하고,
검증한 변경만 축적한다

Embodied Turing Machines: Stateful Code for Robot Recursive Self-Improvement

Kairui Hu · Siyuan Hu · Fangzhou Hong · Zhaoxi Chen · Ziwei Liu / NTU · Ropedia
arXiv:2610.12369v1 · 2026-10-08 · Technical Report

COAP의 온라인 실행과 오프라인 개선센서 관찰을 측정 코드로 명시적 상태에 기록하고 고정 정책 코드가 행동과 검증을 수행한다. 실패 기록은 오프라인 코딩 에이전트로 전달되어 분기 평가와 호환성 검증을 거친 승인 코드로 갱신된다.ONLINE · FROZEN POLICY / NO VLM OR VLA CALLSRGB 3개 + 고유감각측정 코드 · 관찰 oₜ명시적 상태 xₜ로봇 · 환경 · 작업고정 정책 Fθ행동 · 확인 · 복구행동 뒤 재관찰 · 상태 갱신실패 기록OFFLINE · CODE DEVELOPMENT / HELD-OUT TEST EXCLUDED승인 코드 θₖ₊₁기존 작업 호환성 유지CPU 검사 + validation개선 여유 · 병합 게이트코딩 에이전트diff 후보 · 병렬 분기승인 후 다음 실행에 배포
핵심 구조 재작성 · 온라인에서 상태만 갱신하고, 정책 코드 변경은 오프라인 검증 뒤 반영한다. 논문 구조의 해설용 도식이며 실측 성능 그래프가 아니다.

관찰→상태→행동의 실행 루프와 실패 기록→분기 평가→승인 코드의 개발 루프를 분리한다. 작은 화면에서는 그림 영역을 좌우로 이동할 수 있다.

실행 중 거대 모델의 추론 대신, 명시적 상태와 검증된 코드로 로봇 정책을 구성할 수 있는가?

이 글은 첨부 31쪽의 본문·수식·표·코드·그림·참고문헌·부록 A–F를 대상으로 구성했다. 한국어 해설은 핵심 관계와 조건을 설명하고, 페이지별 원문 열람부는 모든 세부 내용을 보존한다.

70.24%RoboDojo 전체 SR · 논문 보고
42양팔 작업 · 시뮬레이션
0.3 msCPU 정책 호출 중앙값
PART 01

문제를 다시 정의하기

로봇의 지능을 어디에 둘 것인가

로봇이 물체를 집고 옮기는 동안 매번 거대 모델을 호출해야 하는가? 이 논문은 지능의 위치를 실행 중 추론에서 측정 가능한 상태, 재사용 코드, 오프라인 개선 절차로 옮긴다. 물체 위치와 로봇 상태를 충분히 정확히 표현하고 실패 대응을 코드로 작성할 수 있다면, 같은 작업의 새로운 배치에서도 고정된 프로그램이 행동할 수 있다는 가설이다.

논문 보고 · Kairui Hu, Siyuan Hu, Fangzhou Hong, Zhaoxi Chen, Ziwei Liu가 제시한 기술보고서이며, 소속은 Nanyang Technological University와 Ropedia다. 첨부는 arXiv:2610.12369v1, 2026-10-08 버전이다. 본 해설의 게시일은 2026-10-12 KST이며, 논문 발표일과 구분한다. 실험 결과를 독립 재현한 글은 아니다.

추상적 튜링 기계의 테이프를 로봇과 환경의 상태에 대응시키고, 읽기를 지각, 쓰기를 행동, 전이 규칙을 정책 코드에 대응시킨다. 작업의 진행 단계·기억·재시도 횟수는 기계의 내부 제어 상태에 해당한다. 이는 설계 관점의 추상화다. 물리 세계 전체를 완벽히 계산할 수 있음을 증명한 정리로 읽어서는 안 된다.

COAP의 핵심은 상태와 결정 규칙을 함께 명시하고, 온라인에서는 고정된 코드를 실행하며 오프라인에서 그 코드를 개선하는 것이다. “모델 없는 실행”은 개발 단계에서 모델을 전혀 쓰지 않았다는 뜻이 아니다. 저자들은 Claude Opus 5.5 계열 코딩 에이전트가 코드 작성·평가·디버깅을 수행했다고 보고한다.

기존 방법과 구분되는 두 축

VLA는 관찰에서 행동으로 가는 매핑을 학습 가중치에 담는다. Agent-as-Policy와 Harness VLA는 추론·도구·기억을 조직하지만 실행 중 모델이 결정을 내린다. 기존 Code-as-Policy도 프로그램을 사용하므로, 단순히 “코드를 사용한다”는 것만으로 COAP의 차이가 설명되지 않는다.

계열 프로그램 생성 시점 상태의 주요 원천 이 논문이 강조하는 차이
Code as Policies, ProgPrompt, VoxPoser 및 후속 계열 실행 중 생성·재계획 가능 지각 API·학습 모델 모델 호출과 외부 지각 불확실성 유지
PyRUA-Lean, Skill2Real 셀 또는 의사결정 단계별 생성·구성 SAM 등 학습 지각 에피소드별 모델 개입
RHO, EmbodiedSWE 오프라인 프로그램 학습 지각 또는 시뮬레이터 oracle 프로그램 밖에서 상태를 공급
COAP 오프라인 작성·검증 후 고정 RGB·고유감각을 처리하는 측정 코드 상태 측정과 정책 규칙을 함께 개선

관련 연구는 ReAct·Toolformer의 도구 사용, SayCan·Inner Monologue의 피드백 기반 계획, CodeAct·Voyager·SWE-agent의 코드 인터페이스, RoboRSI의 무회귀 게이트를 연결한다. 비교 벤치마크로 LIBERO, RoboTwin 2.0, RoboCasa365, RoboDojo를 논의한다. 이러한 비교는 논문 저자의 정리이며 모든 VLA나 모든 에이전트 구현에 대한 보편적 판정은 아니다.

PART 02

명시적 상태와 다섯 수식

세 부분의 상태, 다섯 범주의 기록

RoboDojo 관찰에는 지시문, 머리 카메라와 양 손목 카메라의 RGB 영상, 관절각, 말단 자세, 그리퍼 명령 echo가 포함된다. COAP은 이를 환경 상태·로봇 상태·작업 상태로 조직한다. 논의에서는 로봇, 물체, 환경, 관계, 작업이라는 다섯 범주로 더 세분한다.

상태 기록 내용 갱신·유지 방식
로봇 관절각, 말단 자세, 그리퍼 개방, 손에 든 물체, 도달 가능 자세 고유감각을 매 단계 반영
물체·환경 위치, yaw, 크기, 범주, 테이블 및 환경 좌표 측정 코드와 카메라 영상
관계 물체 위·아래, 손에 들림, 지지·배치 관계 행동 결과와 측정 기록
작업 단계, 물체별 담당 팔, 재시도 횟수, 숨겨진 색상 등 기억 작업 프로그램이 갱신
측정 메타데이터 오차, 출처, 시간, 신뢰도·유효성 오래된 측정과 현재 근거를 구분

환경·로봇 상태는 테이프이고, 작업 상태는 내부 제어 상태다. 상태를 하나의 문자열 메모리로 취급하지 않고 물리 단위와 관계를 가진 자료구조로 유지한다. 다음 행동은 한 번의 모터 명령이 아니라 다음 궤적 구간일 수 있다.

(xt+1,at)=Fθ(xt,ot)(1)

식 (1)에서 θ는 소스 코드, xₜ는 명시적 상태, oₜ는 관찰, aₜ는 다음 궤적 구간이다. 실행 동안 θ는 고정되고 xₜ만 바뀐다. 새로운 에피소드의 배치는 새로운 상태로 처리한다. 다만 센서 오차나 물리계의 비결정성까지 사라지는 것은 아니다.

RGB에서 측정값을 만드는 과정

NumPy·OpenCV 기반 지각 코드는 관절각으로 로봇 메시를 영상에 투영해 로봇 픽셀을 제거한다. 테이블 색과 다른 연결 영역을 후보로 찾고, 테이블에 닿는 경계 픽셀의 광선을 테이블 평면과 교차시킨다.

p=c+λd,λ=z0−czdz(2)

c는 카메라 중심, d는 광선 방향, z₀는 테이블 높이다. λ를 구하면 경계 픽셀의 평면상 위치 p를 얻는다. 이후 알려진 3D 형상을 후보 근처에 배치하고 위치·yaw를 탐색해 관측 영역과의 겹침이 가장 큰 정합을 선택한다. 카메라 모델, 로봇 메시, 물체 형상과 테이블 높이는 벤치마크가 제공하는 고정 자산이다.

WorldState는 가림 뒤에도 마지막 측정 자세를 보존한다. 밀리미터 정밀도가 필요한 작업은 마지막 접근 전에 손목 카메라로 다시 측정한다. 식 (2)는 알려진 평면과 형상에 의존하는 기하 추정이며, 임의 환경의 일반적인 3D 복원 해법은 아니다.

라이브러리 확장의 호환성과 개선 게이트

작업 프로그램 → 물체군 모듈 → 조작 모듈 → 지각·운동 모듈의 하향 의존 구조를 사용한다. transfer 호출은 파지 후보 생성, IK·충돌 검사, 재측정, 접근·그리퍼 폐쇄, 짧은 들어올림·보유 확인, 운반·배치·해제, 최종 검증으로 전개된다. 각 단계는 측정 근거와 결과를 반환한다.

확장 방식은 기존 모듈의 조합, 작업 상속과 한 결정의 override, 기본값이 기존 행동을 보존하는 새 선택 매개변수다. 예를 들어 lift_dir의 기본값은 수직 들어올림을 유지하고 특정 작업만 대각선 들어올림을 요청한다.

Bi(θ+δ,o)=Bi(θ,o)∀o∈Otest(3)

Bᵢ는 작업 i의 실행 흔적, δ는 코드 확장, O_test는 단위시험 fixture 집합이다. 식 (3)의 호환성 조건은 새 매개변수를 쓰지 않는 작업과 시험 관찰 범위에 적용된다. 모든 가능한 물리 환경에서 동등함을 입증한 것은 아니다.

Ck={θk+Δk,1,…,θk+Δk,m}(4)

식 (4)는 승인 코드 θₖ에 후보 diff Δₖ,ⱼ를 더한 실행 가능한 분기 집합이다. 각 에이전트는 별도 git worktree에서 실패 기록을 읽고 변수나 규칙을 수정한다. 수치 장면에서 단계 목표 도달 여부를 확인하고, 로봇·물체 메시로 각 waypoint의 IK 해와 충돌을 검사한 다음 검증 에피소드를 실행한다.

Jq(θk+Δ;Vq)≥Jq(θk;Vq)+εq(5)

J_q는 작업 q의 검증 배치 V_q에서 성공한 에피소드 수이며, ε_q는 재실행 잡음을 넘는 개선 여유다. 식 (5)를 만족하는 후보만 다음 기반 코드로 채택하고, 나머지는 합치지 않는다. 디버깅용 development set과 선택용 validation split은 구분되며 최종 test layout은 개발에 사용하지 않았다고 보고한다. 개발 중에는 측정 오차를 분석하기 위해 simulator ground truth를 비교할 수 있지만, 시험 실행에서 oracle 상태를 입력으로 사용하는 것은 금지한다.

PART 03

RoboDojo 실험을 읽는 조건

평가 단위와 비교 집단

42개 양팔 작업은 Memory 6개, Precision 8개, Open instruction 8개, Generalization 12개, Long-Horizon 8개로 구성된다. 각 작업은 세 seed, seed별 50 layout으로 평가된다. Generalization 작업의 절반은 새로운 물체 인스턴스·방·테이블 외관과 최대 20개 방해물을 포함한 randomized layout이다. 공식 evaluation client·judge·summary script를 사용했다고 보고한다.

시험 입력은 RGB 3개와 고유감각 및 지시문이며 depth·segmentation·모델 서비스를 사용하지 않는다. 공개 카메라·형상 자산은 이용한다. 따라서 “원시 센서만으로 사전 지식 없이 작동”한다고 확대 해석하면 안 된다.

방법 · 원문 Table 2MemoryPrecisionOpenGeneralizationLong-HorizonOverall SRScore
PhysicalRSI [15] (agent + VLA)46.632.524.915.637.331.3836.27
GPT-6 Astra [56]38.74.031.030.58.222.4828.97
Awomo-0.5 [3]41.233.522.923.826.829.6435.34
VPP2-Preview [37]50.325.65.424.622.225.6231.40
Liber-0 Preview [23]37.333.25.318.633.225.5230.74
Liber-0 Lite [22]35.431.12.619.132.924.2329.24
InternW0-Δ [29]34.023.210.222.829.323.9130.77
ME-Brain-1.0 [14]22.815.95.315.320.615.9921.67
OpenWAM-𝛼 [47]9.19.21.114.825.311.9217.18
Simate-beta [40]33.026.98.527.943.427.9633.95
Rex-M1 Preview [13]48.223.86.126.133.027.4433.79
DM0.5 [10]47.416.82.110.919.519.3424.90
GalaxeaVLA (G0.5) [25]7.320.41.612.832.214.8820.23
Xiaomi-Robotics-1 [49]6.618.83.617.023.713.9320.07
Meituan-Robotics-0 [28]8.97.84.28.218.69.5314.95
SimpleMemVLA [54]33.22.90.83.95.59.2712.58
Hy-Embodied-0.5-VLA [57]12.18.00.68.414.98.8013.07
KinRT [52]3.69.93.88.618.18.8013.02
Spatial Forcing [20]4.110.61.69.314.68.0412.38
VLAct [51]0.615.22.26.313.77.5810.65
StarVLA-PI_v3 [42]4.012.52.08.111.07.5110.81
InternVLA-A1.5 [27]3.610.21.46.813.87.1411.15
𝜋0.5 [36]4.75.51.78.214.76.9311.44
COAP (ours)89.975.164.165.756.470.2475.45
vs. best+39.6+41.6+33.1+35.2+13.0+38.86+39.18

전체 성공률 SR은 작업 전체가 성공한 에피소드 비율이고 Score는 진행 점수다. COAP의 70.24% SR, 75.45 Score는 서로 다른 지표다. 최상위 비교법 PhysicalRSI의 31.38% SR 대비 차이는 38.86 percentage points다. 이를 단순한 “38.9% 상대 향상”으로 쓰면 단위가 잘못된다.

차원 COAP SR (%) 차원별 최상위 baseline 대비 차이 (pp)
Memory 89.9 +39.6
Precision 75.1 +41.6
Open 64.1 +33.1
Generalization 65.7 +35.2
Long-Horizon 56.4 +13.0

기억과 정밀도에서 큰 격차가 나타나지만 장기 작업에서의 격차는 더 작다. 반복해서 상태를 갱신하고 실패를 회복하는 능력이 중요하다는 해석과 부합하지만, 이 표만으로 기여 요인별 인과 효과를 모두 분리할 수는 없다.

PART 04

상태·실행·확장성의 세 장점

A. Explicit State: inspectable, persistent, accurate

상태와 규칙이 변수·자료구조·함수로 드러나면 실패를 특정 측정이나 결정으로 추적하기 쉽다. cover_blocks에서는 처음 측정한 블록 색상과 위치를 저장하고 동일한 컵으로 가린 뒤에도 요구 색 순서대로 컵을 치운다. COAP의 Memory 89.9%는 논문 그림에서 약 90%로 반올림되어 제시된다.

정확성 분석에서 같은 프로그램이 measured state에서는 63%, oracle state에서는 83% 성공한다. 이는 특정 분석의 비교값이며 전체 42작업 평균과 혼합해서는 안 된다. 정밀 측정은 성능 상한의 병목이지만 oracle을 실서비스에 투입할 수 있다는 뜻도 아니다.

B. Execution: controllable, recoverable, efficient

테두리 파지로 잡은 그릇이 운반 중 미끄러지면 운반 속도를 낮추는 코드 수정으로 대응할 수 있다. 파지 후 물체가 들어올림을 따라오지 않는 경우, 마지막 확인 상태로 돌아가 재측정하고 새로운 파지 각도로 다시 시도한다. 이는 단순 반복 호출과 다른 근거 기반 복구다.

문제가 생긴 에피소드 중 프로그램이 문제를 알아차린 비율은 약 76%, 새 방법으로 재시도한 비율은 34%다. 재시도 자체가 항상 성공한 것은 아니다. 세부 결과는 다음 부록 표에 있다.

호출 중앙값은 CPU에서 0.3 ms, 에피소드당 결정 중앙값은 352회다. 다수 호출은 이미 계획된 행동을 전달하며 약 25회의 지각·계획 호출이 결정 시간의 99.4%를 차지한다. 그러므로 0.3 ms를 모든 지각·계획 단계의 비용이나 실제 로봇의 전체 제어 지연으로 읽지 않는다.

VLA 대비 0.8–2.4%, Agent Harness 대비 0.1% 미만의 계산량은 논문 추정이다. CPU 1코어의 10¹¹ FLOP/s 최고 성능을 COAP의 상한으로 사용하고, 3B action-chunk VLA·7B 매-step VLA·2×10¹¹ active-parameter harness에 가정된 호출량을 대입한다. 실측 wall-clock·전력·총개발비를 동일 조건에서 비교한 수치가 아니다.

C. Extensibility: reusable, fast to evolve, cumulative

새 작업이 실행하는 코드의 약 83%가 라이브러리에서 온다. 파지를 물체별로 다시 작성하기보다 top·side·handle·rim·edge·cloth pinch 같은 접촉 방식으로 추상화한다. 기존 작업의 흐름을 상속하고 배치 규칙만 바꾸거나, 기본값이 보존되는 매개변수를 추가한다.

논문은 새로운 작업 개발에서 약 15시간 내 평균 성공률 47%를 보고한다. 그러나 비교 VLA·Agent Harness 개발 곡선과 “지수적 누적 성장” 곡선 일부는 schematic이다. 계측된 장기 지수 성장 법칙이나 동일 자원 하의 완전한 온라인 학습 비교로 주장하지 않는다. OpenVLA의 작업별 5–15시간·8 A100 fine-tuning 비용과 π0.5의 순차 학습 86.9→31.4 사례는 다른 선행 연구의 보고값이다.

속성 · 원문 Table 1Agent-as-PolicyHarness VLAVLA / WAMCOAP
Inspectable△ reasoning text△ memory text✗ black box✓ state and rules
Persistent△ model context△ text memory✗ recent frames✓ code variables
Accurate△ pixels, some tools△ pixels, some tools✗ image pixels✓ measured values
Controllable△ prompt△ prompt✗ weights decide✓ code decides
Recoverable△ LLM retry△ memory retry✗ no explicit return state✓ backtrack / re-attempt
Efficient✗ LLM per decision✗ LLM + VLA△ network per step✓ CPU, no model
Reusable△ base model✗ task memory△ fine-tune per task✓ shared library
Fast to evolve△ prompt edits△ slow, linear gains✗ retraining✓ reuse / inherit
Cumulative△ prompts affect all△ task memory✗ task overwrite✓ accumulated performance

이 표는 원문 Table 1의 평가를 보존한다. △·✗는 저자들이 선택한 구현과 분류에 대한 판단이며 명시적 메모리·검증을 추가한 모든 학습 기반 정책을 배제하는 정리가 아니다.

PART 05

RSI를 검증 가능한 코드 탐색으로

보이는 실패, 통제된 변경, 누적 개선, 빠른 진화

이 논문이 사용하는 RSI는 실패 확인 → 정책 코드 변경 → 개선 시 채택을 반복하는 과정이다. 모델의 가중치나 학습 알고리즘이 자율적으로 무제한 재설계되는 일반적 RSI와 구분해야 한다. 코딩 모델의 능력, 상태 표현, 라이브러리 추상화, 검증 데이터와 계산 예산이 이 반복의 범위를 정한다.

예를 들어 머그 파지를 테두리·손잡이·몸체·위쪽 접근 등 8개 대안으로 나누어 동시에 평가한다. 하나의 결정에 대한 분기들이 완전한 프로그램이므로 같은 배치에서 비교한 뒤 다음 결정으로 넘어갈 수 있다. 논문은 이를 BFS 형태로 설명한다. 후속 운반·매달기 분기 일부는 도식적 예시다.

36개 분기에서 성능 하락 36%, 변화 없음 11%, 작은 개선 36%, 채택 17%가 보고된다. 30개 에피소드 중 부모보다 최소 4개 더 성공해야 채택하는 예시다. 재실행 변동은 1–3개 에피소드라고 보고한다.

분기 수를 늘린 곡선은 효과를 복원추출하고 최고 후보를 고르는 bootstrap 추정이며 5·95 percentile band를 사용한다. 분기 독립성을 가정하고 작업 간 효과를 모으므로, 선택에 쓰인 배치의 개선을 실제 일반화 개선으로 그대로 읽으면 낙관적일 수 있다. 가장 분주한 개발 구간에는 12개 작업 평가를 병렬 수행해 순차 실행 시간의 17%에 완료했다는 기록도 있다. 이는 전체 프로젝트의 상시 속도 향상 비율이 아니다.

library freeze 뒤 병합에서 전체 SR은 66.5%에서 70.24%로 상승했다고 보고한다. 코드가 있는 40작업 기준 표준 배치는 validation 76.7%, test 74.9%, randomized 배치는 validation 55.2%, test 52.8%다. 다른 곳의 42작업 집계와 모집단이 다르므로 수치를 섞지 않는다.

PART 06

실패와 상한을 정직하게 읽기

실패는 상태 측정과 코드 논리에 남는다

오류 분류 실패 중 비율 원문 사례 제안되는 수정 방향
Perception 35% randomized 장면의 dartboard를 headset으로 인식 추정·분리·최종 확인 개선
Contact 27% 셔츠 단을 집었으나 천이 빠짐 접촉 상태 표현과 재파지
Incomplete logic 29% 정렬 확인에서 실패를 발견해도 한 번 밀고 중단 검증 통과까지 적절한 재시도
Poor code design 8% 고정 크기 threshold가 작은 시계를 제거 관측 상태에 따른 값 계산
Unknown 별도 소수 범주 trace에서 원인을 찾지 못함 추가 근거 수집

상태 측정 관련 62%, 논리 관련 37%는 반올림된 분류다. 실패를 처음부터 읽어 회복되지 않은 첫 오류를 찾고, 그 실패를 막는 최소 수정으로 단일 범주를 할당한다. 로그에는 프로그램이 측정한 값이 기록될 뿐 실제 물리 상황 자체가 기록되는 것은 아니므로 공식 영상도 대조했다. 분류에는 분석자의 판단이 포함된다.

실험이 아직 입증하지 않은 것

  • 실로봇 성능: 모든 결과는 시뮬레이션이다. 실제 카메라·메시·물체 크기는 다시 측정하고 파지 폭·운반 속도 등 접촉 변수를 재조정해야 한다.
  • 새 작업의 즉시 실행: 빠른 온라인 실행과 별개로 작업마다 오프라인 개발·시험 비용이 발생한다.
  • 임의 환경의 범용성: Generalization의 표준 layout 77.3%와 randomized 54.1% 사이에 격차가 있다. 전체 70.24%도 완전 성공이 아니다.
  • 코드의 절대적 신뢰성: 명시적 코드라도 부정확한 센서값, 접촉 불확실성, 빠진 복구 분기, hard-coded threshold 때문에 실패한다.
  • 모든 상황에서의 무회귀: fixture 호환성과 기존 작업 재시험은 관측 범위의 보증이다. 통계적으로 큰 회귀를 배제하는 것과 작은 변화까지 없음을 입증하는 것은 다르다.

명시성은 오류를 없애기보다 오류의 위치와 수정 단위를 드러내는 성질로 이해하는 것이 유용하다. 저자들의 “표현이 명확해질수록 상한이 높아진다”는 논의는 연구 방향이며 모든 복잡한 접촉·변형 상태가 이미 충분히 표현된 것은 아니다.

데이터 엔진으로서의 가능성

성공한 작업 프로그램은 여러 배치를 모델 없이 병렬 실행할 수 있고, 궤적마다 명시적 상태와 결정 근거를 남긴다. 이를 VLA 학습 데이터나 Agent Harness의 상태·결정 감독 신호로 사용할 수 있다는 것이 저자들의 제안이다. 이 논문은 그 데이터로 학습한 VLA의 후속 성능 향상을 별도 실험으로 입증한 것은 아니다.

편집 해석 · COAP과 VLA를 경쟁적 대체물로만 볼 필요는 없다. 측정·검증·복구에 강한 코드 계층과 인식·일반화에 강한 학습 계층을 연결할 가능성이 있다. 이는 본 해설의 연구 제안이며 원문 COAP의 시험 설정과 구분한다.

PART 07

부록 A–F까지 읽기

A.1 복구와 작업 길이

문제가 발생한 에피소드의 결과 비율
재시도 뒤 성공 12%
재시도했지만 실패 22%
감지·보고하고 종료 42%
└ 추가 방법 없음 37%
└ step budget 4%
step limit 도달 1%
보고하지 못함 22%

원문 Table 3의 반올림된 비율로, 하위 항목을 상위 항목에 다시 더하지 않는다. 재시도 대상의 실패 단계는 파지 실패·미끄러짐 49%(saved 17%), 운반 중 낙하 32%(48%), 해제 막힘 18%(23%), press latch 실패 8%(100%), 미완료 pour 1%(100%)다. 재시도 단계별 비율은 중복 발생 등을 포함할 수 있으므로 전체 에피소드 결과와 다른 집계다.

작업 step limit 작업 수 COAP SR Agent Harness VLA GPT-as-policy
200–500 12 78.1 47.3 21.9 26.5
550–800 15 78.4 30.6 38.0 26.9
900–1900 15 52.0 13.2 22.1 14.8

Table 4는 step limit으로 묶은 성공률(%)다. 가장 긴 작업에서 COAP도 성능이 낮아진다. Figure 6의 회복 곡선에는 도식적 요소가 있으므로 이 표의 실제 집계와 구분한다.

A.2 파지 방식, 새 작업, 기존 작업

파지 방식 접근과 접촉 예시 사용하는 task program 수
Top 위에서 내려와 몸체를 가로질러 블록·숫자·누운 펜·달걀 28
Side 축 방향으로 수평 접근, 몸체·목을 감쌈 세운 병·컵 6
Handle 손잡이에 접근해 막대를 감쌈 바구니 arch·빗자루·mallet 3
Rim 벽으로 내려와 안·밖에 한 jaw씩 그릇·머그·접시 3
Edge 얇은 옆면 방향 접근, 양쪽 면 접촉 동전·빵조각·열쇠 4
Cloth pinch 단으로 내려와 천 층을 집음 긴팔 상의 1

방식은 물체 이름보다 접근·접촉으로 정의된다. 기울어져 있어도 위에서 내려오면 top grasp다. Figure 13은 벤치마크 메시와 파지 코드 자세로 렌더링한 예다.

새 작업 최초 평가 (h) 최초 성공 (h) 최초 병합 (h) 병합 시 검증 성공률 (%)
make_toast 3.2 4.7 5.8 50 → 77
hang_mugs 3.2 5.2 6.8 7 → 50 → 57
sweep_blocks 3.9 6.4 7.9 0 → 60 → 50
fill_pen_holder 0.2 4.0 2.7 0 → 20 → 27

Table 6의 원문 기록을 그대로 옮겼다. fill_pen_holder의 최초 병합이 최초 성공보다 빠른 기록과 sweep_blocks의 60→50 기록 등은 다른 요약만으로 임의 수정하거나 모든 병합이 모든 지표에서 단조 증가했다고 단정하지 않는다. Figure 7 설명은 library freeze 때 프로그램이 없던 작업들과 실패한 store_tools_in_toolbox를 포함하는 개발 평균을 설명한다. 정확한 포함 작업·집계 시점은 원문과 기록을 함께 확인해야 한다.

자체 코드가 바뀌지 않은 기존 작업은 같은 배치에서 78.4→79.9%, 코드 정리 작업까지 포함하면 80.0→81.4%다. Cochran–Mantel–Haenszel p=0.16이며, 약 4pp 규모의 pooled shift를 탐지하는 시험이라고 설명한다. 이는 큰 회귀를 배제하는 근거이지 작은 변화나 미래 분포의 안정성을 보장하는 증명은 아니다.

classify_objects_by_language의 라이브러리 비중은 99.5%, make_toast 84%, hang_mugs 88%, sweep_blocks 78%로 제시된다. Figure 14의 새 작업들은 기존 파일을 0줄 수정했고, sweep_blocks는 push_T에서 만든 slide를 재사용한다. transfer는 여러 작업에서 호출되며 wait_for_other는 변경 없이 호출되고 Rules 상속으로 분류 작업을 확장한다.

라이브러리 계층 주요 내용 코드 줄 수 가장 많이 쓰이는 모듈의 사용률
Task programs 순서·매개변수·특수 경우 23.5k 2.5%
Object families 물체 정의·잡는 방법 28.5k 18%
Manipulation pick·carry·place·push·grasp 5.4k 78%
Perception look·measure·confirm 5.3k 100%
Motion IK·계획·충돌 3.3k 100%

Table 7의 사용률 분모는 코드가 있는 40 task program이고, 해당 계층에서 가장 많이 사용되는 모듈의 비율이다. 계층 전체를 쓰는 비율과 같은 수치가 아니다. 하위 세 계층은 약 14k줄이며 작업·물체군 계층의 모듈은 더 제한된 작업을 담당한다.

B–C: 분기 추정과 오류 판정

부록 B는 분기의 부모 비교, 4/30 채택 여유, bootstrap의 가정, 12작업 병렬 실행, freeze 이후 병합과 검증–시험 전이를 설명한다. 부록 C의 전형적 사례는 randomized 외관 미인식·잘못된 최종 확인·물체 분할/병합, 파지 미끄러짐·push 미완료·해제 시 tipping, 목표에 도달하는 파지 없음·시도하지 않은 순서·검사하지 않은 충돌, 고정 크기·파지 폭·매칭 threshold다. trace에서 단서를 찾지 못하면 Unknown으로 남긴다.

D: 42개 작업 전체 결과

작업 · 원문 Table 9SR (%)Score
cover_blocks100.0100.0
push_T97.397.3
press_by_number100.0100.0
stack_blocks94.795.2
swap_T100.0100.0
stack_bowls93.394.0
swap_blocks100.0100.0
fold_clothes90.091.6
imitate_sorting_sequence74.778.5
pour_liquid_into_cup89.389.3
match_and_pick_from_conveyor64.764.7
arrange_largest_number86.790.0
sort_nesting_dolls_by_size64.764.7
play_Xylophone99.399.3
make_toast56.760.3
build_tower96.797.3
store_laptop_and_headphones55.377.3
insert_tubes94.796.8
hang_mugs32.041.9
pour_balls_into_vase94.094.0
sweep_blocks28.028.0
fasten_screws91.395.7
pack_objects_into_box0.76.5
deposit_coin85.386.0
insert_key39.348.4
play_tic_tac_toe99.399.4
plug_in_charger†0.0–
make_kong98.098.0
play_stacking_toy82.092.6
pour_by_language100.0100.0
put_bottles_into_dustbin73.382.8
align_blocks93.393.3
classify_objects50.063.9
solve_equation92.792.7
fill_egg_holder24.750.8
stack_blocks_by_language91.391.6
fill_pen_holder24.049.0
general_pickup61.361.3
organize_table0.051.5
pick_from_conveyor_by_image48.048.0
classify_objects_by_language26.043.9
store_tools_in_toolbox†0.0–

† 표시는 원문에서 성공한 프로그램이 없는 작업으로 제시한 항목이며 Score는 dash다. 0.0을 임의로 결측값으로 바꾸지 않는다. organize_table은 SR 0.0이지만 Score 51.5로 부분 진행이 기록된다. 따라서 성공률과 진행 점수를 함께 읽어야 한다.

E: 기억·복구·한 프로그램의 장면 전이

cover_blocks는 처음 측정한 색상–위치 기억으로 가려진 블록을 요청 순서대로 찾는다. randomized stack_bowls에서는 yaw 60° 파지 뒤 물체가 들어올림을 따라오지 않아 75°로 다시 잡고 스택을 완성한다. fold_clothes는 같은 프로그램으로 표준·randomized 장면의 셔츠를 접는다. Figure 15는 이러한 공식 에피소드의 단계별 사례이며 전체 성공 분포를 대신하지 않는다.

F: 성공 실행 궤적 전체

Figures 16–19는 작업과 variant별 성공 에피소드의 시작·1/4·1/2·3/4·종료 head image와 마지막 양 손목 frame을 보여준다. 정렬, 큰 수 구성, 블록 덮기, 동전 넣기, 옷 접기, 순서 모방, 튜브 삽입, make_kong, conveyor 매칭, 상자 포장, stacking toy, 공·액체 붓기, 숫자 누르기, push_T, nesting doll 정렬, 블록·그릇 쌓기, 노트북·헤드폰 보관, 블록 쓸기의 표준/변형 장면을 포함한다. 동일한 파지·운반·근접 재측정·배치 라이브러리를 반복 사용하면서 작업 프로그램이 순서와 목표를 정하는 모습을 보여준다. 아래 원문 열람부에 네 그림을 모두 보존했다.

PART 08

연구기획으로 연결되는 질문

편집 제안 · ETRI의 Physical AI 연구에서는 “모델 규모”와 함께 상태 표현, 실행 흔적, 실패 복구, 무회귀 검증을 별도 연구목표로 설정할 수 있다. 다음 표는 이 논문에서 도출한 제안이며 논문에서 실증한 성과가 아니다.

연구 질문 검증할 구성요소 성과를 판정할 근거
실제 RGB·촉각·힘센서로 접촉 상태를 얼마나 명확히 표현할 수 있는가 상태 스키마·측정 오차·접촉 사건 오차·접촉 실패·복구율의 동시 측정
코드 수정의 호환성을 분포 변화까지 확장할 수 있는가 fixture·property test·시나리오 검증 기존 작업 회귀, 새 작업 개선, 미검증 범위
병렬 분기가 총개발비까지 줄이는가 코딩 호출·GPU 평가·CPU 실행 시간·토큰·에너지·성공당 비용
학습 계층과 명시적 실행 계층은 어디에서 만나야 하는가 인식 모듈·state estimator·fallback OOD 상태 정확도와 전체 task SR
COAP 궤적이 VLA를 실제로 개선하는가 데이터 생성·상태 및 결정 라벨 동일 데이터 예산의 downstream 학습 비교

논문이 제시하는 방향은 분명하다. 로봇 정책을 관찰에서 행동으로 가는 거대한 매핑으로만 다루지 않고, 측정하고 기억하고 검사하고 수정할 수 있는 프로그램으로 다룬다. 동시에 코드의 상한을 결정하는 물리 상태 표현과 실제 환경 검증은 열린 문제로 남는다. 재귀적 개선의 설득력은 더 많은 변경이 아니라, 변경의 근거와 시험 범위를 얼마나 명확히 남기는가에 달려 있다.

SOURCE ARCHIVE · COMPLETE ATTACHMENT

첨부 원문 31쪽 전체

각 페이지를 펼치면 첨부 PDF의 렌더링 이미지와 추출 텍스트를 확인할 수 있다. Figure 1–19, Table 1–9, Code Example 1–2, 식 (1)–(5), 부록 A–F 및 각주·참고문헌을 포함한다. PDF 전문은 공식 v1 PDF, 검색 가능한 공식 문서는 arXiv HTML로도 연결한다.

원문 그림 찾아보기 · 19개
원문 그림내용원문 페이지
Figure 1전체 구조1
Figure 2기존 code policy 비교3
Figure 3오프라인 개발과 공유 코드6
Figure 4세 가지 장점11
Figure 5명시적 상태11
Figure 6실행·복구12
Figure 7확장성14
Figure 8코드 계층과 파지 방식14
Figure 9RSI의 네 속성15
Figure 10병렬 분기15
Figure 11네 가지 실패 유형17
Figure 12계산의 오프라인 이동24
Figure 13여섯 파지 예25
Figure 14기존을 깨지 않는 확장26
Figure 15기억·복구·장면 전이28
Figure 16실행 궤적 1/429
Figure 17실행 궤적 2/430
Figure 18실행 궤적 3/430
Figure 19실행 궤적 4/431
PAGE 01 / 31 초록·Figure 1

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 1쪽: 초록·Figure 1
이 페이지의 추출 텍스트
                                        Embodied Turing Machines
                                        Stateful Code for Robot Recursive Self-Improvement
                                        Kairui Hu1,2,*                    Siyuan Hu1,*                            Fangzhou Hong1,2                                               Zhaoxi Chen1,2                                            Ziwei Liu1,2
                                        1 Nanyang Technological University                                            2 Ropedia



                                          Physical world                                                                    Embodied Turing Machine                                                                                           Three ways to act
                                                                                                                                            Code as a Universal Interface
                                                                                                                                                                                                                                               VLA


                                                                                                                                        Transition program                            Control state
arXiv:2610.12369v1 [cs.RO] 8 Oct 2026




                                                              z                                                                         1    state_update(obs)
                                                                                                            Observations
                                                                                                                                        2    action = plan(state, goal)                                                                                                   Learned Weights
                                                                  y
                                                                  x                                                                     3    execute(action)
                                                                                                                                                                                     Observe               Act      Check
                                                                                                                                        4    check_and_recover(state)
                                                                                                                                                                                                   state register
                                                                                                                                                                                                                                               Agentic Harness
                                                                                                                                                                                                                                                                 Task:                     Tools
                                                                                                                                                                                                                                                    </>          Grasp object
                                                                                                            Actions
                                                                                                                                                                                                                                                                      Memory

                                                                                                                                                      z                                                                                                            Model + Context + Tools
                                                                                                                                                          y
                                                                                                                                                              x
                                                                                                                                                                                                                                               Code-Only-as-Policy (Ours)
                                                                                                                              Robot                Objects
                                          RGB Views               Robot State                                                  joints                             Environment               Spatial                                                   project/       def policy(state):
                                                                                                                                                     pose           frames                                        Memory
                                                                                                                                                                                            relations               state
                                                                                                                                                                                                                                                     task.py
                                                                                                                                                                                                                                                     policy.py
                                                                                q = [q₁, …, qₙ]                                                                                                                                                                          State    Policy    Action
                                                                                                                                                                                                                                                     utils.py
                                                                                dq = [dq₁, …, dqₙ]                                                            World-state tape                                                                       …
                                                                                … (joints, pose, sensors)
                                                                                                                                                                                                                                                                    Code + State → Actions


                                         Code for Recursive Self-Improvement
                                                                                                                                                                                                                                                                           RoboDojo
                                                                                                                                        policy.py
                                               project/                                                                                                                   Validation Tests                           project/                        Success Rate (%)                                Progress Score
                                                                                                                               1 def solve(obj):                                                                                              100                                                                      100
                                            tasks/                                                                                                                                                               tasks/
                                              pick_block.py                                                                    2   …                                                                               grasp_rock.py
                                                                                                                               3 − grasp(obj)
                                                                                                                                                                                                                                                                                                               75.45
                                              place.py                                                            </>                                                                                   pass       place.py
                                            functions/                                                                         4 + robust_grasp(obj)                                                             functions/
                                                                                                                                                                                                                                                                                                         70.24
                                              perception.py                                                                                                                                                        robust_grasp.py
                                                                                                                               5   …                                </>                                                                       50                                                                       50
                                              motion.py                                                                                         functions/                                                         perception.py                                                       36.27
                                                                                                                               6   …                                                                                                                       33.95
                                              contact.py                                                                                       grasp.py                                                            motion.py
                                                                                                                                               ik.py
                                                                                                                                                                                                                                                      27.96                      31.38
                                                                                                                                                                                     fail
                                            Try Existing Code                    Observe                                    Debug                                          Validate                              Save · Reuse · Refactor       0                                                                        0
                                                                                                                                                                                                                                                          VLA                     Agentic               COAP (Ours)
                                                                                                                           Next Task



                                        Figure 1. Code-Only-as-Policy (COAP). We view the embodied world as an Embodied Turing Machine
                                        whose tape is the state of the robot and its environment (top middle). If this state is represented accurately
                                        and the code is robust enough, no agent is needed in the control loop (top right). COAP is a shared
                                        library: different tasks use the same library, and within a task the code runs across episodes. The policy is
                                        therefore code only and reaches a 70.24% success rate on RoboDojo.




                                                 Abstract
                                                 Most robot policies keep a model in the control loop: a VLA maps observations to
                                                 actions, and an Agent Harness, such as Agent-as-Policy or Harness VLA queries a
                                                 VLM for decision making at run time. We propose a different view: the embodied
                                                 world is an Embodied Turing Machine, whose tape is the robot and environment state
                                                 and rules are the policy. If this state can be represented accurately, the decision making
                                                 can be written entirely in code. We therefore propose Code-Only-as-Policy (COAP):
                                                 code measures and tracks the robot, environment, and task state from camera images
                                                 and proprioception, and makes every decision from it. The same code applies across
                                                 episodes, and different tasks share one library without a VLM or VLA in the loop.


                                            Technical Report. * Equal contribution.



                                                                                                                                                                    1
PAGE 02 / 31 서론

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 2쪽: 서론
이 페이지의 추출 텍스트
    Compared with VLAs and Agent Harnesses, we analyze three advantages of COAP:
    (i) Explicit State: the state can be stored in code; (ii) Execution: code makes decision
    making controllable, recovers from failures flexibly, and runs fast and cheaply online;
    (iii) Extensibility: new tasks reuse, inherit, or extend the shared library, so capabilities
    can accumulate over tasks. These advantages make COAP a suitable medium for
    recursive self-improvement (RSI): coding agents develop the library in a closed loop,
    and each change is explicit and controllable. On RoboDojo’s 42 bimanual tasks, the
    resulting library reaches a success rate of 70.24% without a model at test time. The
    upper bound of COAP lies in how accurately the state is represented for decision
    making and how robust the code logic is. We thus propose COAP as a new paradigm
    for embodied tasks; since it applies across episodes, it can also serve as an efficient
    data engine for VLAs and Agent Harnesses.



1. Introduction
                                “It is possible to invent a single machine which can be used to compute
                                 any computable sequence.”
                                                                                     Alan Turing [60]

   A Turing machine comprises a tape that stores symbols and a set of fixed rules that read
from and write to the tape [60]. With the rules fixed and only the tape varying, the same rules
can process arbitrary inputs. The same abstraction applies to the physical world, where the
world state is analogous to the tape. A robot reads this tape through perception and writes
to it through action, and its policy plays the role of the rules. We therefore model a robot and
its environment as an Embodied Turing Machine, whose tape holds two kinds of state: the
environment state (e.g., object poses and their spatial relations) and the robot state (e.g., arm
pose and reachable poses).
  Both kinds of state are accurately observable. The robot state is available directly through
proprioception, and object poses can be recovered from RGB images using measured object
geometry. A policy that acts on this state gains two advantages. First, more accurate state
enables more precise action. Second, when objects are rearranged (like different episodes in a
task), only the tape changes, and the same rules (policy) still apply.
   A policy can map state to action in three ways, which differ in how explicit this mapping is.
(i) Vision-language-action models (VLAs). A VLA takes observations, such as camera images,
as input and learns the mapping to action, which remains implicit in its weights [4, 19]. (ii)
Agent harnesses. The vision-language model (VLM) either controls the robot directly, as in
Agent-as-Policy, or directs a VLA, as in Harness VLA [9, 55]. The harness makes part of the
process explicit, such as textual memory, but the VLM and VLA remain black boxes, so we may
still neither fully inspect nor control how an action is derived. (iii) Code-Only-as-Policy (ours).
In contrast, code is a white box that implements the Embodied Turing Machine directly: the
state, such as object poses, is stored in code variables, where it remains accurate, persistent,
and explicit; the rules are written as code logic that computes each action from this state. With
both the state and the rules explicit, no model is required at runtime: the code is frozen and
serves as the sole policy during execution. Code thus becomes a universal interface to the
physical world: a single code program takes over the roles of the VLAs, the prompts and skills
of Agent-as-Policy, and the memory of Harness VLA.


                                                 2
PAGE 03 / 31 서론·Figure 2

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 3쪽: 서론·Figure 2
이 페이지의 추출 텍스트
                                                              Prior code-based policies                                                                  Ours
A model writes code online, turn by turn                                             One program, state from outside                          One program, state from code
                CaP · PyRUA-Lean · Skill2Real                                                  RHO · EmbodiedSWE                                            Code-Only-as-Policy


                                   LLM / VLM                                                   SAM 3       or       ground truth                                     perception code
                                                                                                                                                         </>
                                   e.g. GPT-6 Astra                                            Molmo               from the simulator                                perception.look(snap)

                                         retry                      retry                                 state                                                               state
      turn 1                   turn 2                     turn 3                         RHO   solver/
                                                                                                                                                    tasks/stack_bowls.py
  # move the red block a   if code fails:             if VLA fails:
  # bit to the right.        retry with VLA             retry with GPT-6 Astra
                                                                                       main.py run(ctx)       _observe                            def run(ctx):
  target_pos = get_pos(                                                                common.py              _segment_object                       seen, info = _measure(ctx, subs)
    'red block')                                                                       robotics.py            _grasp_from_mask                      plan, route = _route(ctx, bs, ...)
                           pick = robo.pi0_pick(      print(robo.set_gripper(
    + [0.1, 0]                                                                                                                                      res = _run_plan(ctx, plan, ...)
  put_first_on_second(
                             'pick up the ...',        +1, steps=8))                   tasks/    ...          _approach_grasp_lift
                             max_chunks=20)           print('lift',
    'red block',                                                                                              _place_on_target
    target_pos)
                           print('pick', pick)         robo.move_to(
                                                        [...], ...))
                                                                                                                                                shared library        perception/     families/   skills/




  1                        2                          3                          1                   2                    3               1                      2                          3




       reused across episodes                      programmable state                reused across episodes          programmable state       reused across episodes                   programmable state



Figure 2. Comparison of code-based robot policies. In prior work, a model writes code-as-policy online,
turn by turn, as the robot runs (left), or one program takes its state from a learned model or the simulator
oracle (middle). Our COAP reuses code across episodes and measures the state by code (right).


   Existing code-based policies either (i) ask a model to write new code-as-policy online in each
episode of a task [21, 59, 62], or (ii) take the state from a model or the simulator’s oracle [11, 39]
(Figure 2). COAP instead measures the state with its own code and builds a shared code library
for perception and execution. Different tasks run the same library code, and only a small part of
the logic is task-specific: 83% of the code that a new task runs comes from the library. Nor is the
code written for a particular episode: one program runs on every episode of a task. Because the
task is fixed, code that is robust enough needs no VLM or VLA in the loop; if it still needs one,
the code is not yet robust enough to run reliably across episodes.
   Code-Only-as-Policy has three advantages (§4.3). (i) Explicit State: the state is stored in
code variables, and every decision is made from them (§4.3.1). (ii) Execution: the code gives
fine-grained control over the state and actions, recovers from failures flexibly by backtracking
and re-attempting, and runs fast and cheaply online (§4.3.2). (iii) Extensibility: a new task
reuses, inherits, or extends the shared library, so the code evolves quickly and capabilities
accumulate (§4.3.3). Hence, COAP is a suitable medium for stable recursive self-improvement
(RSI) (§4.4). Since the code is not specific to any episode, one policy runs on different episodes
and can generate successful trajectories efficiently for VLAs and Agent Harnesses (§5.5).
  We evaluate COAP on RoboDojo’s 42 bimanual tasks [7]. A coding agent (Opus 5.5 Max)
develop the code library in a closed RSI loop that we design: under fixed rules, such as no hack
for single episodes and no oracle state at test time, the coding agent summarizes, writes, and
debugs the code without human in the loop. The development does not involve test set of a
benchmark. The resulting COAP policy reaches 70.24% success rate, 38.9% above the state-of-
the-art method. The upper bound of COAP can be pushed further if the state representation
gets more accurate and code logic grows more robust.
  The weakness of COAP mainly lies in its generalization capabilities since it needs a small
amount of task-specific code logic. However, Agent-as-Policy and Harness VLA also involve
task-level memories, and some even rely on episode-level logic. In this work, our aim is to
explore the upper bound of Code-Only-as-Policy for the community. Moreover, COAP also
generates successful trajectories stably and efficiently, which can benefit the development of
VLAs and Agent Harnesses (§5.5). Our contributions are:

(i) Code-Only-as-Policy. We view the embodied world as a Turing machine in which the robot

                                                                                                           3
PAGE 04 / 31 관련 연구

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 4쪽: 관련 연구
이 페이지의 추출 텍스트
      and environment state can be represented explicitly. The same code applies to different
      episodes, and different tasks use a shared library developed offline by coding agent.
 (ii) Advantages of Code-Only-as-Policy. We analyze three advantages of code over VLAs and
      Agent Harnesses: Explicit State, Execution, and Extensibility. We explore code-only as a new
      paradigm for embodied task: when the code is robust enough and applies across episodes,
      no VLM or VLA is required during runtime.
(iii) Code as the medium of RSI. Code iterates efficiently, and each change is controllable. Code-
      Only-as-Policy can also serve as an efficient data engine to produce beneficial trajectories as
      new training data for VLAs, Agent-as-Policy, etc.


2. Related Work
  Existing robot policies built with foundation models differ in where they keep the state and
how they choose each action from it (Table 1): a VLA encodes the state implicitly in its weights,
and an Agent Harness (Agent-as-Policy or Harness VLA) stores it as text in a model’s context.

Vision-language-action models. RT-2, OpenVLA, 𝜋0 , and 𝜋0.5 learn language-conditioned
visuomotor policies end to end [4, 5, 19, 36], and recent foundation models scale data and
training further [18, 48]. A VLA cannot be inspected or edited directly, so each improvement
requires new data and a new training run, and LIBERO-PRO shows that benchmark success
can reflect memorized training configurations [58]. In comparison, we keep the state in code
variables, so we can backtrack from a failure to the variable that caused it and fix the code
logic that derived it. Each accepted fix is merged into the code without breaking existing logic,
so improvements accumulate, while training a VLA on a new task can degrade its performance
on earlier tasks [61].

VLM (System-2) for robot control. ReAct interleaves reasoning with actions [53], and Tool-
former teaches a model to call tools [38]. In robotics, SayCan grounds language-model plans in
learned affordances [1], and Inner Monologue feeds environment feedback back to the planner
[16]. Recent harnesses let a VLM agent call analytic or learned primitives [9, 55], and GPT-6
Astra [34] has been evaluated directly as an embodied policy [43, 56]. In these systems, the model
is queried repeatedly during execution to output actions, so there is randomness at each call,
even if the prompt is the same. Moreover, every episode is of high cost due to extensive model
calls [35]. In our approach, models are used only offline: coding agents write the code, and the
robot runs it without a model during online execution. The code computes each action from
the state through explicit rules, so the robot’s behaviour is reproducible, and each decision is
cheap because model calls are not required.

Code-as-Policy. Code-based policies differ in when the program is written and in the source of
the state used (Figure 2). Code-as-Policies and ProgPrompt prompt a language model to write
code that calls perception and control APIs [21, 41], and VoxPoser writes code that composes
spatial value maps [17]. Later works add execution feedback, repeated generation, and skill
discovery [12, 26, 30]. PyRUA-Lean has a model write code cell by cell as each episode runs [59],
and Skill2Real has a model compose a new program from frozen skill memories at each decision
stage [62]. In these systems, a model writes the program at runtime, and the state is provided by
learned perception models: object detectors in Code as Policies, and SAM in PyRUA-Lean and
Skill2Real. In RHO and EmbodiedSWE, coding agents write one program offline, but its state
still comes from outside the code: RHO likewise obtains it from SAM and Molmo [6, 11], and
the solvers of EmbodiedSWE read the simulator’s oracle values [39]. These perception models

                                                  4
PAGE 05 / 31 Table 1·관련 연구

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 5쪽: Table 1·관련 연구
이 페이지의 추출 텍스트
Table 1. Four ways to build a robot policy with foundation models, compared on the properties of the
three advantages in Section 4.3. ✓ yes, △ in part, ✗ no. In the rest of the paper, we refer to Agent-as-Policy
and Harness VLA together as an Agent Harness.

                 Agent-as-Policy        Harness VLA            VLA / WAM            COAP (ours)
Explicit State
Inspectable      △ reasoning text       △ memory text          ✗ black box          ✓ state and rules
Persistent       △ model context        △ text memory          ✗ recent frames      ✓ code variables
Accurate         △ pixels, some tools   △ pixels, some tools   ✗ image pixels       ✓ measured values
Execution
Controllable     △ steered by prompt △ steered by prompt       ✗ weights decide     ✓ code decides
Recoverable      △ retries via LLM      △ retries via memory ✗ no state to return ✓ backtrack, re-attempt
Efficient        ✗ LLM per decision     ✗ LLM + VLA            △ network per step   ✓ CPU, no model
Extensibility
Reusable         △ base model only      ✗ memory per task      △ fine-tune per task ✓ shared library
Fast to evolve △ prompt edits           △ slow, linear gains   ✗ data, retraining   ✓ reuse, inherit library
Cumulative       △ prompts affect all   △ task memory only     ✗ tasks overwrite    ✓ performance accumulates



are black boxes, and their uncertainty are not controlled by the code. In contrast, our code tracks
the state itself, so the state is programmable: when a measurement is wrong, coding agents fix
the measurement code, and the state becomes more accurate over time.

Code as an interface for agents. Outside robotics, code has become the medium through
which agents act and improve. CodeAct uses executable code as the action space of an agent [46],
and exposing tools as a code API lets a model compose them with fewer tokens [2, 44]. Voyager
grows a library of code skills through interaction [45], and software agents solve long-horizon
repository tasks through tests and diffs [33, 50]. In these settings, the environment provides
the state explicitly, as files, test results, or game API values. A robot, in contrast, must measure
its state from sensors, and our code performs this measurement itself. In robotics, RoboRSI
runs RSI as a loop of manager, planner, engineer, and reviewer agents with a no-regression
gate, but a VLM still makes the decisions during execution [32]. A change that passes the gate
only steers this black box, whose uncertainty and errors cannot be fully controlled, so the tested
behaviour may not be the behaviour at runtime. Our policy is code with explicit state, so the
tested behaviour is the behaviour at runtime, and coding agents can improve it the way software
engineers improve a program: every change is tested offline, and only changes that improve
results without regressions on other tasks are merged.

Benchmarks. LIBERO measures knowledge transfer in lifelong robot learning [24],
RoboTwin 2.0 generates domain-randomized bimanual tasks [8], and RoboCasa365 scales house-
hold simulation [31]. RoboDojo spans memory, precision, open instructions, generalization, and
long-horizon manipulation in one protocol [7]. Its memory and precision tasks directly test how
well a policy retains and measures state, and the shared protocol lets us compare VLAs, world
models, agents, and code on the same 42 tasks.


3. Embodied Turing Machine: Code-Only-as-Policy
   Code-Only-as-Policy implements the Embodied Turing Machine (§1) as a shared code library,
in which code variables hold the state and the source code constitutes the rules. Beyond storing
the state, the perception code measures the environment from camera images, and the code

                                                         5
PAGE 06 / 31 COAP 구조·Figure 3

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 6쪽: COAP 구조·Figure 3
이 페이지의 추출 텍스트
  Development a loop, run by coding agents                                         Shared library                Execution code-only
                                                                                                                  </>   fixed θ        on a CPU         >_     no agent       no model
   1    run θk dev layouts            4    merge what helps                         task programs

                                     θk + 1 = θk + Δ if better                             code.py                          code.py                                              run()

                                      earlier   θk               θk + 1          code_2.py
                                                                                 - AZIMUTHS_DEG = (...)                                 995 def run(ctx):
                                                                                 + # 180 = the rim opposite                             996       t0 = ctx.steps_used()
                                     only code_2.py changes                      + AZIMUTH_SETS = ...
                              next                                                                                                 1              ...
                                          +Δ                          Δ
                                                                                         code_3.py                                     1000       tried = []
                                                                                              ...                 state: 3 bowls       1001       seen, info = _measure(ctx, subs)

                                                                                                                                       1002       for attempt in range(...):
                                                                                                   calls
                                                                                                                                                         ...

                                                                                                                                       1020              ms = bowls.unify(...)
                                                                                    manipulation
    every step is recorded                                                          grasp, pick, carry, place                          1021              for i, m in enumerate(ms):

                                                                                 transfer.py          grasp.py                         1022                    ctx.world.replace(...)
                                                                                                                                   2
                                                               kept                                                                    1023              bs = [... for m in ms]
                              >_

                                                                                                                                                         ...
                                                                                                                  plan: the base
                                                                                                                                       1027              plan, route = _route(...)
   2    recorded state                3    branches                                 perception
                                                                                                                                                         ...
                                                                                    look, measure, confirm
                                                                                                                                       1034              res = _run_plan(...)
                                                                                  world.py         measure.py
                                                                                                                                       1035              done = res['done']
                                                                                                                                   3
                                                rim, upright                                                                           1036              if res['fail'] is None:

                                                                                                                                       1037                    break
                                                                                                                  2 bowls nested
                                                                                    motion                                                               ...
                                     θk                                             IK, planning, collision
                                                rim, leaned                                                                            1058       _rise_clear(ctx, subs)
       measured
                                                                                   planner.py          ik.py                       4 1059         h = home(ctx)

                                                                                                                                       1060       subs.append(h)
                                                                                   run by code.py
                                                                                                                  3 bowls nested                  ...
                                                  handle                           a merged diff
       0.7 mm        2.3 mm                                                                                                            1066       return _result(ctx, t0, ...)
                                     8 grasps at once; kept if better
                                                                                   writes the state




Figure 3. Code-Only-as-Policy. Development (left): coding agents improve the code offline in a loop. They
run the current code 𝜃𝑘 on development layouts, read the state, and run alternative diffs on branches in
parallel. Shared library (middle): task programs call the library from the shared code. Execution (right): at
runtime the robot runs one fixed task program across episode, and an agent and a VLA are not required.


updates these measurements as the robot acts. The code is frozen at runtime and improved
offline by coding agents (Figure 3). The development does not involve test set of a benchmark.


3.1. Reading and writing the state

   At step 𝑡 , RoboDojo provides an observation 𝑜𝑡 consisting of an instruction, three RGB images
(head and two wrists), joint angles, end-effector poses, and the gripper command echo [7]. The
code maintains an explicit state 𝑥𝑡 with three parts, each of which has the same form in every
task. (i) The environment state records the pose, size, and category of each object and the spatial
relations between objects, such as one object resting on another; each record also stores the error,
source, and time of its measurement. (ii) The robot state records the joint angles, end-effector
pose, and gripper opening of each arm, together with the poses each arm can reach. These two
parts represent the tape of the Embodied Turing Machine. (iii) The task state records the current
stage, the arm assigned to each object, retry counts, and the information the task must retain,
such as the color under each cup. It is not part of the tape and plays the role of the internal state
of a Turing machine.
   Each part is updated from a different source. The robot state is obtained from proprioception
at every step. The environment state is measured by perception layer library. The task code
updates the task state during execution.
  The source code 𝜃 constitutes the rules. It defines the transition

                                                                          ( 𝑥𝑡+1 , 𝑎𝑡 ) = 𝐹𝜃 ( 𝑥𝑡 , 𝑜𝑡 ),                                                                                (1)


                                                                                           6
PAGE 07 / 31 상태·측정·Code Example 1

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 7쪽: 상태·측정·Code Example 1
이 페이지의 추출 텍스트
           code_4.py

 131 def run(ctx):
           ...
 133       snap = ctx.snap(('head',))
 134       cubes = blocks.measure_cubes(ctx, snap, edge=CUBE_EDGE, colours=COLORS, n=3)
 135       cups = containers.measure_cups(ctx, snap, inverted=True, n=3)
           ...
 141       reg = ctx.register (list(cubes) + list(cups))
 142       slots = blocks.slots_by_x(reg[:3], reg[3:])
 143       order = [('cover', i) for i in range(3)] + [('uncover', blocks.slot_of(slots,
                  c)) for c in COLORS]
 144       memory = {s.colour: s.index for s in slots}
           ...
 146       for k, (op, i) in enumerate(order):
 147           stage = SPEC.stages[k]
               ...
 153           cup, _src, dst = containers.move_for(slots, i, op)
 154           outs, placed, verified = _move_cup(ctx, cup, dst, stage, HOME_EST_STEPS)

Code Example 1. The core of a task program. As in Figure 3, perception calls are blue, the manipulation step is teal,
and writes to the state are outlined.



where 𝑎𝑡 is the next trajectory segment. The code 𝜃 is frozen at runtime, and only 𝑥𝑡 changes.
A new episode layout therefore changes only the state, so one program runs in every episode
layout, including the held-out test layouts (§4.1).
   Code Example 1 shows the core of a task program that covers three cubes with cups and
then uncovers them in a fixed color order; it uses all three parts of the state. reg holds the
environment state: the measured records of three cubes and three cups, which the code pairs
into cube-cup slots ordered from left to right. memory and stage hold the task state: the color
under each cup and the active subgoal. The move step, shown in teal color, uses the robot state
to select an arm and compute each motion. After the third move, the colors are no longer visible,
so the code retrieves them from memory to determine the target of each uncover move.


3.2. Measuring the environment state

  Perception is also ordinary code, built on NumPy and OpenCV, so the state is programmable:
every measurement can be inspected and revised like any other rule. In each frame, the robot’s
mesh is projected into the image using the measured joint angles, and the pixels it covers are
masked out. Pixels that differ from the current table color form candidate regions, and each
connected region whose lower edge rests on the table becomes an object candidate. For a
boundary pixel with camera centre 𝑐 and ray direction 𝑑 , intersecting the ray with the table
plane 𝑧 = 𝑧0 yields its position on the table:

                                       𝑝 = 𝑐 + 𝜆𝑑 ,       𝜆 = ( 𝑧0 − 𝑐 𝑧 )/𝑑 𝑧 .                                 (2)

A perception for each kind of object then places the known 3D shape of the candidate near 𝑝,
searches over its position and yaw, and keeps the fit with the largest overlap with the observed
region. The camera models, robot meshes, object shapes, and table height used in these steps are
published with the benchmark and do not change between episodes, so they are constants in
the code, part of the rules 𝜃. What changes between episodes, such as which objects are present
and where they are, is state, which the code measures from the images in every episode.


                                                         7
PAGE 08 / 31 공유 라이브러리·Code Example 2

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 8쪽: 공유 라이브러리·Code Example 2
이 페이지의 추출 텍스트
          grasp.py

 122 LIFT_UP = (0.0, 0.0, 1.0)     # default: the established vertical lift
     ...
 312 def execute_grasp(c, ctx, attempt=1, ..., lift_dir=LIFT_UP,
 313                   lift_speed=None, lift_accel=None, band_at_close=None):


          code_5.py

  46 class Rules(CO.Rules):                # inherit an existing task's flow
           ...
  57       def first(self, ctx, items, info):    # override one decision
  58           sort_language.label(items, self.cats, info.get('frame'))
               ...
  73   def run(ctx):
           ...
  82       return CO.run(ctx, Rules(cats))

Code Example 2. A default-off parameter of a shared function (top) and a task that inherits another task and
overrides one decision (bottom); the new code is highlighted.



  Each matched measurement yields an object record with category, position, yaw, size, and
confidence. Records persist in an episode-level WorldState: an object occluded by the arm
keeps its last measured pose. Tasks that require millimetre accuracy re-measure the object with
a wrist camera before the final approach.


3.3. Sharing one library across tasks that read the same state

  Two design choices make the library reusable across tasks. (i) Every task operates on state
of the same form (§3.1), so a module written for one task can be reused by other tasks. (ii) The
code is layered, with dependencies pointing downward (Figure 3, middle): task programs call
object-specific code, which calls manipulation code such as grasp, pick, place, push, and pour,
which in turn calls perception and motion code. Task code specifies what to do: the order of
subgoals, task-specific decisions, and recovery conditions. The lower layers determine how. For
example, a single transfer call expands into grasp-candidate generation, inverse-kinematics
and collision filtering, a pre-grasp re-measurement, approach, closure, a short lift with a hold
check, carry, placement, release, and a final verification, each of which returns an outcome with
measured evidence. As a result, 83% of the lines are shared across tasks (§4.3.3).
  A new task extends the library in one of three ways (Code Example 2). It can compose existing
modules, such as transfer. It can inherit an existing task and override a single decision: a task
that sorts objects into the baskets named in its instruction reuses the entire flow of an existing
sorting task and replaces only the rule that assigns objects to baskets. Or it can add a default-off
parameter to a shared function: lift_dir allows a grasped object to be lifted diagonally, which
one task requires near a basket wall, while the default preserves the existing vertical lift.
   Default-off parameters provide a compatibility guarantee. Let 𝐵𝑖 ( 𝜃, 𝑜) be the execution trace
of task 𝑖 under code 𝜃 and observations 𝑜. For every task 𝑖 that does not pass the new argument,
an extension 𝛿 must satisfy

                                 𝐵𝑖 ( 𝜃 + 𝛿, 𝑜) = 𝐵𝑖 ( 𝜃, 𝑜)   ∀ 𝑜 ∈ Otest ,                             (3)

where Otest denotes the fixtures exercised by the unit tests. Existing tasks therefore retain their

                                                       8
PAGE 09 / 31 개선 루프·실험 설정

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 9쪽: 개선 루프·실험 설정
이 페이지의 추출 텍스트
behaviour by construction, and only the adopting task changes.


3.4. Improving the code by backtracking failures to the state

  Because the code records its state at every step of an episode, coding agents can improve
the code offline from these records. Improvement proceeds in rounds and is carried out by
Claude Opus 5.5 coding agents, which wrote all code in the library and in every task, ran the
tests and evaluations, and debugged their own code autonomously. Let 𝜃𝑘 be the accepted code
after round 𝑘. Each agent works in its own git worktree, inspects the recorded state of failed
development runs to locate the variable or rule at fault, and proposes a diff Δ. The resulting
branches form a search frontier of runnable code:

                                   C𝑘 = {𝜃𝑘 + Δ𝑘,1 , . . . , 𝜃𝑘 + Δ𝑘,𝑚 }.                           (4)

Because each branch is complete, runnable code, branches can be evaluated concurrently under
identical conditions. Before simulation, each branch passes two CPU checks: the task code is
executed against a numeric scene to confirm that every stage reaches its target state, and the
robot and object meshes are checked for inverse-kinematics solutions and collisions at every
waypoint. Branches that pass are evaluated on the validation episodes (§4.1) in parallel.
   Debugging and selection use separate data. Agents debug on a development set they define
themselves, where they watch videos and compare the measured state against simulator ground
truth; selection compares success counts on the validation split. Let 𝐽𝑞 ( 𝜃; 𝑉𝑞 ) be the success count
of task 𝑞 on these layouts and 𝜖𝑞 a margin above rerun noise. A branch is accepted if

                                  𝐽𝑞 ( 𝜃𝑘 + Δ; 𝑉𝑞 ) ≥ 𝐽𝑞 ( 𝜃𝑘 ; 𝑉𝑞 ) + 𝜖𝑞 ,                         (5)

in which case it becomes 𝜃𝑘+1 and the base of all subsequent branches. Otherwise, the current
code remains deployed and the diff is not merged. The compatibility condition (Equation 3)
protects the tasks that a diff does not target, and the acceptance rule (Equation 5) ensures that the
targeted task improves, so each accepted step is non-decreasing and improvements accumulate.


4. Experiments
  This section answers three questions: (1) How well does Code-Only-as-Policy (COAP) perform
on a hard benchmark (§4.1–§4.2)? (2) What does COAP offer that a VLA or an Agent Harness
lacks (§4.3)? (3) Why does COAP suit RSI (§4.4)?


4.1. Setup

Benchmark and protocol. RoboDojo [7] contains 42 bimanual tasks that span five dimensions:
Memory, Precision, Open instruction following, Generalization, and Long-Horizon manipula-
tion. Each task is evaluated with three seeds of 50 layouts each. In the Generalization tasks, half
of the layouts are randomized, with new object instances, a new room and table appearance,
and up to 20 distractors. All reported numbers are produced by the official evaluation client,
judges, and summary script.

Inputs. The policy receives only three RGB camera streams, proprioception (joint angles, end-
effector poses, and the echo of the gripper command), and the language instruction. COAP uses
no depth, no segmentation, and no model service at test time, and runs efficiently and cheaply.


                                                     9
PAGE 10 / 31 전체 비교 결과·Table 2

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 10쪽: 전체 비교 결과·Table 2
이 페이지의 추출 텍스트
Table 2. Results on RoboDojo. SR is the success rate (%), the share of episodes in which the whole task
succeeds; every column except Score reports SR. Score is the benchmark’s progress score.

Method                           Memory   Precision   Open    Generalization   Long-Horizon      Overall
                                   (6)       (8)       (8)         (12)            (8)         SR      Score

Agent Harness
PhysicalRSI [15] (agent + VLA)    46.6      32.5       24.9        15.6            37.3       31.38    36.27
GPT-6 Astra [56]                  38.7       4.0       31.0        30.5            8.2        22.48    28.97

World Action Model (WAM)
Awomo-0.5 [3]                     41.2      33.5       22.9        23.8            26.8       29.64    35.34
VPP2-Preview [37]                 50.3      25.6       5.4         24.6            22.2       25.62    31.40
Liber-0 Preview [23]              37.3      33.2       5.3         18.6            33.2       25.52    30.74
Liber-0 Lite [22]                 35.4      31.1       2.6         19.1            32.9       24.23    29.24
InternW0-Δ [29]                   34.0      23.2       10.2        22.8            29.3       23.91    30.77
ME-Brain-1.0 [14]                 22.8      15.9       5.3         15.3            20.6       15.99    21.67
OpenWAM-𝛼 [47]                    9.1        9.2       1.1         14.8            25.3       11.92    17.18

VLA Model
Simate-beta [40]                  33.0      26.9       8.5         27.9            43.4       27.96    33.95
Rex-M1 Preview [13]               48.2      23.8       6.1         26.1            33.0       27.44    33.79
DM0.5 [10]                        47.4      16.8       2.1         10.9            19.5       19.34    24.90
GalaxeaVLA (G0.5) [25]             7.3      20.4       1.6         12.8            32.2       14.88    20.23
Xiaomi-Robotics-1 [49]             6.6      18.8       3.6         17.0            23.7       13.93    20.07
Meituan-Robotics-0 [28]            8.9       7.8       4.2          8.2            18.6        9.53    14.95
SimpleMemVLA [54]                 33.2       2.9       0.8          3.9             5.5        9.27    12.58
Hy-Embodied-0.5-VLA [57]          12.1       8.0       0.6          8.4            14.9        8.80    13.07
KinRT [52]                         3.6       9.9       3.8         8.6             18.1        8.80    13.02
Spatial Forcing [20]               4.1      10.6       1.6         9.3             14.6        8.04    12.38
VLAct [51]                         0.6      15.2       2.2         6.3             13.7        7.58    10.65
StarVLA-PI_v3 [42]                 4.0      12.5       2.0         8.1             11.0        7.51    10.81
InternVLA-A1.5 [27]                3.6      10.2       1.4          6.8            13.8        7.14    11.15
𝜋0.5 [36]                          4.7       5.5       1.7          8.2            14.7       6.93     11.44

Code-Only-as-Policy (COAP)
COAP (ours)                        89.9     75.1       64.1        65.7           56.4         70.24   75.45
vs. best                          +39.6    +41.6      +33.1       +35.2           +13.0       +38.86   +39.18



Baselines. We compare with the official RoboDojo leaderboard [7]. Table 2 lists its 23
entries at or above 𝜋0.5 , grouped into three categories. Agent Harness methods include
PhysicalRSI [15] and GPT-6 Astra [56]. World Action Models (WAMs) include Awomo-0.5 [3],
VPP2-Preview [37], Liber-0 Preview [23], Liber-0 Lite [22], InternW0-Δ [29], ME-Brain-1.0 [14],
and OpenWAM-𝛼 [47]. VLA models include Simate-beta [40], Rex-M1 Preview [13], DM0.5 [10],
GalaxeaVLA (G0.5) [25], Xiaomi-Robotics-1 [49], Meituan-Robotics-0 [28], SimpleMemVLA [54],
Hy-Embodied-0.5-VLA [57], KinRT [52], Spatial Forcing [20], VLAct [51] and StarVLA-
PI_v3 [42], InternVLA-A1.5 [27], and 𝜋0.5 [36].


4.2. Main results

  Table 2 compares Code-Only-as-Policy (COAP) with the leaderboard. COAP achieves a
success rate of 70.24%, 38.9 percentage points above the current state-of-the-art method (31.38%),
and more than 40 points above the strongest World Action Model (29.64%), and the strongest
VLA (27.96%). COAP also has the highest success rate in each of the five dimensions. The
margins are largest on Memory (89.9%, 39.6 points above the best baseline) and Precision (75.1%,
41.6 points), the two dimensions in which the next action depends on a stored value or a
precise measurement. COAP reaches 65.7% on Generalization (77.3% on standard and 54.1% on

                                                      10
PAGE 11 / 31 명시적 상태·Figures 4–5

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 11쪽: 명시적 상태·Figures 4–5
이 페이지의 추출 텍스트
randomized layouts) and 64.1% on Open. Its margin is smallest on Long-Horizon tasks.

4.3. Advantages of Code-Only-as-Policy

  We compare Code-Only-as-Policy (COAP) with a VLA and an Agent Harness on three
advantages, summarized in Figure 4: Explicit State (§4.3.1), Execution (§4.3.2), and Extensibility
(§4.3.3). For each baseline, we use the strongest leaderboard entry of its category (Table 2). Where
the benchmark provides no measurement, we use numbers reported in prior work [4, 19, 36, 61].

                                 A     Explicit State                        B    Execution                                C   Extensibility
                             the state is a set of variables               code controls state and decisions           a shared library

                                       Inspectable                                Controllable                                 Reusable
                                       white box                                  controls the state and variables             reuse, inherit, extend

                                       Persistent                                 Recoverable                                  Fast to evolve
                                       remembers states and values                backtracks and re-attempts                   easy to extend to new tasks

                                       Accurate                                   Efficient                                    Cumulative
                                       uses measured sizes and poses              cheap and easy execution                     capabilities can be added



Figure 4. Three advantages of COAP, each with three properties.


4.3.1. Explicit State

  Finding 1. Code-Only-as-Policy stores the robot, environment, and task state as explicit variables
  and computes actions from them. In comparison, an Agent Harness keeps the state in text memory
  and its model context, and a VLA keeps it implicitly in its weights.

A1 Inspectable. Code-Only-as-Policy is a white box. What the program perceives about the
robot and the environment becomes explicit state in code: variables, data structures, and the


   A1 Inspectable                                                    A2 Persistent                                                A3 Accurate

  (a) five categories of state, as variables                       (a) previous states are remembered (schematic)                 (a) same program; measured or oracle state

                   rules: the program                                                                                                                                     63%
                                                                                                                                   RGB input
                                     compute
            read                     an action             check
                                                                                                                                   oracle state                               83%


        robot                object            environment           seen: measured     covered by a cup    needed again          (b) closing the gap to the oracle (schematic)
     joints, gripper    pose, size, class        table, conveyor     COAP: stored in variables of the program                                                            oracle state
                                                                                                                                     success




                                                                                                                                                                          RGB input
                                                                     Agent Harness: in the model context or text memory                        gap

                  relation                task                                                                                                               each fixed measurement
               held, on top of        stage, attempts                VLA: only its recent frames                                                                      narrows the gap

         each record: source, error, time, still valid?                                                                                        measurements fixed, one by one
  (b) where each kind of policy keeps its state                    (b) success on Memory tasks                                    (c) success on Precision tasks
  COAP: white box
    state: variables             rules: code             action       COAP                                          90%           COAP                                     75%
  Agent Harness: text memory + black boxes
   text memory           Agent              VLA          action       Agent Harness                       47%                     Agent Harness                  33%
  VLA: black box
            network (state inside)                       action       VLA                           33%                           VLA                           27%



Figure 5. Explicit State. COAP keeps five categories of state as variables (left), remembers states and
values (middle), and succeeds more often with more accurate measurements (right).


                                                                                             11
PAGE 12 / 31 상태 정확성·실행·Figure 6

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 12쪽: 상태 정확성·실행·Figure 6
이 페이지의 추출 텍스트
parameters of functions. As shown in Figure 5 (left), the state has five categories: robot, object,
environment, relation, and task. The coding agent can therefore write the decisions in advance
as code over these values, so no agent is needed during online execution. In comparison, in a
VLA, both the state and the reasoning are implicit in the weights. An Agent Harness keeps the
task memory, but its decisions still come from model inference: an agent or a VLA still does the
reasoning, so some states stay hidden in this model-in-the-loop system, which cannot be fully
inspected (even the same memory can lead to different actions at different calls).

A2 Persistent. COAP stores each measured value in a variable of the program, and the value
persists throughout the execution. For example, when a static object is covered, its position and
pose are still tracked in code, as shown in Figure 5 (middle). Decisions that depend on memory,
such as following a specific order, are also written explicitly in code. In comparison, a VLA sees
only its recent frames, and an Agent Harness keeps what it has seen only in its model context
or text memory. Memory-related tasks can therefore be solved easily by code, since the state
is tracked and stored persistently in the program: on the Memory tasks of RoboDojo, COAP
reaches 90%, against 47% for the Agent Harness and 33% for the VLA.

A3 Accurate. COAP acts on measured quantities, because the measurements can be estimated
offline without accessing the simulator’s oracle values. The cameras, the robot’s 3D meshes,
and the sizes and appearance of the objects are estimated before deployment, so at test time
the program only locates each object, its position, size, and pose, and sets the grasp width and
the clearance from them. During development, the oracle values help improve the perception
functions, so the success rate on measured state can approach that on oracle values: as shown
in Figure 5 (right), the same program succeeds in 63% of episodes on measured state and in
83% on oracle state, and each measurement that is fixed narrows this gap. In comparison, a
VLA and an Agent Harness act mainly on image pixels and never make measurements explicit.
COAP therefore has a higher upper bound on tasks that need precision: on the Precision tasks
of RoboDojo, it reaches 75%, against 33% for the Agent Harness and 27% for the VLA.


 B2 Recoverable                                                                                                 B3 Efficient
why longer tasks need it                               when something goes wrong                                compute spent deciding in one episode
100%                                                    noticed by the program itself 76%

                   backtrack,                                34%                  42%           22%
                   then a new method                                                                                                                 Agent Harness
                                                                                                                                              1016
                                                                                                                compute per episode (FLOPs)




  75                                                         34%    reattempted with a new method
                                                             42%    reported, then stopped
                                                              1%    hit the step limit                                                                         0.03%
                                                             22%    not reported (believed done)
  50                                                                                                                                                 VLA
                                                       after a failed check (schematic)                                                       1014                         0.8%
                                         1.7×                                                       
                                                                                                        grasp
                                                         look              approach                   fails
  25
                                                           back to the last checked state
                               no check: one failed                                                                                           1012
                                 step ends the task                                                                                                           COAP: one CPU core,
                                                                                                                                                                    no model call
    0                                                                                                   grasp
        1          10              20             30     look again        new angle                  holds                                         100        300        1,000
              steps in the task that can fail                                                                                                               actions per episode


Figure 6. Execution. Backtracking keeps failures from compounding over long tasks (left, middle), and
code runs on a CPU with a small fraction of a model’s compute (right; COAP’s compute as a share of
each model’s, from reported model sizes).




                                                                              12
PAGE 13 / 31 실행·확장성·Figure 7

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 13쪽: 실행·확장성·Figure 7
이 페이지의 추출 텍스트
4.3.2. Execution

 Finding 2. Code-Only-as-Policy controls the state and the decision making. Because the state is
 tracked, failures can be recovered by backtracking and re-attempting through the robust code design.
 Online execution is efficient and cheap since it is model-free.

B1 Controllable. COAP has no model in the online execution, so code controls the state, its
variables, and the decision making. For example, when a bowl held by its rim slipped during
fast carries, one line of code limited the carry speed of rim grasps, and the bowl no longer
dropped. In comparison, a VLA, or a model in the loop of an Agent Harness, is a black box:
some of its uncertainty and errors cannot be fully controlled and accumulate over the execution.
More training trajectories for a VLA, or more text memory for an Agent Harness, still leave its
decisions uncertain.

B2 Recoverable. Because the state is tracked and controlled, the program knows where the
task stands after each step, so it can backtrack and re-attempt. As shown in Figure 6 (middle,
bottom), when an initial grasp fails, the program backtracks, measures the object again, and
re-attempts with a new grasp method, such as a new grasp angle. In episodes where something
went wrong, the program noticed the problem itself in 76% and re-attempted with a new method
in 34% (Figure 6, middle). Recovery matters more as tasks grow longer, since without it one
failed step ends the task (Figure 6, left). In comparison, a VLA has no tracked state to return to.

B3 Efficient. COAP uses a model only offline, when the coding agent writes the code, and the
code is shared by every episode of a task. A control step takes a median of 0.3 ms on a CPU,
and an episode uses 0.8–2.4% of the compute of a VLA and less than 0.1% of that of an Agent
Harness (Figure 6, right). In comparison, an Agent Harness, especially GPT-as-policy, is much
slower and more expensive, and it reasons anew in every episode instead of sharing its decisions
across the episodes of a task.

4.3.3. Extensibility

  Finding 3. Code-Only-as-Policy builds every new task on a shared library by reusing, inheriting, or
  extending its code. Each new task is therefore fast to develop, and capabilities accumulate without
  harming the performance on old tasks.

C1 Reusable. A new task reuses, inherits, or extends the shared library, so its own code holds
only task-specific logic, such as a check or a picking order. As shown in Figure 7 (left), 83%
of the code that new tasks run comes from the library. The library can be shared because its
functions are abstracted step by step at a sensible level (Figure 8). For example, grasping is not
written for each object but by grasp method, such as from the top, by the rim, or by the handle,
so a new object can use an existing method. In comparison, a VLA needs fine-tuning for new
tasks. The memory of an Agent Harness is task-specific and cannot be shared, and its execution
is specific to each episode, so it cannot be shared either.

C2 Fast to evolve.    Since the library is shared, a new task can reuse, inherit, or extend the
existing library, so COAP evolves easily to new tasks. Figure 7 (middle) shows development
on new tasks from scratch, on tasks that had no program when the library was frozen. COAP
reached an average success of 47% within 15 hours, without data or training. Its curve rises
steeply, because the library becomes more robust as it grows, and every task benefits from it.
The baseline lines are schematic. A VLA needs new demonstrations and retraining; OpenVLA,

                                                  13
PAGE 14 / 31 코드 구조·Figure 8

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 14쪽: 코드 구조·Figure 8
이 페이지의 추출 텍스트
  C1 Reusable                                                            C2 Fast to evolve                                                                    C3 Cumulative                                 schematic


                                                                                             60%
                                                                                                                measured                                                             COAP
                                                                                                                schematic              COAP 47%                                      accumulated, shared library




                                                                          success on new tasks
                                                                                                                                       no demos,                                     Agent Harness
                                 new task code 17%                                                40
                                                                                                                                       no training                                   task-specific memory,




                                                                                                                                                                tasks it can do
                                 families                   1%                                                                                                                      not shared
      83%                        manipulation             35%                                     20
                                                                                                                                        Agent Harness
                                                                                                                                          task-specific                              VLA
       from the                                                                                                                               memory                                 weights not
        library                                                                                                                                                                      cumulative
                                 perception               17%

                                 motion                   30%                                      0
                                                                                                                       VLA       demos, fine-tuning
                                                                                                        0                 15                30 h
                                                                                                            hours since the first evaluation                                              tasks added over time


Figure 7. Extensibility. New tasks run mostly library code (left), are developed from scratch within hours
without data or training (middle; baseline lines are schematic), and add to what the policy can do (right,
schematic).

       (a) Layers of the library                                         (b) Grasping, inside manipulation                                           (c) One task program

                                           used by (share of 40 tasks)
                                                                                             written by grasp method, not by object                                                         cover_blocks.py
              task programs
             order and parameters
                                               2.5%                                                                                                       1    def run(ctx):
                                                                                                                                                          2        cubes = measure_cubes(ctx)

              object families                                                                                                                             3        cups = measure_cups(ctx)
             what it is, how to hold it
                                               18%
                                                                                                                                                          4        slots = pair_cups(cubes, cups)
                                                                                                  top                side                 rim
                                                                                                                                                          5        memory = {s.colour: s.index
              manipulation
             grasp, pick, carry, place
                                                           78%                                                                                            6                             for s in slots}
                                                                                                                                                          7        for op, s in order(slots):

              perception                                                                                                                                  8                  if exceeds_budget(ctx):
             look, measure, confirm
                                                               100%
                                                                                          handle                     edge              cloth pinch
                                                                                                                                                          9                       return stop('budget')
                                                                                                                                                          10                 grasp(ctx, s.cup)
              motion
             IK, planning, collision
                                                               100%
                                                                                                            one executor for all six
                                                                                                                                                          11                 move(ctx, s.cup, s.goal(op))
                                                                                                                                                          12                 look(ctx, s.cube)
                                                                                                                                                          13       home(ctx)
                                                                                                 plan       approach        close         check
             state
                                                                                                                                                       Python



Figure 8. Code structure. (a) The layers of the library. (b) Functions are abstracted at a sensible level:
grasping is written by grasp method, not by object. (c) A simplified task program; each call is colored by
its layer.


for example, reports 5–15 hours of fine-tuning per task on 8 A100 GPUs [19]. On the same tasks,
the strongest VLA reaches 4.7% after training on demonstrations. An Agent Harness improves
roughly linearly and much more slowly: most of its memory is task-specific, and only a small
part, such as general insights, carries over between tasks.

C3 Cumulative.          The library is designed to be refactorable: a new task adds functions that
inherit from existing ones, or options that are off by default, instead of changing the logic of
earlier tasks. Earlier tasks therefore keep running unchanged code, and capabilities can be added
without making old tasks worse. As the code becomes more robust, each new task becomes
simpler to add, so the capabilities of COAP grow exponentially (Figure 7, right; schematic). In
comparison, an Agent Harness builds task-specific memory by running each task and reuses
little of it, so its capabilities grow linearly. A VLA must be retrained for new tasks, and the effect
on old tasks cannot be controlled: after sequential fine-tuning of 𝜋0.5 on five real-world tasks, its
average score drops from 86.9 to 31.4 [61].



                                                                                                              14
PAGE 15 / 31 RSI·Figures 9–10

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 15쪽: RSI·Figures 9–10
이 페이지의 추출 텍스트
     Important attributes
                                                  VLA                                       Agent Harness                       </>   COAP (ours)
     for RSI

     Visible failures                             state and decisions are                   decisions come from a VLM or              variables and decisions
                                              ✗                                       ◐                                         ✓
     from Explicit State                          implicit in the weights                   a VLA: not fully controlled               are explicit in code


     Controlled changes                           retraining changes                        task memory can be added, but             each outcome is explicit state
                                              ✗                                       ◐                                         ✓
     from Execution                               the whole policy                          decisions are model inference             in code: retry or backtrack


     Accumulated improvements                     weights are shared, but new               much memory is task-specific;             shared library: reused,
                                              ◐                                       ◐                                         ✓
     from Extensibility                           training overwrites old tasks             inference is episode-specific             inherited, and extended


     Fast evolving                                each change may need new                  calls a large model at run                training-free; fast
                                              ✗                                       ✗                                         ✓
     from Execution, Extensibility                data and fine-tuning                      time: slow and expensive                  online execution



Figure 9. Why Code-Only-as-Policy is a suitable medium for RSI. Each row is an attribute important
for RSI, which comes from an advantage in Section 4.3 (check: yes; half circle: partly; cross: no).

(a) BFS: the branches of a decision run in parallel, and the best code logic is chosen
decision 1: how to grasp                                                                      current code θ                                                          round 1
8 branches, run at once                                                                       a mug measured on the table                                              ≈ 1.7 h

                                                        chosen




  rim, leaned              rim, far side      rim, upright     rim, by handle              rim, shallow           handle                   side                      top
 45°, deep grip               upright      opposite the handle     upright                tips at the rim      around the bar         around the body          across the body
             3 rounds,                                                      decision 2: carry                                    chosen: the next decision
≈5h          branches at once                                                                                                    branches from it
                                                                            4 branches · round 2
             15 evaluations,                                           decision 3: hang it                                       not chosen: stays on its
≈ 26 h       one after another                                         3 branches · round 3                                      branch, can be revisited

(b) One change rarely helps                                (c) More branches, better changes                                     (d) More branches, faster
36 branches, each against its parent                       a round runs k of the 36 and keeps the best                           hours until an accepted change
                                                            chance of acceptance              expected gain (points)
      36%          11%            36%         17%          100%                                                                                             GPU time 18 h
                                                                              77%             +15              +12.4                20 h
                                                                                              +10                                               10 h
                                                               50                                                                     10
                    no                      accepted                                           +5                                                           wall-clock 2.3 h
     lowered                      small                                17%
                  change           gain                                                                 +2.5
                                                                0                                0                                     0
                                                                     1 2    4         8               1 2    4         8                    1    2      4                   8
 accepted: beats its parent by ≥ 4 of 30 episodes
                                                                    branches per round, k            branches per round, k                       branches per round, k


Figure 10. Parallel branching over the variants of one decision. (a) Development as a BFS: eight grasps
of a mug run at once, and the best code logic is chosen (decisions 2 and 3 are schematic). (b) Of 36
branches, each measured against its parent, few help. (c) With more branches, an accepted change is
more likely and larger. (d) With more branches, an accepted change comes sooner in wall-clock time, for
more GPU time.


4.4. Why Code-Only-as-Policy Suits RSI

  Finding 4. Code-Only-as-Policy suits RSI because of its three advantages: Explicit State, Execution,
  and Extensibility. Because execution is controllable, development is also efficient. The variants of a
  decision can be developed in parallel, like a Breadth-First Search (BFS).

What are important attributes for RSI? Figure 9 lists four attributes that we think are important
for RSI, and COAP is a better interface for all four. RSI repeats one loop: find a failure, change
the policy, and keep the change if it helps.

Efficient: fast evolving through parallel branching. Development can be organized as a BFS


                                                                                   15
PAGE 16 / 31 병렬 분기·오류 분석

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 16쪽: 병렬 분기·오류 분석
이 페이지의 추출 텍스트
over decisions. Each node is a decision, such as how to grasp a mug, and its branches are
different ways to make it, such as grasping the mug by its rim, its handle, or its body. Because
every variant is a complete program that needs no training, the branches are developed in
parallel on the same layouts, and the best code logic is chosen before the search moves on to the
next decision (Figure 10). In comparison, each branch of a VLA would be a training run, and an
Agent Harness calls a large model in every rollout.
   As shown in Figure 10, a single change rarely helps, but with more branches, a better change
is found more often, its gain is larger, and it comes sooner in wall-clock time, at the cost of more
GPU time. Our development records show the same trend: decisions tried with two or more
variants found an accepted change in four of five cases.


5. Discussion
  This section discusses what the state of Code-Only-as-Policy (COAP) should contain (§5.1),
where COAP still fails (§5.2), what sets its upper bound (§5.3), its limitations (§5.4), and how it
can serve as a data engine (§5.5).


5.1. What Should the State Contain?

   The state is the tape of the Turing machine (§3), and its five categories are shown in Figure 5
(left). The robot state describes the robot itself: its joint angles, hand poses, gripper openings,
and what each hand holds. The environment state describes the position, size, and class of each
object, the table, and the objects’ spatial relations, such as which object stands on which. The
task state records the task progress, such as the objects picked so far and the current subgoal.
All values are in physical units and are stored in the program.


5.2. Error Analysis of COAP

 Finding 5. COAP still fails in some episodes. The current coding ability has limits, and the offline
 RSI loop needs further optimization so that coding agents write better code. The failures fall into two
 groups: limits of state measurement and limits of the code logic.

 We assigned failed episodes of the runs in Table 2 to the class of the smallest change that
would have prevented them. Figure 11 shows the share of each class and one example of each.

Perception error. The input is RGB only, and recognition is not always accurate, so a wrong
value can enter the state. In Figure 11a, a dartboard in a randomized scene is recognized as the
headset. Such errors may be more severe in real scenes, but better estimation and tools can help.

Contact error.    In principle, the more clearly the state is represented, the higher the upper
bound of the code. For contact, especially with deformable objects, the current representation
of the state is coarse and unclear, so the program cannot always tell how an object is held.
Such contact is inherently hard to represent, but it is still a limit of the state representation. In
Figure 11b, the jaws close on a shirt’s hem, and the soft cloth slips out.

Incomplete logic. The code logic is not robust enough, for example because a retry is missing.
In Figure 11c, the push function stops after one push, although its own check finds a cube still
turned. Within the limited development time, the code was not made fully robust.


                                                   16
PAGE 17 / 31 한계·Figure 11

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 17쪽: 한계·Figure 11
이 페이지의 추출 텍스트
Poor code design. A function works in the cases it was written for but does not generalize, for
example because of a hard-coded value, such as moving down by one centimetre. In Figure 11d,
a fixed size threshold filters out a small watch. The fix is to derive the value from the state.


5.3. The Upper Bound of COAP

   Finding 6. The upper bound of COAP is set by two factors: how accurately and comprehensively
   the program represents the state, and how robust the code logic is, for example whether it is aware of
   failures and retries.

State representation. Perception and contact errors, 62% of failures, are limits of state measure-
ment (Figure 11, left). Perception errors arise because the input is RGB only, so some estimates
are inaccurate. Contact errors arise because the physical state is hard to represent: for deformable
or otherwise complex objects, part of the contact is not represented well. The more accurately
the state is represented, the higher the upper bound of COAP.

Robust code logic. Incomplete logic and poor code design, 37% of failures, are limits of the
logic (Figure 11, right). More robust code removes them: functions that notice their own failures,
retry with another method, and derive values from the state.


5.4. Limitations

Simulation only. All results are currently in simulation. COAP’s perception relies on the public
configuration and assets of the simulated benchmark, such as the camera parameters, the robot
meshes, and the object sizes, which is a major limitation. On a real robot, these would have to be
measured, and contact-related parameters, such as grip widths and carry speeds, tuned again.

Offline development.      Online execution is fast, but offline development takes time: each
iteration of the code needs evaluation and revision. Unlike a model such as GPT, which can be
used directly as a policy, COAP has a development cost for every new task.

                      limits of state measurement: 62% of failures                                            limits of the code logic: 37% of failures

Perception error                       35%   Contact error                   27%           Incomplete logic                 29%     Poor code design                      8%

                             headset
          dartboard




                                                                                                     three cubes to align                    filtered out as too small
 start                                        wrist, step 245     pinching the hem          start                                    start



         pinched as the headset



                                                                                                         still turned

                                                                  closed, but empty                                                               never sorted
 step 530                                     wrist, step 262                               end                                      end

store_laptop_and_headphones                  fold_clothes                                  align_blocks                             classify_objects_by_language
Randomized scene: the dartboard was          The jaws closed on the shirt's hem,           The push stopped after one try, though   A size threshold fixed for the task
recognized as the headset.                   but the soft cloth slipped out.               its check found a cube still turned.     filtered out the small watch.
Fix: better estimation and tools.            Fix: grasp the hem again.                     Fix: push until the check passes.        Fix: derive it from the scene.


Figure 11. Four classes of error. Each column gives the share of failures in one class, two frames of one
failed episode from the official video, and the fix.


                                                                                      17
PAGE 18 / 31 일반화·데이터 엔진·결론

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 18쪽: 일반화·데이터 엔진·결론
이 페이지의 추출 텍스트
Generalization. Code may have limited generalization capabilities. In principle, the upper
bound of code is high, and it rises as the state is represented more clearly (§5.3), but COAP
currently succeeds only in 70.24% of episodes. Part of the gap comes from incomplete logic
and poor code design (§5.2), such as a hard-coded value that works only in the cases it was
written for. In addition, the programs were developed on validation layouts and never on the
test layouts, so lower success on layouts the code has not seen is to be expected, especially on
the randomized layouts of the Generalization tasks, with new objects, rooms, and distractors
(54.1%, against 77.3% on their standard layouts). Still, the code does not depend on the scene:
each program is task-level code, the library is shared across tasks, and on standard layouts,
success on test layouts (74.9%) stays close to that on validation layouts (76.7%). Although code
has such limits, in scenes where the state is clear, it runs stably and can produce data reliably
(§5.5).


5.5. COAP as an efficient Data Engine for VLAs, Agent-as-Policy and Harness VLA

  Finding 8. COAP produces successful trajectories quickly and reproducibly, so it can serve as a data
  engine for VLAs, Agent-as-Policy, and Harness VLA.

  Once a task program works, it runs on a CPU without a model and can be executed on many
layouts in parallel, so successful trajectories can be obtained very quickly. Each trajectory comes
with the program’s explicit state and the decision behind every action, because the policy is
a white box. These trajectories can train a VLA, and the recorded states and decisions can
supervise the model inside an Agent Harness. COAP can therefore benefit the development of
VLAs and Agent Harnesses.

A new direction. Code-Only-as-Policy differs in many ways from VLAs, World Action Models,
and Agent Harnesses (Agent-as-Policy and Harness VLA, which keep a model in the control
loop): its state is explicit, no model runs during execution, and the policy is improved by coding
agents rather than by training on data. Since its approach differs in so many ways, we view it as
a new direction. If the embodied world is a Turing machine, code can be a universal interface to
the physical world (§1). Our analysis suggests that this direction has advantages (§4.3–§4.4),
and we hope that our exploration can benefit VLAs, Agent-as-Policy, Harness VLA, and RSI.


6. Conclusion
  We propose that the embodied world, a robot together with its environment, is in essence an
Embodied Turing Machine: the world state is its tape, and the robot policy is its rules. On this
basis, we introduce Code-Only-as-Policy (COAP), whose approach differs from those of existing
directions, such as VLAs, World Action Models, and Agent-as-Policy: the state is explicit, the
rules are code, and coding agents improve the code. On RoboDojo, COAP succeeds in 70.24% of
episodes, 38.9% above the state-of-the-art method, and leads all five dimensions. Compared
with a VLA and an Agent Harness, COAP has three advantages (§4.3): Explicit State, Execution,
and Extensibility. Because the policy is a white box, it suits RSI, and its development is efficient
(§4.4). Code still has an upper bound, set by the state representation and the code logic (§5.2–
§5.3), but as coding agents become stronger, this upper bound will rise. We also believe that
COAP can serve as an efficient data engine for VLAs, Agent-as-Policy, and Harness VLA (§5.5).




                                                  18
PAGE 19 / 31 참고문헌 1/4

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 19쪽: 참고문헌 1/4
이 페이지의 추출 텍스트
 References
[1] Michael Ahn, Anthony Brohan, Noah Brown, Yevgen Chebotar, Omar Cortes, Byron David, Chelsea Finn, Chuyuan
    Fu, et al. Do as I can, not as I say: Grounding language in robotic affordances. In Conference on Robot Learning
    (CoRL), 2022.

[2] Anthropic. Code execution with MCP: Building more efficient agents. Anthropic Engineering Blog, https:
    //www.anthropic.com/engineering/code-execution-with-mcp, 2025.
[3] Awomo-WAM Team. Awomo-0.5: World action model pre-trained at scale. Code repository, https://github.c
    om/Awomo-WestlakeDI/Awomo-0.5, 2026.
[4] Kevin Black, Noah Brown, Danny Driess, Adnan Esmail, Michael Equi, Chelsea Finn, Niccolo Fusai, Lachy Groom,
    et al. 𝜋0 : A vision-language-action flow model for general robot control. In Robotics: Science and Systems (RSS),
    2025.

[5] Anthony Brohan, Noah Brown, Justice Carbajal, Yevgen Chebotar, Xi Chen, Krzysztof Choromanski, Tianli Ding,
    Danny Driess, et al. RT-2: Vision-language-action models transfer web knowledge to robotic control. In Conference
    on Robot Learning (CoRL), 2023.

[6] Nicolas Carion, Laura Gustafson, Yuan-Ting Hu, Shoubhik Debnath, Ronghang Hu, Didac Suris, Chaitanya Ryali,
    Kalyan Vasudev Alwala, et al. SAM 3: Segment anything with concepts. In International Conference on Learning
    Representations (ICLR), 2026.

[7] Tianxing Chen, Yue Chen, Zixuan Li, Junyuan Tang, Kailun Su, Haoran Lu, Weijie Wan, Baijun Chen, Songling
    Liu, Haowen Yan, et al. RoboDojo: A unified sim-and-real benchmark for comprehensive evaluation of generalist
    robot manipulation policies. arXiv preprint arXiv:2607.04434, 2026.

[8] Tianxing Chen, Zanxin Chen, Baijun Chen, Zijian Cai, Yibin Liu, Zixuan Li, Qiwei Liang, Xianliang Lin, et al.
    RoboTwin 2.0: A scalable data generator and benchmark with strong domain randomization for robust bimanual
    robotic manipulation. In International Conference on Machine Learning (ICML), 2026.

[9] Yanzhe Chen, Zechen Bai, Zhijun Cao, Wenzheng Zeng, Kevin Qinghong Lin, Yiqi Lin, Guoqiang Liang,
    Kevin Yuchen Ma, et al. Show-Harness: Just a VLM agent can play robots. arXiv preprint arXiv:2609.10522,
    2026.

[10] Dexmal. DM0.5: Designed for the open world, where generalization emerges. Blog post, https://www.dexmal
    .com/blog/dm0.5/index_en.html, 2026.
[11] Karim Elmaaroufi, Justin Svegliato, Sarunas Kalade, Graham Schelle, Sanjit A. Seshia, and Matei Zaharia. RHO:
    Your coding agent is secretly a roboticist. arXiv preprint arXiv:2606.16458, 2026.

[12] Letian Fu, Justin Yu, Karim El-Refai, Ethan Kou, Haoru Xue, Huang Huang, Wenli Xiao, et al. CaP-X: A
    framework for benchmarking and improving coding agents for robot manipulation. In International Conference on
    Machine Learning (ICML), 2026.

[13] Futian Lab and VisIncept. Rex-M1 Preview. RoboDojo policy adapter, https://github.com/XPolicyLab/
    XPolicyLab/pull/131, 2026.
[14] Wei He, Hengtao Li, Chenfeng Wang, Zhongrui Yu, Xuhan Zhu, Maokui He, Zide Liu, Xiyue Zhang, et al.
    ME-Brain-1.0: Memory, cognition and action for evolving embodied intelligence. arXiv preprint arXiv:2609.24271,
    2026.

[15] HKU MMLab and Kinetix AI. PhysicalRSI 1.0: Recursive self-harness for scaling embodied skills. Project page,
    https://mmlab.hk/research/PhysicalRSI, 2026.
[16] Wenlong Huang, Fei Xia, Ted Xiao, Harris Chan, Jacky Liang, Pete Florence, Andy Zeng, Jonathan Tompson, et al.
    Inner monologue: Embodied reasoning through planning with language models. In Conference on Robot Learning
    (CoRL), 2022.

[17] Wenlong Huang, Chen Wang, Ruohan Zhang, Yunzhu Li, Jiajun Wu, and Li Fei-Fei. VoxPoser: Composable 3D
    value maps for robotic manipulation with language models. In Conference on Robot Learning (CoRL), 2023.

[18] Dongyoung Kim, Huiwon Jang, Myungkyu Koo, Suhyeok Jang, Taeyoung Kim, Beomjun Kim, Byungjun Yoon,
    Changsung Jang, et al. RLDX-1 technical report. arXiv preprint arXiv:2605.03269, 2026.

[19] Moo Jin Kim, Karl Pertsch, Siddharth Karamcheti, Ted Xiao, Ashwin Balakrishna, Suraj Nair, Rafael Rafailov,
    Ethan Foster, et al. OpenVLA: An open-source vision-language-action model. In Conference on Robot Learning
    (CoRL), 2024.


                                                          19
PAGE 20 / 31 참고문헌 2/4

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 20쪽: 참고문헌 2/4
이 페이지의 추출 텍스트
[20] Fuhao Li, Wenxuan Song, Han Zhao, Jingbo Wang, Pengxiang Ding, Donglin Wang, Long Zeng, and Haoang
    Li. Spatial Forcing: Implicit spatial representation alignment for vision-language-action model. In International
    Conference on Learning Representations (ICLR), 2026.

[21] Jacky Liang, Wenlong Huang, Fei Xia, Peng Xu, Karol Hausman, Brian Ichter, Pete Florence, and Andy Zeng.
    Code as policies: Language model programs for embodied control. In IEEE International Conference on Robotics and
    Automation (ICRA), 2023.

[22] LiberAI. Liber-0 Lite. RoboDojo policy adapter, https://github.com/XPolicyLab/XPolicyLab/tree/ma
    in/policy/liber_0_lite, 2026.
[23] LiberAI. Liber-0 Preview. RoboDojo leaderboard entry, https://robodojo-benchmark.com/LeaderBoard,
    2026.

[24] Bo Liu, Yifeng Zhu, Chongkai Gao, Yihao Feng, Qiang Liu, Yuke Zhu, and Peter Stone. LIBERO: Benchmarking
    knowledge transfer for lifelong robot learning. In Advances in Neural Information Processing Systems (NeurIPS),
    Datasets and Benchmarks Track, 2023.

[25] Yicheng Liu, Zibin Dong, Baijun Ye, Tianyuan Yuan, Tao Jiang, Anqi Yang, Shicheng Cao, Haonan Liu, et al. G0.5:
    One autoregressive stream for robot reasoning and action. arXiv preprint arXiv:2608.11739, 2026.

[26] Runyu Lu, Yubo Wu, Ethan Kou, Letian Fu, Wenli Xiao, Ajay Mandlekar, Yinzhen Xu, Guanya Shi, et al. ASPIRE:
    Agentic /skills discovery for robotics. arXiv preprint arXiv:2607.00272, 2026.

[27] Haoxiang Ma, Junhao Cai, Xiaoxu Xu, Hao Li, Yuyin Yang, Yang Tian, Jiafei Cao, Hongrui Zhu, et al. InternVLA-
    A1.5: Unifying understanding, latent foresight, and action for compositional generalization. arXiv preprint
    arXiv:2607.04988, 2026.

[28] Meituan Robotics. Meituan-Robotics-0. RoboDojo policy adapter, https://github.com/XPolicyLab/XPol
    icyLab/tree/main/policy/Meituan_Robotics_0, 2026.
[29] Xingyu Miao, Zizun Li, Baole Fang, Kaiwen Song, Tenghui Wang, Hanxue Zhang, Yating Wang, Xudong Li, et al.
    InternW0-Δ: A world action model bridging predictive dynamics and actions with 20K+ hours of open data. arXiv
    preprint arXiv:2609.31394, 2026.

[30] Dhia Naouali, Minghan Wu, Claudia Wong, Abhinav Puthran, and Omar G. Younis. VLCP: Vision language
    control policy closed-loop code replanning for robot manipulation. arXiv preprint arXiv:2608.16978, 2026.

[31] Soroush Nasiriany, Sepehr Nasiriany, Abhiram Maddukuri, and Yuke Zhu. RoboCasa365: A large-scale sim-
    ulation framework for training and benchmarking generalist robots. In International Conference on Learning
    Representations (ICLR), 2026.

[32] Noematrix Team. RoboRSI: Stable, efficient, and reusable robot self-evolution in complex real-world environ-
    ments. Blog post, https://lab.noematrix.ai/blog/2-roborsi/, 2026.

[33] OpenAI. Codex CLI. https://github.com/openai/codex, 2025.

[34] OpenAI. GPT-6 Astra: A new generation of intelligence. https://openai.com/index/gpt-6-astra/, 2026.

[35] OpenAI. Pricing. OpenAI API documentation, https://developers.openai.com/api/docs/pricing,
    2026.

[36] Physical Intelligence, Kevin Black, Noah Brown, James Darpinian, Karan Dhabalia, Danny Driess, Adnan Esmail,
    Michael Equi, et al. 𝜋0.5 : a vision-language-action model with open-world generalization. In Conference on Robot
    Learning (CoRL), 2025.

[37] RobotEra. VPP2-Preview. RoboDojo leaderboard entry, https://robodojo-benchmark.com/LeaderBoard,
    2026.

[38] Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Eric Hambro, Luke Zettlemoyer,
    Nicola Cancedda, and Thomas Scialom. Toolformer: Language models can teach themselves to use tools. In
    Advances in Neural Information Processing Systems (NeurIPS), 2023.

[39] Zeyu Shen, Haoxiang You, Yilang Liu, Zhicheng Zheng, Lihan Zha, Kashu Yamazaki, Mingtong Zhang, Suning
    Huang, et al. EmbodiedSWE: Coding agents for long horizon dexterous robotics. arXiv preprint arXiv:2609.27308,
    2026.

[40] Simate. Simate-beta. RoboDojo policy adapter, https://github.com/XPolicyLab/XPolicyLab/tree/ma
    in/policy/Simate_beta, 2026.


                                                         20
PAGE 21 / 31 참고문헌 3/4

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 21쪽: 참고문헌 3/4
이 페이지의 추출 텍스트
[41] Ishika Singh, Valts Blukis, Arsalan Mousavian, Ankit Goyal, Danfei Xu, Jonathan Tremblay, Dieter Fox, Jesse
    Thomason, et al. ProgPrompt: Generating situated robot task plans using large language models. In IEEE
    International Conference on Robotics and Automation (ICRA), 2023.

[42] StarVLA Community. StarVLA: A lego-like codebase for vision-language-action model developing. arXiv
    preprint arXiv:2604.05014, 2026.

[43] Jiayi Su, Yixin Zheng, Mi Yan, Li Yi, Zhizheng Zhang, and He Wang. GPT 6 Astra as an embodied policy.
    Technical report, https://anonymous-report-421.github.io/public-website/, 2026.

[44] Kenton Varda and Sunil Pai. Code Mode: the better way to use MCP. Cloudflare Blog, https://blog.cloud
    flare.com/code-mode/, 2025.
[45] Guanzhi Wang, Yuqi Xie, Yunfan Jiang, Ajay Mandlekar, Chaowei Xiao, Yuke Zhu, Linxi Fan, and Anima
    Anandkumar. Voyager: An open-ended embodied agent with large language models. Transactions on Machine
    Learning Research (TMLR), 2024.

[46] Xingyao Wang, Yangyi Chen, Lifan Yuan, Yizhe Zhang, Yunzhu Li, Hao Peng, and Heng Ji. Executable code
    actions elicit better LLM agents. In International Conference on Machine Learning (ICML), 2024.

[47] Yuran Wang, Siqiao Huang, Mingleyang Li, Chenhao Zhang, Jiaqi Liang, Weiyang Jin, Yue Chen, Xuemin Chi,
    et al. OpenWAM: An open, modular exploration towards systematic world-action model pretraining. arXiv
    preprint arXiv:2609.07398, 2026.

[48] Wei Wu, Fan Lu, Yunnan Wang, Shuai Yang, Shi Liu, Fangjing Wang, Qian Zhu, He Sun, et al. A pragmatic VLA
    foundation model. arXiv preprint arXiv:2601.18692, 2026.

[49] Xiaomi Robotics Team, Jun Guo, Piaopiao Jin, Jason Li, Peiyan Li, Yingyan Li, Futeng Liu, Wanli Peng, et al.
    Xiaomi-Robotics-1: Scaling vision-language-action models with over 100K hours of real-world trajectories. arXiv
    preprint arXiv:2607.15330, 2026.

[50] John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, and Ofir Press.
    SWE-agent: Agent-computer interfaces enable automated software engineering. In Advances in Neural Information
    Processing Systems (NeurIPS), 2024.

[51] Senqiao Yang, Chengyao Wang, Yuxin Chen, Zixuan Wang, Longxiang Tang, Haokun Gui, Jinhui Ye, Changsheng
    Lu, et al. Beyond data scaling: Representation-centric continued pre-training for vision-language-action models.
    arXiv preprint arXiv:2608.27550, 2026.

[52] Tianhang Yang, Yanze Zheng, Junjie Wang, Wei-Bin Kou, Ruotong Li, and Yujiu Yang. Route by kinematics, act
    by observation: Kinematics-Supervised expert routing in MoE-Augmented VLA. arXiv preprint arXiv:2607.26807,
    2026.

[53] Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, and Yuan Cao. ReAct:
    Synergizing reasoning and acting in language models. In International Conference on Learning Representations (ICLR),
    2023.

[54] Cheng Yin, Wang Xu, Junpeng Yang, Sikyuen Tam, Hanyu Liu, Yuan Yao, Xiangrui Zeng, Junbo Cui, et al.
    SimpleMemVLA: A simple but effective native-video memory for vision-language-action models. arXiv preprint
    arXiv:2609.05533, 2026.

[55] Yixian Zhang, Huanming Zhang, Feng Gao, Xiao Li, Zhihao Liu, Yi Nie, Chunyang Zhu, Jiaxing Qiu, et al.
    Harness VLA: Steering frozen VLAs into reliable manipulation primitives via memory-guided agents. arXiv
    preprint arXiv:2607.08448, 2026.

[56] Wenbo Zhang, Kaixuan Wang, Yutao Ouyang, Xiaoyu Huang, Liyang Li, Kailun Su, Weiyang Jin, Wenhao Chai,
    et al. An unexpected robot policy: Early evaluations of GPT-6 Astra on RoboDojo and beyond. arXiv preprint
    arXiv:2609.24170, 2026.

[57] He Zhang, Lingzhu Xiang, Haitao Lin, Zeyu Huang, Minghui Wang, Dingyan Zhong, Yubo Dong, Yihao Wu,
    et al. Hy-Embodied-0.5-VLA: From vision-language-action models to a real-world robot learning stack. arXiv
    preprint arXiv:2606.14409, 2026.

[58] Xueyang Zhou, Yangming Xu, Guiyao Tie, Yongchao Chen, Guowen Zhang, Duanfeng Chu, Pan Zhou, and Lichao
    Sun. LIBERO-PRO: Towards robust and fair evaluation of vision-language-action models beyond memorization.
    arXiv preprint arXiv:2510.03827, 2025.

[59] Ruiyang Si, Jianxin Bi, Shunyu Yang, Rui Ni, Wenbo Huang, Qiang Wang, Shulong Jiang, Duomin Wang, et al.
    Fewer tokens, better action: GPT-6 Astra robot agents with 14% higher success rate but 65% fewer tokens. arXiv
    preprint arXiv:2610.01939, 2026.


                                                           21
PAGE 22 / 31 참고문헌 4/4

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 22쪽: 참고문헌 4/4
이 페이지의 추출 텍스트
[60] Alan M. Turing. On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the
    London Mathematical Society, s2-42(1):230–265, 1936.

[61] Jiarun Zhu, Yijun Hong, Xiaoquan Sun, Zetian Xu, Qijun He, Haijier Chen, Zhiyong Wang, Mingqi Yuan, et al.
    Can vision-language-action models learn from real-world data continually without forgetting? arXiv preprint
    arXiv:2605.26820, 2026.

[62] Xincheng He, Siyu Ma, Chang Yu, Yunuo Chen, Yanjia Huang, Ying Nian Wu, Yin Yang, and Chenfanfu Jiang.
    Skill2Real: Agentic skill learning for zero-shot sim-to-real robot manipulation. arXiv preprint arXiv:2610.02788,
    2026.




                                                         22
PAGE 23 / 31 부록 목차

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 23쪽: 부록 목차
이 페이지의 추출 텍스트
Appendix Contents

A Advantages of COAP: Details                                                                          24
   A.1 Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   24
   A.2 Extensibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   24

B Parallel Branching: Details                                                                          26

C Error Analysis: Details                                                                              27

D Per-Task Results                                                                                     27

E Case Studies                                                                                         27

F Execution Trajectories                                                                               29




                                                  23
PAGE 24 / 31 부록 A.1·Figure 12·Table 3

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 24쪽: 부록 A.1·Figure 12·Table 3
이 페이지의 추출 텍스트
A. Advantages of COAP: Details
A.1. Execution

Failure recovery. Table 3 breaks down the validation episodes in which something went wrong.
Reattempted: a failed step was followed by a new method, such as a re-grasp or a second press.
Noticed and reported: the program ended the episode itself and reported why, such as an object
not found or no feasible path.

Table 3. What COAP did when something went wrong. Left: outcomes of these episodes. Right: failed
steps of the reattempted episodes.

                   Outcome                           Share       Failed step (reattempted)           Share     Saved
                   Reattempted, succeeded              12%       grasp missed or slipped              49%           17%
                   Reattempted, failed                 22%       dropped while carrying               32%           48%
                   Noticed and reported                42%       stuck on release                     18%           23%
                     no further method                 37%       press did not latch                   8%          100%
                     step budget                        4%       pour incomplete                       1%          100%
                   Hit the step limit                   1%
                   Not reported                        22%


Decision time and compute. The policy makes a median of 352 decisions per episode. The
median call returns in 0.3 ms, because most calls hand over an action that is already planned;
about 25 calls per episode, perception and planning at the start of a segment, hold 99.4% of
the decision time. Figure 6 (right) converts COAP’s measured decision time into compute at
1011 FLOP/s, the peak of one CPU core, an upper bound. The model lines are our estimates
from reported model sizes, not measurements: a 3B VLA that predicts 50-step action chunks
(𝜋0 [4]; we count one run of about 5 TFLOP per chunk, which underestimates its compute, since
𝜋0 re-plans after 16 or 25 actions), a 7B VLA run every step (OpenVLA [19], about 4 TFLOP per
step), and, for the Agent Harness, one call to a model with 2 × 1011 active parameters every 100
steps over a context that starts at 5k tokens and grows by 2k per call. Figure 12 shows where the
model compute goes instead.

                         (a) Offline development                   (b) Online, three control steps


    VLA                      collect demos, train the model            VLA                   VLA                      VLA


    Agent Harness        prompt design                                agent call    VLA     agent call      VLA      agent call     VLA



    COAP (ours)             coding agents write and test code            run the code          run the code              run the code



Figure 12. Compute moves offline. COAP uses models only offline; a VLA and an Agent Harness run
them online.


Success by task length. Table 4 groups the tasks by the benchmark’s step limit. COAP leads
in every group; its success falls on the longest tasks, as every policy’s does, and the strongest
Agent Harness loses most there.

A.2. Extensibility

Grasp methods. Figure 13 shows one example of each grasp method of Figure 8b, rendered
from the benchmark’s meshes at poses from our grasp code, and Table 5 defines them. A method

                                                                  24
PAGE 25 / 31 부록 A.2·Figure 13·Tables 4–6

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 25쪽: 부록 A.2·Figure 13·Tables 4–6
이 페이지의 추출 텍스트
Table 4. Success (%) by the step limit of a task. GPT-as-policy: an Agent Harness without a VLA.

                       Step limit        Tasks       COAP         Agent Harness     VLA      GPT-as-policy
                       200–500                12        78.1               47.3      21.9                   26.5
                       550–800                15        78.4               30.6      38.0                   26.9
                       900–1900               15        52.0               13.2      22.1                   14.8



is decided by the approach and the contact: a grasp that descends from above is a top grasp
even when it leans.




       top                     side                    handle               rim                     edge                cloth pinch
      a block            a standing bottle          a basket's arch        a bowl           a bread slice in a rack   a long-sleeved top


Figure 13. One example of each grasp method.

Table 5. Grasp methods. Tasks: number of task programs using it.

 Method            Approach                        Contact                          Examples                                     Tasks
 Top               from above                      across the body                  blocks, digits, a lying pen, eggs                 28
 Side              level, toward the axis          around the body or neck          a standing bottle, a cup                           6
 Handle            toward the handle               around the bar                   a basket’s arch, a broom, a mallet                 3
 Rim               down onto the wall              one jaw inside, one outside      a bowl, a mug, a plate                             3
 Edge              along the thin side             on the two faces                 a coin, a bread slice, a key                       4
 Cloth pinch       down onto the hem               fabric layers                    a long-sleeved top                                 1



New tasks. Figure 7 (middle) plots the mean best validation success so far over the four tasks
that had no program when the library was frozen; store_tools_in_toolbox, which never
got a successful program, counts as zero. The two baseline lines are schematic. The VLA line
is a slow ramp over 5–15 h, the fine-tuning time per task reported for OpenVLA [19], toward
the measured average of the strongest VLA on these tasks (4.7%). The Agent Harness line is a
straight line with a small slope: its task-specific memory lets it improve, but slowly, because
little carries over from earlier tasks. Table 6 gives the timeline of each new task.

Table 6. Timeline of the new tasks. Hours from the start, and validation success (%) at each merge.

                                       make_toast            hang_mugs     sweep_blocks          fill_pen_holder
                First evaluation               3.2 h            3.2 h          3.9 h                      0.2 h
                First success                  4.7 h            5.2 h          6.4 h                      4.0 h
                First merge                    5.8 h            6.8 h          7.9 h                      2.7 h
                Success at merges            50 → 77         7 → 50 → 57    0 → 60 → 50                0 → 20 → 27



Old tasks. Between the frozen library and the final code, the old tasks whose own code did not
change kept their success: 78.4% before and 79.9% after, on the same layouts (Cochran–Mantel–
Haenszel test, 𝑝 = 0.16; no task changed significantly). With the tasks whose code was later
cleaned up included, success went from 80.0% to 81.4%. The test detects a pooled shift of about
4 points, so it rules out a large regression, not every change.


                                                                      25
PAGE 26 / 31 확장·Figure 14·Table 7·부록 B

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 26쪽: 확장·Figure 14·Table 7·부록 B
이 페이지의 추출 텍스트
Extension without breaking. Figure 14 shows how new tasks extend the library. A new task
adds its own files and changes no line of an existing one (a). New behaviour reaches other tasks
by a call to an existing library function, by inheritance, or by a parameter that is off by default,
so every other caller runs the same code path as before (Eq. 3) and only the tasks that pass the
new parameter change (b). sweep_blocks, for example, reuses the sliding function added to
the library for push_T (c).

(a) New tasks run library code                                 (b) One function, many tasks                                              (c) sweep_blocks on the library


classify_objects_by_language                 inherits a task                                      build_tower                                  task program
                                                                 transfer                         stack_bowls                                   sweep_blocks            new
                                         99.5% library
                                                                default-off options              fill_egg_holder
                                                                                                                                               object family
make_toast                              new object family
                                                                                                                                         
                                                                                                  +16 more tasks call it
                                                                                                                                                 sweep         new
                                         84% library
                                                                                                  play_tic_tac_toe
                                                                 wait_for_other                                                                manipulation
hang_mugs                               new object family                                         make_kong
                                                                                                                                                slide         written for push_T
                                                                called unchanged                 imitate_sorting_sequence
                                         88% library
                                                                                                                                               perception
sweep_blocks                       new family, reuses slide
                                                                 slide
                                                                                                  push_T                                        reused, unchanged
                                         78% library                                              sort_nesting_dolls_by_size
                                                                new function, reused             sweep_blocks                                 motion
  new code       families, other     manipulation
  perception      motion
                                                                                                                                                reused, unchanged
                                                                 Rules                            classify_objects

 each changed 0 lines in existing files                        inherited                        classify_objects_by_language

                                                               bold: the task the function was first written for

Figure 14. Extension without breaking. (a) The code each new task runs, by layer. (b) One library
function reaches many tasks. (c) sweep_blocks reuses slide, written for push_T.


Layers. Table 7 lists the layers of the library (Figure 8a). Every task shares manipulation,
perception, and motion, about 14k lines; the families and task programs are larger, but each of
their modules serves few tasks.
Table 7. Layers of the library. Used by: share of the 40 task programs that use the layer’s most used
module.

                             Layer                         Holds                                                                 Lines    Used by
                             Task programs                 order, parameters, special cases                                      23.5k        2.5%
                             Object families               what an object is, how to hold it                                     28.5k        18%
                             Manipulation                  pick, carry, place, push; grasping                                     5.4k         78%
                             Perception                    look, measure, confirm                                                 5.3k       100%
                             Motion                        inverse kinematics, planning, collision                                3.3k       100%




B. Parallel Branching: Details
Branches and the estimate. A branch is a variant of a program that changes one decision
and is evaluated on the same seeds and layouts as its parent. Figure 10b uses every branch
whose validation success was measured against its immediate parent. Repeated runs of the
same program differ by one to three episodes per evaluation, so the selection margin of four
episodes is one to two noise widths. The estimate of Figure 10c draws 𝑘 effects with replacement
from the measured ones and keeps the best if it reaches the margin, otherwise the parent; the
bands are the 5th and 95th percentiles over bootstrap resamples. The estimate treats branches of
one decision as independent and pools effects across tasks, and each gain is measured on the
layouts that selected it, so the true gain is somewhat lower.


                                                                                           26
PAGE 27 / 31 부록 B–E·Table 8

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 27쪽: 부록 B–E·Table 8
이 페이지의 추출 텍스트
All tasks at once. In the busiest window of development, evaluations of 12 tasks ran in parallel
and finished in 17% of the time they would have taken one after another.

Merges and test. After the library was frozen, task updates were merged one at a time, each
changing shared code only through default-off parameters, and overall success rose at every
merge, from 66.5% to 70.24%. Changes are selected on validation, and the gains carry over to
test: on the 40 tasks with a program, standard success is 76.7% on validation and 74.9% on test,
and randomized success 55.2% and 52.8%.


C. Error Analysis: Details
How a failure is classified. We read each failed episode from the start and took the first error
that was never recovered. Its class is the smallest change that would have prevented it, so each
failure has exactly one class (§5.2); Table 8 lists typical cases. The labels are judgement: a trace
shows what the program measured, not what happened, so we checked the examples against
the official videos. Incomplete logic is judged relative to the robot we have; no fix assumes a
new sensor or actuator.
Table 8. Typical cases of each class of error.

         Class               Typical cases
         Perception error    unrecognized randomized look; wrong final check; split or merged object
         Contact error       slip or drop in the grip; push stops short; tip at release
         Incomplete logic    no grasp that also reaches the goal; untried order; unchecked collision
         Poor code design    fixed size filter; fixed grip-width band; fixed match threshold
         Unknown             no lead in the trace



D. Per-Task Results
  Table 9 lists the success rate (SR) and the progress score of COAP on each task.


E. Case Studies
   Figure 15 follows three official episodes on development layouts. In cover_blocks, the
program measures the three cubes once, stores their colours by position, and uncovers them
in the requested order after identical cups have hidden them (§4.3.1, A2). In a randomized
stack_bowls episode, the hold check after a rim grasp finds that the bowl did not follow the
lift; the program grasps it again at a new wrist angle and completes the stack (§4.3.2, B2). The
same fold_clothes program folds the shirt in a standard and in a randomized scene.




                                                     27
PAGE 28 / 31 Table 9·Figure 15

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 28쪽: Table 9·Figure 15
이 페이지의 추출 텍스트
Table 9. Per-task results of COAP, by dimension. † Task without a program.

        Task                                                         SR Score            Task                                                 SR Score
        Memory                                                                             Generalization
        cover_blocks                                               100.0    100.0        push_T                                              97.3       97.3
        press_by_number                                            100.0    100.0        stack_blocks                                        94.7       95.2
        swap_T                                                     100.0    100.0        stack_bowls                                         93.3       94.0
        swap_blocks                                                100.0    100.0        fold_clothes                                        90.0       91.6
        imitate_sorting_sequence                                    74.7     78.5        pour_liquid_into_cup                                89.3       89.3
        match_and_pick_from_conveyor                                64.7     64.7        arrange_largest_number                              86.7       90.0
        Precision                                                                        sort_nesting_dolls_by_size                          64.7       64.7
        play_Xylophone                                              99.3      99.3       make_toast                                          56.7       60.3
        build_tower                                                 96.7      97.3       store_laptop_and_headphones                         55.3       77.3
        insert_tubes                                                94.7      96.8       hang_mugs                                           32.0       41.9
        pour_balls_into_vase                                        94.0      94.0       sweep_blocks                                        28.0       28.0
        fasten_screws                                               91.3      95.7       pack_objects_into_box                                0.7        6.5
        deposit_coin                                                85.3      86.0         Long-Horizon
        insert_key                                                  39.3      48.4       play_tic_tac_toe                                    99.3       99.4
        plug_in_charger†                                             0.0         –       make_kong                                           98.0       98.0
        Open                                                                             play_stacking_toy                                   82.0       92.6
        pour_by_language             100.0                                  100.0        put_bottles_into_dustbin                            73.3       82.8
        align_blocks                  93.3                                   93.3        classify_objects                                    50.0       63.9
        solve_equation                92.7                                   92.7        fill_egg_holder                                     24.7       50.8
        stack_blocks_by_language      91.3                                   91.6        fill_pen_holder                                     24.0       49.0
        general_pickup                61.3                                   61.3        organize_table                                       0.0       51.5
        pick_from_conveyor_by_image   48.0                                   48.0
        classify_objects_by_language 26.0                                    43.9
        store_tools_in_toolbox†        0.0                                      –




  Memory                               step 0                               step 200                       step 290                     step 396
                                                                                                                                                                 
Uncover by stored colour
The cups look alike: the order red,
green, blue uses the stored colours.

 memory = {red: left,
           blue: middle,                   measure the cubes                     all three covered             green: the right cup      red, green, blue uncovered
           green: right}




  Recovery                             step 184                             step 200
                                                                                                           step 244                     step 357
                                                                                                                                                                 
A failed hold, then a new angle
The bowl did not follow the lift: the
program grasps it again at a new yaw.

 yaw 60°    not held
 yaw 75°    held                        grasp at the rim, yaw 60°          check: the bowl did not follow   grasp again, yaw 75°: held       the bowls stacked




  One program                          step 0                               step 308
                                                                                                           step 0                       step 306
                                                                                                                                                                 
Standard and randomized scenes
The same fold_clothes program on a
standard and a randomized scene.


                                                 standard: start                  standard: folded              randomized: start           randomized: folded




Figure 15. Case studies: memory, recovery, and one program in two scenes.




                                                                                   28
PAGE 29 / 31 부록 F·Figure 16

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 29쪽: 부록 F·Figure 16
이 페이지의 추출 텍스트
F. Execution Trajectories
   Figures 16–19 show one successful official episode per task and variant: the head camera at
the start, at one quarter, half, and three quarters of the episode, and at the end, then the final
frames of the two wrist cameras. Across tasks the same library code recurs: objects are grasped
from above or at a rim, carried along planned paths, and placed after a close look, while the task
program decides their order and targets.

                                  start      1/4         1/2     3/4     end   left wrist   right wrist

     align_blocks
     open instruction
     seed 0, L3

     arrange_largest_number
     generalization
     seed 2, L0

     arrange_largest_number
     randomized, generalization
     seed 0, L3

     cover_blocks
     memory
     seed 1, L1

     deposit_coin
     precision
     seed 2, L2

     fold_clothes
     randomized, generalization
     seed 0, L4

     imitate_sorting_sequence
     memory
     seed 2, L4


Figure 16. Execution trajectories (1/4). Successful official episodes.




                                                    29
PAGE 30 / 31 부록 F·Figures 17–18

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 30쪽: 부록 F·Figures 17–18
이 페이지의 추출 텍스트
                                    start    1/4         1/2     3/4     end   left wrist   right wrist

     insert_tubes
     precision
     seed 2, L4

     make_kong
     long-horizon
     seed 2, L3

     match_and_pick_from_conveyor
     memory
     seed 0, L1

     pack_objects_into_box
     generalization
     seed 2, L12

     play_stacking_toy
     long-horizon
     seed 1, L3

     pour_balls_into_vase
     precision
     seed 0, L1

     pour_liquid_into_cup
     generalization
     seed 2, L0


Figure 17. Execution trajectories (2/4). Successful official episodes.




                                    start    1/4         1/2     3/4     end   left wrist   right wrist

     pour_liquid_into_cup
     randomized, generalization
     seed 0, L1

     press_by_number
     memory
     seed 0, L0

     push_T
     randomized, generalization
     seed 0, L3

     sort_nesting_dolls_by_size
     generalization
     seed 2, L4

     sort_nesting_dolls_by_size
     randomized, generalization
     seed 1, L0

     stack_blocks
     generalization
     seed 1, L0

     stack_blocks_by_language
     open instruction
     seed 0, L1


Figure 18. Execution trajectories (3/4). Successful official episodes.




                                                    30
PAGE 31 / 31 부록 F·Figure 19

페이지 이미지를 누르면 원래 해상도로 열립니다. 아래 텍스트는 검색·접근성을 위한 자동 추출이며, 수식·그림·표의 정확한 배치는 이미지 또는 공식 PDF를 기준으로 읽으세요.

첨부 논문 31쪽: 부록 F·Figure 19
이 페이지의 추출 텍스트
                                   start     1/4         1/2     3/4     end   left wrist   right wrist

     stack_blocks
     randomized, generalization
     seed 2, L1

     stack_bowls
     generalization
     seed 0, L0

     stack_bowls
     randomized, generalization
     seed 2, L4

     store_laptop_and_headphones
     generalization
     seed 1, L0

     store_laptop_and_headphones
     randomized, generalization
     seed 1, L3

     sweep_blocks
     generalization
     seed 1, L0

     sweep_blocks
     randomized, generalization
     seed 2, L3


Figure 19. Execution trajectories (4/4). Successful official episodes.




                                                    31
REFERENCES · AS LISTED IN THE ATTACHMENT

참고문헌 62개

첨부의 서지 기록을 보존했다. 모든 인용 연구를 이번 해설에서 별도로 검증했다는 뜻은 아니다. 자동 추출로 URL이나 기호의 공백이 달라질 수 있으며 정확한 표기는 원문 19–22쪽을 기준으로 확인한다.

  1. Michael Ahn, Anthony Brohan, Noah Brown, Yevgen Chebotar, Omar Cortes, Byron David, Chelsea Finn, Chuyuan Fu, et al. Do as I can, not as I say: Grounding language in robotic affordances. In Conference on Robot Learning (CoRL), 2022.
  2. Anthropic. Code execution with MCP: Building more efficient agents. Anthropic Engineering Blog, https: //www.anthropic.com/engineering/code-execution-with-mcp, 2025.
  3. Awomo-WAM Team. Awomo-0.5: World action model pre-trained at scale. Code repository, https://github.c om/Awomo-WestlakeDI/Awomo-0.5, 2026.
  4. Kevin Black, Noah Brown, Danny Driess, Adnan Esmail, Michael Equi, Chelsea Finn, Niccolo Fusai, Lachy Groom, et al. 𝜋0 : A vision-language-action flow model for general robot control. In Robotics: Science and Systems (RSS), 2025.
  5. Anthony Brohan, Noah Brown, Justice Carbajal, Yevgen Chebotar, Xi Chen, Krzysztof Choromanski, Tianli Ding, Danny Driess, et al. RT-2: Vision-language-action models transfer web knowledge to robotic control. In Conference on Robot Learning (CoRL), 2023.
  6. Nicolas Carion, Laura Gustafson, Yuan-Ting Hu, Shoubhik Debnath, Ronghang Hu, Didac Suris, Chaitanya Ryali, Kalyan Vasudev Alwala, et al. SAM 3: Segment anything with concepts. In International Conference on Learning Representations (ICLR), 2026.
  7. Tianxing Chen, Yue Chen, Zixuan Li, Junyuan Tang, Kailun Su, Haoran Lu, Weijie Wan, Baijun Chen, Songling Liu, Haowen Yan, et al. RoboDojo: A unified sim-and-real benchmark for comprehensive evaluation of generalist robot manipulation policies. arXiv preprint arXiv:2607.04434, 2026.
  8. Tianxing Chen, Zanxin Chen, Baijun Chen, Zijian Cai, Yibin Liu, Zixuan Li, Qiwei Liang, Xianliang Lin, et al. RoboTwin 2.0: A scalable data generator and benchmark with strong domain randomization for robust bimanual robotic manipulation. In International Conference on Machine Learning (ICML), 2026.
  9. Yanzhe Chen, Zechen Bai, Zhijun Cao, Wenzheng Zeng, Kevin Qinghong Lin, Yiqi Lin, Guoqiang Liang, Kevin Yuchen Ma, et al. Show-Harness: Just a VLM agent can play robots. arXiv preprint arXiv:2609.10522, 2026.
  10. Dexmal. DM0.5: Designed for the open world, where generalization emerges. Blog post, https://www.dexmal .com/blog/dm0.5/index_en.html, 2026.
  11. Karim Elmaaroufi, Justin Svegliato, Sarunas Kalade, Graham Schelle, Sanjit A. Seshia, and Matei Zaharia. RHO: Your coding agent is secretly a roboticist. arXiv preprint arXiv:2606.16458, 2026.
  12. Letian Fu, Justin Yu, Karim El-Refai, Ethan Kou, Haoru Xue, Huang Huang, Wenli Xiao, et al. CaP-X: A framework for benchmarking and improving coding agents for robot manipulation. In International Conference on Machine Learning (ICML), 2026.
  13. Futian Lab and VisIncept. Rex-M1 Preview. RoboDojo policy adapter, https://github.com/XPolicyLab/ XPolicyLab/pull/131, 2026.
  14. Wei He, Hengtao Li, Chenfeng Wang, Zhongrui Yu, Xuhan Zhu, Maokui He, Zide Liu, Xiyue Zhang, et al. ME-Brain-1.0: Memory, cognition and action for evolving embodied intelligence. arXiv preprint arXiv:2609.24271, 2026.
  15. HKU MMLab and Kinetix AI. PhysicalRSI 1.0: Recursive self-harness for scaling embodied skills. Project page, https://mmlab.hk/research/PhysicalRSI, 2026.
  16. Wenlong Huang, Fei Xia, Ted Xiao, Harris Chan, Jacky Liang, Pete Florence, Andy Zeng, Jonathan Tompson, et al. Inner monologue: Embodied reasoning through planning with language models. In Conference on Robot Learning (CoRL), 2022.
  17. Wenlong Huang, Chen Wang, Ruohan Zhang, Yunzhu Li, Jiajun Wu, and Li Fei-Fei. VoxPoser: Composable 3D value maps for robotic manipulation with language models. In Conference on Robot Learning (CoRL), 2023.
  18. Dongyoung Kim, Huiwon Jang, Myungkyu Koo, Suhyeok Jang, Taeyoung Kim, Beomjun Kim, Byungjun Yoon, Changsung Jang, et al. RLDX-1 technical report. arXiv preprint arXiv:2605.03269, 2026.
  19. Moo Jin Kim, Karl Pertsch, Siddharth Karamcheti, Ted Xiao, Ashwin Balakrishna, Suraj Nair, Rafael Rafailov, Ethan Foster, et al. OpenVLA: An open-source vision-language-action model. In Conference on Robot Learning (CoRL), 2024.
  20. Fuhao Li, Wenxuan Song, Han Zhao, Jingbo Wang, Pengxiang Ding, Donglin Wang, Long Zeng, and Haoang Li. Spatial Forcing: Implicit spatial representation alignment for vision-language-action model. In International Conference on Learning Representations (ICLR), 2026.
  21. Jacky Liang, Wenlong Huang, Fei Xia, Peng Xu, Karol Hausman, Brian Ichter, Pete Florence, and Andy Zeng. Code as policies: Language model programs for embodied control. In IEEE International Conference on Robotics and Automation (ICRA), 2023.
  22. LiberAI. Liber-0 Lite. RoboDojo policy adapter, https://github.com/XPolicyLab/XPolicyLab/tree/ma in/policy/liber_0_lite, 2026.
  23. LiberAI. Liber-0 Preview. RoboDojo leaderboard entry, https://robodojo-benchmark.com/LeaderBoard, 2026.
  24. Bo Liu, Yifeng Zhu, Chongkai Gao, Yihao Feng, Qiang Liu, Yuke Zhu, and Peter Stone. LIBERO: Benchmarking knowledge transfer for lifelong robot learning. In Advances in Neural Information Processing Systems (NeurIPS), Datasets and Benchmarks Track, 2023.
  25. Yicheng Liu, Zibin Dong, Baijun Ye, Tianyuan Yuan, Tao Jiang, Anqi Yang, Shicheng Cao, Haonan Liu, et al. G0.5: One autoregressive stream for robot reasoning and action. arXiv preprint arXiv:2608.11739, 2026.
  26. Runyu Lu, Yubo Wu, Ethan Kou, Letian Fu, Wenli Xiao, Ajay Mandlekar, Yinzhen Xu, Guanya Shi, et al. ASPIRE: Agentic /skills discovery for robotics. arXiv preprint arXiv:2607.00272, 2026.
  27. Haoxiang Ma, Junhao Cai, Xiaoxu Xu, Hao Li, Yuyin Yang, Yang Tian, Jiafei Cao, Hongrui Zhu, et al. InternVLA- A1.5: Unifying understanding, latent foresight, and action for compositional generalization. arXiv preprint arXiv:2607.04988, 2026.
  28. Meituan Robotics. Meituan-Robotics-0. RoboDojo policy adapter, https://github.com/XPolicyLab/XPol icyLab/tree/main/policy/Meituan_Robotics_0, 2026.
  29. Xingyu Miao, Zizun Li, Baole Fang, Kaiwen Song, Tenghui Wang, Hanxue Zhang, Yating Wang, Xudong Li, et al. InternW0-Δ: A world action model bridging predictive dynamics and actions with 20K+ hours of open data. arXiv preprint arXiv:2609.31394, 2026.
  30. Dhia Naouali, Minghan Wu, Claudia Wong, Abhinav Puthran, and Omar G. Younis. VLCP: Vision language control policy closed-loop code replanning for robot manipulation. arXiv preprint arXiv:2608.16978, 2026.
  31. Soroush Nasiriany, Sepehr Nasiriany, Abhiram Maddukuri, and Yuke Zhu. RoboCasa365: A large-scale sim- ulation framework for training and benchmarking generalist robots. In International Conference on Learning Representations (ICLR), 2026.
  32. Noematrix Team. RoboRSI: Stable, efficient, and reusable robot self-evolution in complex real-world environ- ments. Blog post, https://lab.noematrix.ai/blog/2-roborsi/, 2026.
  33. OpenAI. Codex CLI. https://github.com/openai/codex, 2025.
  34. OpenAI. GPT-6 Astra: A new generation of intelligence. https://openai.com/index/gpt-6-astra/, 2026.
  35. OpenAI. Pricing. OpenAI API documentation, https://developers.openai.com/api/docs/pricing, 2026.
  36. Physical Intelligence, Kevin Black, Noah Brown, James Darpinian, Karan Dhabalia, Danny Driess, Adnan Esmail, Michael Equi, et al. 𝜋0.5 : a vision-language-action model with open-world generalization. In Conference on Robot Learning (CoRL), 2025.
  37. RobotEra. VPP2-Preview. RoboDojo leaderboard entry, https://robodojo-benchmark.com/LeaderBoard, 2026.
  38. Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Eric Hambro, Luke Zettlemoyer, Nicola Cancedda, and Thomas Scialom. Toolformer: Language models can teach themselves to use tools. In Advances in Neural Information Processing Systems (NeurIPS), 2023.
  39. Zeyu Shen, Haoxiang You, Yilang Liu, Zhicheng Zheng, Lihan Zha, Kashu Yamazaki, Mingtong Zhang, Suning Huang, et al. EmbodiedSWE: Coding agents for long horizon dexterous robotics. arXiv preprint arXiv:2609.27308, 2026.
  40. Simate. Simate-beta. RoboDojo policy adapter, https://github.com/XPolicyLab/XPolicyLab/tree/ma in/policy/Simate_beta, 2026.
  41. Ishika Singh, Valts Blukis, Arsalan Mousavian, Ankit Goyal, Danfei Xu, Jonathan Tremblay, Dieter Fox, Jesse Thomason, et al. ProgPrompt: Generating situated robot task plans using large language models. In IEEE International Conference on Robotics and Automation (ICRA), 2023.
  42. StarVLA Community. StarVLA: A lego-like codebase for vision-language-action model developing. arXiv preprint arXiv:2604.05014, 2026.
  43. Jiayi Su, Yixin Zheng, Mi Yan, Li Yi, Zhizheng Zhang, and He Wang. GPT 6 Astra as an embodied policy. Technical report, https://anonymous-report-421.github.io/public-website/, 2026.
  44. Kenton Varda and Sunil Pai. Code Mode: the better way to use MCP. Cloudflare Blog, https://blog.cloud flare.com/code-mode/, 2025.
  45. Guanzhi Wang, Yuqi Xie, Yunfan Jiang, Ajay Mandlekar, Chaowei Xiao, Yuke Zhu, Linxi Fan, and Anima Anandkumar. Voyager: An open-ended embodied agent with large language models. Transactions on Machine Learning Research (TMLR), 2024.
  46. Xingyao Wang, Yangyi Chen, Lifan Yuan, Yizhe Zhang, Yunzhu Li, Hao Peng, and Heng Ji. Executable code actions elicit better LLM agents. In International Conference on Machine Learning (ICML), 2024.
  47. Yuran Wang, Siqiao Huang, Mingleyang Li, Chenhao Zhang, Jiaqi Liang, Weiyang Jin, Yue Chen, Xuemin Chi, et al. OpenWAM: An open, modular exploration towards systematic world-action model pretraining. arXiv preprint arXiv:2609.07398, 2026.
  48. Wei Wu, Fan Lu, Yunnan Wang, Shuai Yang, Shi Liu, Fangjing Wang, Qian Zhu, He Sun, et al. A pragmatic VLA foundation model. arXiv preprint arXiv:2601.18692, 2026.
  49. Xiaomi Robotics Team, Jun Guo, Piaopiao Jin, Jason Li, Peiyan Li, Yingyan Li, Futeng Liu, Wanli Peng, et al. Xiaomi-Robotics-1: Scaling vision-language-action models with over 100K hours of real-world trajectories. arXiv preprint arXiv:2607.15330, 2026.
  50. John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, and Ofir Press. SWE-agent: Agent-computer interfaces enable automated software engineering. In Advances in Neural Information Processing Systems (NeurIPS), 2024.
  51. Senqiao Yang, Chengyao Wang, Yuxin Chen, Zixuan Wang, Longxiang Tang, Haokun Gui, Jinhui Ye, Changsheng Lu, et al. Beyond data scaling: Representation-centric continued pre-training for vision-language-action models. arXiv preprint arXiv:2608.27550, 2026.
  52. Tianhang Yang, Yanze Zheng, Junjie Wang, Wei-Bin Kou, Ruotong Li, and Yujiu Yang. Route by kinematics, act by observation: Kinematics-Supervised expert routing in MoE-Augmented VLA. arXiv preprint arXiv:2607.26807, 2026.
  53. Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, and Yuan Cao. ReAct: Synergizing reasoning and acting in language models. In International Conference on Learning Representations (ICLR), 2023.
  54. Cheng Yin, Wang Xu, Junpeng Yang, Sikyuen Tam, Hanyu Liu, Yuan Yao, Xiangrui Zeng, Junbo Cui, et al. SimpleMemVLA: A simple but effective native-video memory for vision-language-action models. arXiv preprint arXiv:2609.05533, 2026.
  55. Yixian Zhang, Huanming Zhang, Feng Gao, Xiao Li, Zhihao Liu, Yi Nie, Chunyang Zhu, Jiaxing Qiu, et al. Harness VLA: Steering frozen VLAs into reliable manipulation primitives via memory-guided agents. arXiv preprint arXiv:2607.08448, 2026.
  56. Wenbo Zhang, Kaixuan Wang, Yutao Ouyang, Xiaoyu Huang, Liyang Li, Kailun Su, Weiyang Jin, Wenhao Chai, et al. An unexpected robot policy: Early evaluations of GPT-6 Astra on RoboDojo and beyond. arXiv preprint arXiv:2609.24170, 2026.
  57. He Zhang, Lingzhu Xiang, Haitao Lin, Zeyu Huang, Minghui Wang, Dingyan Zhong, Yubo Dong, Yihao Wu, et al. Hy-Embodied-0.5-VLA: From vision-language-action models to a real-world robot learning stack. arXiv preprint arXiv:2606.14409, 2026.
  58. Xueyang Zhou, Yangming Xu, Guiyao Tie, Yongchao Chen, Guowen Zhang, Duanfeng Chu, Pan Zhou, and Lichao Sun. LIBERO-PRO: Towards robust and fair evaluation of vision-language-action models beyond memorization. arXiv preprint arXiv:2510.03827, 2025.
  59. Ruiyang Si, Jianxin Bi, Shunyu Yang, Rui Ni, Wenbo Huang, Qiang Wang, Shulong Jiang, Duomin Wang, et al. Fewer tokens, better action: GPT-6 Astra robot agents with 14% higher success rate but 65% fewer tokens. arXiv preprint arXiv:2610.01939, 2026.
  60. Alan M. Turing. On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, s2-42(1):230–265, 1936.
  61. Jiarun Zhu, Yijun Hong, Xiaoquan Sun, Zetian Xu, Qijun He, Haijier Chen, Zhiyong Wang, Mingqi Yuan, et al. Can vision-language-action models learn from real-world data continually without forgetting? arXiv preprint arXiv:2605.26820, 2026.
  62. Xincheng He, Siyu Ma, Chang Yu, Yunuo Chen, Yanjia Huang, Ying Nian Wu, Yin Yang, and Chenfanfu Jiang. Skill2Real: Agentic skill learning for zero-shot sim-to-real robot manipulation. arXiv preprint arXiv:2610.02788, 2026.

논문 v1 서지 · arXiv DOI