Mindcraft – LLM+MineflayerでMinecraft AIを実現
Mindcraftは、大規模言語モデル(LLM)とMineflayerを組み合わせて、Minecraft向けのインテリジェントなAIエージェントを作成するオープンソースプロジェクトです。OpenAI、Google、Anthropicなど複数のLLMプロバイダーをサポートし、タスク自動化、会話、コード実行が可能です。デフォルトではコード実行が無効になっており、セキュリティに配慮されています。
Mindcraftは、大規模言語モデル(LLM)とMineflayer(Node.js製のMinecraftボットライブラリ)を統合し、Minecraft内で動作するAIエージェントを実現するオープンソースプロジェクトです。複数の開発者によって貢献されており、関連研究論文「Collaborating Action by Action: A Multi-agent LLM Framework for Embodied Reasoning」も発表されています。
主な機能
Mindcraftを使用すると、GPT、Gemini、ClaudeなどのさまざまなLLMモデルを設定して、Minecraft内のボットを駆動できます。ボットは自然言語の指示を理解し、アイテム収集やクラフトなどのタスクを実行し、会話も可能です。OpenAI、Google、Anthropic、DeepSeek、Ollamaなど多数のAPIプロバイダーに対応しており、設定ファイルにAPIキーを記入するだけで利用できます。
セキュリティ警告
LLMがコードを生成・実行できるため、プロジェクトはデフォルトでコード書き込みを無効にしています。有効にするにはsettings.jsでallow_insecure_codingをtrueに設定する必要がありますが、セキュリティリスクを理解した上で行ってください。開発者はDockerコンテナ内での実行を強く推奨しており、それでも完全な安全性は保証されないと注意を促しています。
クイックスタート
- Minecraft Java Edition(最大v1.21.11、推奨v1.21.6)とNode.js(推奨v18またはv20 LTS)をインストールします。
- 最新リリースをダウンロードするかリポジトリをクローンし、
keys.example.jsonをkeys.jsonにリネームしてAPIキーを記入します。 npm installを実行して依存関係をインストールし、MinecraftでLANサーバーを起動します(デフォルトポート55916)。node main.jsを実行してボットを起動します。
タスクシステム
MindcraftはJSON設定ファイルによる自動タスクをサポートしています。例えば、ボットに4個のオークの原木を収集させるには:
node main.js --task_path tasks/basic/single_agent.json --task_id gather_oak_logsタスクファイルでは目標アイテム、初期インベントリ、タイムアウトなどを指定できます。複雑なタスクについてはMinecollabの手順を参照してください。
カスタマイズと拡張
andy.jsonなどのプロファイルファイルを編集することで、ボットの名前、モデル、プロンプト、動作をカスタマイズできます。チャット、コード生成、視覚、埋め込み、音声合成に異なるモデルを指定することも可能です。また、Dockerfileとdocker-compose.ymlが用意されており、コンテナ化によるデプロイに対応しています。
コミュニティと貢献
GitHub上でオープンソースとして公開されており、5,400以上のスターと838のフォークを獲得しています。Pull Requestによる貢献を歓迎しますが、GitHub Issueへの対応は遅れることがあるため、Discordコミュニティでのサポートを推奨しています。
Mindcraftは、MinecraftプレイヤーやAI愛好家にとって、ゲーム環境におけるLLMの可能性を探求するための優れたプラットフォームであり、学術研究から趣味の実験まで幅広く活用できます。