ファンリピート社のブログFR note

MinecraftにAIが出現?!Voyagerについて構築方法など解説!

こんにちは。ファンリピートの鳴海です。

VoyagerというMinecraftでまるで人間が操作しているかのように木を掘ったり、ピッケルを作ったりと自らAIが学習して進めるという驚愕的な内容について説明していこうと思います。

目次
「システムを短納期かつ低予算で作成したい」
ローコード開発に興味がある

どんなものか?

自身のサーバーにbotというのが参加し、設定されたタスクにおいて、どのように行えばいいかというのをOpenAIにリクエストし、返却された値をスクリプト化して実行しているみたいです。

左がminecraftの画面で、右がスクリプト実行画面です。

歩いて、木を獲得している動画

Voyager-歩いて木を獲得.mp4
Voyager-歩いて新しい木を獲得.mp4

石を掘るためにピッケル作成

Voyager-クラフトテーブルを作成し、ピッケルを作る.mp4

石を掘る

Voyager-土を掘り、石を獲得する.mp4
Voyager-石を獲得する。.mp4

Minecraftとは

Minecraftは、独特なゲーム体験と幅広い人気を誇るサンドボックス型ビデオゲームになっています。

開発の歴史

スウェーデンのソフトウェアプログラマーのマルクス・ぺルソン(Notch)によって2009年にMojang Specificationsを設立し、Minecraftが開発されました。

公式リリースとしては、2010年5月にユーザーがプレイ可能なアルファ版がリリースされて、2011年11月に正式にリリースされたとのことです。

また、2014年にMicrosoftがMojangを約25億ドルで買収し、Minecraftの開発及び管理など引き継ぎ、強力なブランドとプレイヤーベースを獲得し、ゲームを活用した学習体験にも力を入れたとのことです。

Encyclopedia Britannica
Minecraft | Popularity, Game Modes, & Creator Minecraft, open-world electronic game in which players manipulate an environment composed of virtual 3D blocks. With its simple graphics and relatively modest s...

ゲームの特徴

土や木といった3Dブロックで構成されたシンプルなグラフィックスで、プレイヤーが仮想環境を操作する自由自在なオープンワールドのゲームです。RPG要素としても備わっており、ゾンビやスケルトン、洞窟などといった冒険もすることが可能になっています。

人気度

2023年時点でMinecraftは、史上2番目に高い売上を記録したゲームとなっており、特に10代層に人気があるとのことでした。

Minecraftのプランの中に、「Minecraft: Education Edition」という教育目的で、学校のカリキュラムでコーディング、歴史、地理、数学などの分野で創造性と問題解決能力を養うことができるようになっており、今後もそういった世界中の多くの学校のカリキュラムに取り入れていくみたいです。

Encyclopedia Britannica
Minecraft | Popularity, Game Modes, & Creator Minecraft, open-world electronic game in which players manipulate an environment composed of virtual 3D blocks. With its simple graphics and relatively modest s...

Voyagerとは

OpenAIのGPT-4を活用した学習型のbotとなっており、人間の操作なしに探索や探検を自ら行うボットになります。

Voyagerの概要

自動カリキュラム、スキルライブラリ、および環境フィードバックを取り入れた反復プロンプトメカニズムという三つに構成されており、自動的な操作が可能になっています。

Voyagerと従来のAI手法の違い

今までは大量のデータを読み込ませてAIを学習させて、行動させるという基本的な行動を行ってきましたが、それでは人間のような探索、解釈などが難しいということがありました。

ですが、OpenAIのLLM(自然言語モデル)という言葉を理解して処理を行うという技術を使っているため、どのようなタスクや内容においてもそのツールを行い、実行するためのコードを生成して、評価を行うことで動作の自動化を行えるようになっています。

Voyagerの実装と運用

Voyagerには、実行結果やエラーのフィードバックを通じて自動的にコードを修正する機能が含まれています。

そのため、タスクに成功した場合のみ、そのコードがスキルライブラリに保存され、後に同様の状況で再利用することができます。

また、OpenAI APIの利用には1時間あたり約5ドルのコストがかかります。さらに、Voyagerを実行すると、イベントの履歴などがプロジェクトルートにある/ckptディレクトリに保存され、GPTへのリクエストも公開されているため、私が普段使っているchatgptにおいても、参考になるようなプロンプトがあるかもしれません。

OpenAIとは

上記で度々でてきたOpenAIについて、簡単な説明をしたいと思います。

OpenAIについての概要

人工知能(AI)分野の研究と開発を目的とする非営利団体です。

2015年に設立され、イーロン・マスクやサム・アルトマンなどの著名な技術者や起業家によって支援されています。OpenAIの主な目標は、人類全体に利益をもたらすことができる安全で強力なAIを開発することです。

あわせて読みたい

OpenAIの主要プロジェクト

多くの注目すべきプロジェクトを手掛けています。

その中でも特に知られているのが、自然言語処理における先進的なモデル「GPT」シリーズです。

