← all repositories
mila-iqia/babyai

BabyAI: A retired gym for teaching agents to follow orders

A once-active research platform for grounded language learning that has been absorbed into the broader Minigrid ecosystem.

763 stars Python AgentsLanguage Models
babyai
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

BabyAI provides grid-world environments where an agent must interpret natural language commands like “go to the red ball” and execute them. It ships with a hand-coded bot that can generate demonstrations, plus imitation learning scripts to train agents from those demonstrations. The observation format is a compact 7×7×3 symbolic encoding by default, not raw pixels.

The interesting bit

The platform was designed specifically to study sample efficiency in grounded language acquisition — how few demonstrations an agent needs to grasp new commands. The included bot isn’t just a trainer; it’s a benchmark, producing trajectories that reveal how much linguistic structure the learner actually extracts versus how much it merely memorizes.

Key highlights

  • 19+ environment levels scaling from simple object navigation to multi-step reasoning with conjunctions and relative clauses
  • Built-in BabyAI bot generates expert demonstrations for imitation learning curricula
  • Tight coupling with OpenAI Gym and PyTorch 0.4.1+ era tooling
  • Published baselines from ICLR 2019 and a 2020 follow-up paper
  • All environments now live in Minigrid; this repo is not actively maintained

Caveats

  • Deprecated: The 2023 update explicitly states this repository is unmaintained; new work should use Minigrid directly
  • Pixel observations (RGBImgPartialObsWrapper) are incompatible with the provided imitation learning demonstrations
  • Installation requires manual cloning of the separate gym-minigrid dependency and setting a BABYAI_STORAGE environment variable

Verdict

Worth a look if you’re reproducing the ICLR 2019 or BabyAI 1.1 baselines, or want to study how the demonstration bot constructs its curricula. Skip it if you’re starting fresh — head to Minigrid and the rl-starter-files repository instead.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.