로봇 에이전트를 프로그래밍 에이전트처럼 작동하게 합니다. 모델은 샌드박스 Python 세션에서 22개의 저수준 기능(감지, 기하학적 측정, 역운동학 수준의 동작)을 호출하여 코드를 작성하고 로봇 팔을 조작하며, 각 호출의 텍스트 응답을 읽고 finish()를 언제 호출하여 종료할지 스스로 결정합니다. 학습은 프로그래밍/웹 에이전트의 레시피를 따릅니다. 먼저 합성 궤적으로 지도 미세 조정을 수행한 후, 여러 라운드의 강화 학습을 진행합니다. 에피소드 종료 시의 성공 또는 실패 결과를 수십 번의 요청에 분배하기 위해, 저자들은 정책이 볼 수 없는 시뮬레이터의 실제 상태를 읽을 수 있는 '물리 해설자'를 추가했으며, 각 요청이 성공 확률을 얼마나 변화시키는지에 따라 점수를 부여합니다.
좋아요 18 · 코드 스타 수 50
이유
- 저자들은 Qwen3.5-4B가 제로샷에서 0%, SFT 후 LIBERO 홀드아웃 세트에서 55.4%, RL 후 73.8%의 성능을 보였다고 보고합니다. LIBERO-PRO에서는 78.5%로 여러 최첨단 모델 에이전트를 능가했습니다. LIBERO에서만 학습되었지만, SimplerEnv WidowX에서 제로샷으로 83.3%를 달성했으며 실제 로봇에서도 실행에 성공했습니다.
- 테스트 시 최첨단 대형 모델이나 VLA를 사용하지 않으며, 특권 상태(privileged state)를 읽지 않고 단순히 4B 모델만 사용합니다.
- 모든 자원이 공개되어 있습니다. CaPtain-4B / CaPtain-4B-SFT 가중치, SFT 데이터, 평가 하네스 CaPtain-Harness, SFT 및 RL 학습 코드와 스트리밍 롤아웃 인프라가 모두 오픈 소스로 제공되며 코드는 MIT 라이선스를 따릅니다.
사용법
- git clone --recursive github.com/waltstephen/CaPtain을 실행한 후 harness/ 디렉토리로 이동하여 scripts/setup_third_party.sh를 실행하고, README에 따라 LIBERO 환경과 에이전트용 Python 3.11 샌드박스 환경을 설정합니다(bubblewrap 0.5 이상 필요).
- harness/scripts/download_models.sh로 SAM 3, Molmo2-8B 및 CaPtain-4B를 다운로드하고, services/start_perception.sh로 감지 서비스를 시작하며, services/serve_policy.sh YijiaFan/CaPtain-4B 8600로 vLLM을 사용하여 정책 서버를 실행합니다.
- 에피소드 실행: eval/run_episode.sh libero_spatial 0 11 runs/demo. 하네스는 OpenAI 호환 API와 연결할 수 있으며, 자체 모델이나 최첨단 모델을 테스트하는 데에도 사용할 수 있습니다.
리스크
- 학습 재현 비용이 높습니다: README에 따르면 SFT에는 H100 GPU 16개를 사용하여 약 7.6시간이 소요되며, RL에는 약 1,290 GPU 시간이 필요합니다. 평가 시에도 정책 실행용 GPU 한 장과 감지 및 렌더링용 GPU 한 장이 필요합니다.
- SFT 궤적은 폐쇄형 모델로 합성되었습니다. RoboTwin, SimplerEnv 등으로 이전할 때 공식 관측치보다 더 많은 입력(깊이, 카메라 캘리브레이션, 손목 힘 감각 등)을 사용했으며, README에 항목별로 명시되어 있습니다.
- SAM 3 가중치는 SAM 라이선스를 따르며, 모델 가중치는 Qwen3.5-4B(Apache-2.0)를 따릅니다. 성능 수치는 저자들이 보고한 값입니다.