GPT-3や最近のGPT-4は、深層学習を用いて人間のようなテキストを生成する能力を持ち、多くの産業で応用されています。また、コンピュータビジョンやロボティクス分野でも革新的な研究を行っており、AIの可能性を広げています。

OpenAIの影響と未来

OpenAIの取り組みは、AI技術の発展に大きな影響を与えています。

特に、教育、医療、エンターテイメントなど様々な分野でのAIの応用は、社会に新たな価値をもたらしています。今後もOpenAIは、AIの倫理的な使用を推進し、安全で責任あるAI技術の開発に貢献することが期待されています。

構築方法について

主に下記GithubのREADME.mdで説明していければなと思います。

GitHub
GitHub - MineDojo/Voyager: An Open-Ended Embodied Agent with Large Language Models An Open-Ended Embodied Agent with Large Language Models - MineDojo/Voyager

また私の環境はWindowsとなっていますので、macの方はREADME.mdの方を参考にしていただければなと思います。

はじめに

コマンドプロンプトで以下を実行し、Voyagerのクローン、pythonライブラリのインストールを行います。

git clone https://github.com/MineDojo/Voyager

cd Voyager

pip install -e .

次にNode.jsをインストールします。

cd voyager/env/mineflayer

npm install -g npx

npm install

cd mineflayer-collectblock

npx tsc

cd ..

npm install

Minecraftの準備

Voyager側でもしタイムアウトが発生した場合、手動で再起動させないといけないのですが、それを自動化してくれる機能がAzure側で提供されていますが、一時的に試したいことであれば飛ばしていただいて問題ありません。

完全自動化したい方は下記のMicrosoft Azure Loginを参照してください。

GitHub
Voyager/installation/minecraft_instance_install.md at main · MineDojo/Voyager An Open-Ended Embodied Agent with Large Language Models - MineDojo/Voyager

FabricというMOD(Voyagerを動作させるために必要なライブラリ)を読み込ませるために、下記サイトで、1.19versionをインストールします。

Fabric
Installation for Minecraft Launcher The home of the Fabric mod development toolchain.

次にダウンロードしたfabricを開き、Minecraftのversionを1.9にしてinstallします。

次にMinecraft launcherを開き、赤枠のランチャーを指定し、プレイを押下します。

Fabric
Installation for Minecraft Launcher The home of the Fabric mod development toolchain.

左下にfabricと表示されていればOKです。

MODの追加

YOUR_MINECRAFT_GAME_LOCATION/modsのフォルダに以下それぞれを1.9のversionに対応するようにインストールします。

※READMEでは、Better Respawnをコンパイルしていれないといけないのですが、少し手順が複雑なので、スキップします。

  1. https://modrinth.com/mod/fabric-api/version/0.58.0+1.19
  2. https://cdn.modrinth.com/data/mOgUt4GM/versions/4.0.4/modmenu-4.0.4.jar
  3. https://www.curseforge.com/minecraft/mc-mods/completeconfig/download/3821056
  4. https://www.curseforge.com/minecraft/mc-mods/multiplayer-server-pause-fabric/download/3822586

スクリプトの実行

次にVoyagerを実行させるためのファイルを作成します。

from voyager import Voyager

openai_api_key = "${OpenaiのAPIキー}"

voyager = Voyager(

    openai_api_key=openai_api_key,

    mc_port="${ポート番号}",

    resume=False

)

# start lifelong learning

voyager.learn() 

${OpenaiのAPIキー}に入力を忘れないように注意してください。

ポート番号は、サーバーを作成しないといけないので、Minecraftの画面からシングルプレイ>ゲームモードをクリエイティブ>難易度をピースフルにして、作成します。

作成後にEscを押下>LANに公開>ゲームモードをサバイバル、チートを許可をONにして、公開します。

そうするとチャット欄にポート番号が表示されるので、そちらを先ほどのスクリプト内の${ポート番号}に置き換えします。

そして、Voyager側で、以下コマンドを実行するとbotがサーバーに入り、自動的に探索が始まります。

python main.py

まとめ

今回はVoyagerについて解説しました。
OpenAIの言語モデルでもはや人間のように探索している姿を見ていて、本当にAIモデルが進化しているなと感じました。

当社では現在一緒に働くメンバー募集しています!
正社員
システムエンジニアとして当社のシステム開発業務に携わってみませんか?
未経験者から経験者まで広く募集しているのでぜひエントリーをお待ちしています。

「システムを短納期かつ低予算で作成したい」
ローコード開発に興味がある
「煩雑なExcel管理から脱したい」
慣れ親しんだシステムを使って効率化したい
「大規模なシステム開発を行うためにPoCを行いたい」
「社内のDXを進めていきたい」
  • URLをコピーしました!

この記事を書いた人

株式会社ファンリピートのアバター

株式会社ファンリピート

FRnoteは株式会社ファンリピートのメンバーによって運営されている社内ブログです。ノーコード・ローコードの技術ブログを始めとして、最新のIT技術、業務で役立つノウハウなど様々なトピックをまとめています。


目次
閉じる