Voyager  by MineDojo

Minecraft agent for open-ended embodied learning via LLMs

created 2 years ago
6,250 stars

Top 8.4% on sourcepulse

GitHubView on GitHub
Project Summary

Voyager is an open-ended, lifelong learning agent for Minecraft, designed to explore, acquire skills, and make discoveries autonomously. It targets researchers and developers in embodied AI and reinforcement learning, offering a framework for agents that can continuously improve and generalize their capabilities without human intervention.

How It Works

Voyager employs a modular architecture comprising an automatic curriculum for exploration, a dynamic skill library for storing and retrieving executable code (skills), and an iterative prompting mechanism. This mechanism leverages GPT-4 for program generation, incorporating environment feedback, execution errors, and self-verification to refine skills. The "blackbox" interaction with GPT-4 avoids the need for model fine-tuning, enabling rapid skill compounding and mitigating catastrophic forgetting.

Quick Start & Requirements

  • Install: pip install -e . after cloning the repository.
  • Prerequisites: Python ≥ 3.9, Node.js ≥ 16.13.0, OpenAI API key (GPT-4), Minecraft Java Edition, Fabric mods, and specific Node.js packages (npm install in voyager/env/mineflayer and mineflayer-collectblock).
  • Setup: Requires manual Minecraft setup, including launching a LAN world with cheats enabled.
  • Docs: Website, Arxiv.

Highlighted Details

  • Achieves 3.3x more unique items, 2.3x longer travel distances, and up to 15.3x faster tech tree milestone unlocks than prior state-of-the-art.
  • Demonstrates lifelong learning and generalization by utilizing learned skills in new Minecraft worlds.
  • Skills are temporally extended, interpretable, and compositional.
  • Interacts with GPT-4 via blackbox queries, bypassing fine-tuning.

Maintenance & Community

  • Developed by MineDojo.
  • Research project, not an official NVIDIA product.

Licensing & Compatibility

  • MIT License. Permissive for commercial use and closed-source linking.

Limitations & Caveats

The project is strictly for research purposes. Task decomposition may occasionally require reruns if sub-goals are flawed. Initial setup involves several manual steps across Python, Node.js, and Minecraft configurations.

Health Check
Last commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
1
Star History
203 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.