> ## Content Index
> Fetch the complete content index at: https://globalfeed.ai/llms.txt
> Use this file to discover other available public pages before exploring further.

# 机器人为何换张桌子就迷路？Ai2 开源 ToyBlocks 用木块来测量
- URL: https://globalfeed.ai/zh/ji-qi-ren-wei-he-huan-zhang-zhuo-zi-jiu-mi-lu-ai2-kai-yuan-toyblocks-yong-mu-kuai-lai-ce-liang/
- Published: 2026-11-07T23:20:21.000Z
- Updated: 2026-11-07T23:20:21.000Z
- Description: Ai2 开放 ToyBlocks，在可控环境中研究机器人学习：自动生成数据、两层机器人模型以及在真实机械臂上的测试结果。我们介绍它的原理、首批实验发现和试用方法。
- Author: GlobalFeed Editor
- Tags: Ai2, ToyBlocks, 机器人, 机器人学习, 模拟, Molmo2, 世界模型, 开源, x-Ai2, dil-zh, elle

机器人叠衣服、分拣零件的视频层出不穷，但它们大多在狭窄场景中拍摄，无法回答机器人到底学到了什么、为什么会失败。艾伦人工智能研究所（Ai2）于 11 月 6 日开放了 [ToyBlocks](https://allenai.org/blog/toyblocks?ref=globalfeed.ai)：一个由桌子、机械臂和印有字母与图案的木块组成的模拟世界，是其 FoundationWorld 系列的第一个。模拟资产、任务与示范生成器、85,336 条示范、两个训练好的模型以及训练和评测代码均以 Apache 2.0 许可在 [GitHub](https://github.com/allenai/toyblocks?ref=globalfeed.ai) 和 Hugging Face 开放。

## 谁来生成训练数据

ToyBlocks 在 NVIDIA 开源的 Isaac Lab 中用强化学习和运动规划生成推、翻等短技能，再由任务与运动规划器排序技能并规划机械臂动作。数百个计划在单块 GPU 上并行运行，速度最高达实时的 24 倍，数据以 LeRobot 格式保存，任务目标用 PDDL 描述，可自动衡量成功与部分进度。

## 构建方式：两层机器人大脑

上层 Molmo2-4B-tb（约 45 亿参数）由 Molmo2-4B 微调而来，看前置摄像头图像和文字目标，决定下一步并在图像上指出目标木块，每秒约 6 次决策，训练 6000 步，批大小 256，混入 25% 的指点数据。下层 ManiFlow-tb（3.225 亿参数）用流匹配在 8 块 GPU 上训练 20 万步，输出 25 步动作块。任一层都可替换为"预言机"，以区分失败出在规划还是执行。

## 首批实验

ManiFlow、π0.5 和 MolmoAct 2 在初步结果中泛化较差。世界模型测试中 Wan 2.2 预测最准，加入其生成的 100 条轨迹后，机器人在未见区域的成功率从 19% 升至 78%。基于 Claude Opus 5.5 的智能体通过 MCP 调用技能，在"找字母拼单词"任务中解决或正确判定不可行 63%；自行实验编写技能说明后，成功率从 24% 提高到 63%，专家撰写的说明为 36%。

## 从模拟到真实

在 Franka FR3 机械臂上，ManiFlow 单技能成功率模拟为 80.0%、真实为 81.1%；Molmo2 与 ManiFlow 组合完成三字母拼写的成功率模拟 55.5%、真实 50.0%（30 次试验）。需要 CUDA 显卡，安装与生成首个小数据集如下；Molmo2-4B-tb 在 bfloat16 下约需 20 GB 显存。第二版将在数周内推出，技术报告尚未发布。

```
git clone --recursive https://github.com/allenai/toyblocks.git && cd toyblocks
uv venv --python 3.11
uv pip install -e ".[dev,isaac,torch-cu128,vecgen]"
get-toyblocks-assets --asset-manifest asset_manifest.json

# generate two small three-block stacking tasks on one GPU
python scripts/datagen/run_datagen_pipeline.py \
    --experiment-id my_first_run --output-root data \
    --task-gen-script scripts/task_gen/stack_three.py --task-gen-count 2 \
    --env-per-problem 8 --num-envs 8 --exec-num-envs 8 --vecgen-problems-per-env 1 \
    --render-pass src/toyblocks/domain_randomization/flags/render_flags_plain.yaml
```

来源： [Ai2 博客](https://allenai.org/blog/toyblocks?ref=globalfeed.ai), [GitHub](https://github.com/allenai/toyblocks?ref=globalfeed.ai), [Molmo2-4B-tb](https://huggingface.co/allenai/Molmo2-4B-tb?ref=globalfeed.ai), [ManiFlow-tb](https://huggingface.co/allenai/maniflow-tb?ref=globalfeed.ai), [数据集](https://huggingface.co/datasets/allenai/toyblocks-data?ref=globalfeed.ai)