WetRobo: A Reproducible Robot Kit for Coding Agents in Biological Laboratories
Yuna Oikawa, Kei Endo, Takanori Uzawa, Yunzhe Zhang, Manan Anjaria, Lerrel Pinto, Sherry Yang, Koji Tsuda
cs.AI, cs.RO
2026-09-16
WetRobo把机械臂和AGENTS.md发给实验室,Codex现场写程序完成揭培养皿盖、拧瓶盖、开培养箱。拧瓶盖两实验室都是10/10;Lab X微调的π0.5换到Lab Y掉到0/10。
个体湿实验室每天都在重复喂细胞、换液、开关培养箱。工厂级高通量筛选和云实验室能自动化,但贵、封闭,也塞不进现有台面设备。近年的通用地方案主要是两类:液体处理专用平台,以及用 VLA(vision-language-action,视觉-语言-动作模型)直接预测关节动作。后一类换个摄像头角度、换件物品、换个初始位姿,成功率会掉得很狠。冻结策略在真实 Franka 臂上已经见过外观、位置、物体一变就失败的记录。
WetRobo 的立场很清楚:别给每间实验室再训一遍策略。把机械臂、指定器材、演示和一份 AGENTS.md 打成可复制套件,让编码 Agent 看着现场写程序。实验员只给自然语言任务,不采本地遥操作数据,也不训网络。
套件来自东京大学、RIKEN、NYU 和 Google DeepMind。硬件是两台六自由度 AgileX Piper 臂(报告里只用右臂)、头/腕摄像头(iPhone 经 Record3D 出 RGB-D)、一台 EYELA LTI-300 培养箱、一瓶 500 mL 试剂瓶、一个培养皿。软件仓库里是 AGENTS.md 和一份出厂的 base stack:机械臂 RPC、演示回放、笛卡尔偏置、禁入区和单步位移上限。每个任务附 15 条 Meta Quest 遥操作演示,Agent 可以看、可以回放,不是必跑的训练集。拧瓶盖那次,Agent 甚至没去翻任务演示。
实验员给一句话。Agent 是 OpenAI Codex CLI,模型 gpt-5.6-sol,reasoning 设 medium,approval 设 never。它读图像、关节角、夹爪开度,自己写分析脚本和执行脚本,需要时从网上拉工具。培养皿盖任务走了四段:先试带偏置的演示回放,估不准偏置就换成 SAM 3 分割伺服,再用多视角 RGB-D 加 MuJoCo 做接触检查,最后用夹爪开度区分空抓和抓住。拧瓶盖时两间实验室分叉。Lab Y 用颜色阈值找品红液体和白盖,用 Lucas-Kanade 光流解局部图像雅可比(毫米位移到像素位移的现场线性映射),靠夹爪力矩判断抓住。Lab X 的 NYU 夹爪没有力矩反馈,改用 AprilTag 建规划场景、MuJoCo 做碰撞预检,开度加视觉确认抓住。培养箱门在 Lab X 先用门上红色标签做岭回归对齐,发现阴影不可靠后改用 OpenCV 位姿估计加 RANSAC 拟合门平面。
AGENTS.md 规定夹爪接近开口容器时保持水平、接触前停下来拍照、本地测量 home 位姿、不沿用别的实验室的光照假设。任务程序和成功判据留给现场改。这跟 ENPIRE 那类需要人先把复位和验收接口搭好的框架不一样。
三个任务:揭培养皿盖、拧瓶盖、开培养箱门。
拧瓶盖是跨实验室对照的核心。π0.5 在 Lab X 的 25 条演示视频上微调 10 万步,本室 10/10,搬到 Lab Y 是 0/10。编码 Agent 在两间实验室都做成了,适应后再跑都是 10/10。两间实验室的夹爪、相机数、台面颜色、光照都不一样。
| 方法 | Lab X | Lab Y |
| π0.5(Lab X 微调) | 10/10 | 0/10 |
| WetRobo + Codex | 10/10 | 10/10 |
这个 10/10 要读图注。VLA 是微调后的评测;编码 Agent 是适应成功之后、同一设置下的重复执行。第一次拧住瓶盖,Lab Y 花了 48 分 43 秒、2300 万 token,Lab X 花了 1 小时 02 分、4140 万 token。Lab Y 成功抓取时夹爪开度停在 0.68(指令是 0.50),力矩 -1.05 N·m,空抓只有 -0.1 到 -0.2 N·m。前三次闭合失败,夹爪在盖子上方或旁边空咬。
培养皿盖一次做成。培养箱门只在 Lab X 做成:首次开门 2 小时 40 分,同一设置再跑 3 分 27 秒,开门后相对深度误差从 1.417 降到 0.179。Lab Y 因为头摄对齐不可靠,接触前停机回家,门没开。
给做实验室自动化的人一条不走 VLA 微调的路:发套件、发技能文件,让编码 Agent 在现场写可检查的 Python。程序能看、能改、能复用前一个任务的模块。跨实验室差异(夹爪型号、相机布局、有没有力矩反馈)被写成不同的程序,没有被训进一份过拟合的权重。
代价也摆在桌上。一次拧瓶盖要几千万 token、接近一小时。这比实验员自己采数据再微调省了人,但把钱和时间转给了 LLM。论文自己也说,总账还得把 VLA 微调成本算进去。
适合跟进的场景是任务短、环境会变、需要可审计动作逻辑的湿实验室。完整细胞培养流程还没测。
论文自己列了几条硬伤。只用了一个 Agent、一个模型。任务结果来自单次适应过程中的连续尝试,没有独立重复适应。Fig. 5 的编码 Agent 成功率是适应成功之后的重复执行,拿它跟 VLA 的冻结迁移比,比的是两种部署哲学,不是同一评测协议下谁更准。
培养箱门在 Lab Y 失败。培养皿只测了揭盖,端走培养皿没做,揭完还观察到打滑。相机摆放和现场贴的 AprilTag 也在帮编码 Agent 的忙。token 账只有 Agent 侧,没有 VLA 微调的 GPU 小时对照。