CaPtain:把 4B 小模型训成写代码控制机器人的智能体(A Pipeline for Post-Training Code-as-Policy Robot Agents)

让机器人智能体像编程智能体一样工作:模型在一个沙盒 Python 会话里调用 22 个底层能力(感知、几何测量、逆运动学级的运动)写代码操作机械臂,读回每次调用的文字回执,自己决定何时调用 finish() 结束。训练沿用编程 / 网页智能体的配方:先用合成轨迹监督微调,再做多轮强化学习;为了把一局结束时的成败分摊到几十次请求上,作者加了一个能读模拟器真实状态(策略看不到)的“物理评论员”,按每次请求让成功概率变化多少来给分。

让机器人智能体像编程智能体一样工作:模型在一个沙盒 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、不读特权状态,只是一个 4B 模型。
  • 放得全:CaPtain-4B / CaPtain-4B-SFT 权重、SFT 数据、评测外壳 CaPtain-Harness、SFT 和 RL 训练代码及流式 rollout 基础设施都已开放,代码 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 兼容接口,也能拿来测你自己的模型或前沿模型。

风险

  • 复现训练很贵:README 写 SFT 用 16 张 H100 约 7.6 小时,RL 约 1,290 GPU 小时;评测也要一张卡跑策略、一张卡跑感知和渲染。
  • SFT 轨迹由闭源模型合成;迁移到 RoboTwin、SimplerEnv 等时用了比官方观测更多的输入(深度、相机标定、腕部力觉等),README 已逐项列出。
  • SAM 3 权重适用 SAM License,模型权重跟随 Qwen3.5-4B(Apache-2.0);成绩为作者报告。

打开 · 代码 · 抱脸论文页

Hugging Face Daily Papers

浏览最新 AI 动态