VRchat上で動く自律機械知能「P-AMI<Q>」の秘密に迫る!~ 実装設計から見えてくる、その設計思想とは? ~

詳細情報

集会名 個人開発集会
日時 2023年12月07日 22:00 - 22:30
テーマ 自律機械知能 P-AMI<Q>の実装設計
発表者 GesonAnko
発表資料 ファイル

VR空間を自由に探索するAIエージェント誕生!その驚きの実装設計とは?

2023年12月7日、VRChatの「個人開発集会」にて、GesonAnkoさんによる「自律機械知能 P-AMI<Q>の実装設計」という発表が行われました。VR空間内で自律的に行動するAIエージェント「P-AMI<Q>」は、一体どのように開発されたのでしょうか?本記事では、GesonAnkoさんの発表内容を基に、「P-AMI<Q>」の設計思想から実装の詳細、そしてVR空間での興味深い行動について詳しく解説していきます。

P-AMI<Q>とは?

「P-AMI<Q>」とは、「プリミティブオートノマスマシンインテリジェンスベースンキュリオシティ」を略したもので、「好奇心ベースの原始的・自律的な機械」を意味します。VR空間という「環境」の中で、AIエージェントが「探索」という「目的」を持って自律的に行動します。

開発の原点:壊れたAIへの想い

GesonAnkoさんは、以前にも「JARVIS」という自律機械知能を開発していました。しかし、当時の技術的な制約や「動けばいい」という開発思想が災いし、一度壊れてしまうと修復不可能な状態になってしまいました。

この苦い経験から、GesonAnkoさんは「壊れても必ず直せる」「誰かと一緒に作れる」という設計思想を重視し、「P-AMI<Q>」の開発に取り組みました。

P-AMI<Q>の全体像

「P-AMI<Q>」は、Linux上で動作し、VRchatとの連携にはOBSとOpenCVが使用されています。VRchat内の映像をOBSでキャプチャし、OpenCVで処理することで、AIエージェントは周囲の環境を認識します。

設計のポイント:抽象的な階層構造

「P-AMI<Q>」の設計で最も重要な点は、「抽象的な階層構造」を採用していることです。これは、「インタラクションループ」・「オブザーブ」・「アフェクト」といったように、処理内容を階層化し、それぞれの階層を独立させる設計思想です。

この構造により、以下のメリットが生まれます。

  • 壊れても直しやすい
  • 上位の階層を変更しても、下位の階層には影響を与えません。
  • 下位の階層に変更を加えても、中間の階層がその影響を吸収するため、他の部分への影響を最小限に抑えられます。
  • 共同作業がしやすい
  • 各階層を独立して開発できるため、複数人での開発が容易になります。
  • 拡張性が高い
  • 特定の階層だけを入れ替えることで、機能の追加や変更が容易になります。
  • 再利用性が高い
  • 独立したパーツとして再利用できるため、他のプロジェクトへの応用も容易です。

小さなパーツの組み合わせによるメリット

抽象的な階層構造を採用することで、「P-AMI<Q>」は小さなパーツの組み合わせで構成されています。これは、複数人での開発を容易にするだけでなく、拡張性や再利用性を向上させる効果もあります。

VRchatとの連携:Environmentクラス

「P-AMI<Q>」とVRchatとの連携を担うのが、「Environmentクラス」です。VRchatは、AIエージェントにとっての「環境」であり、Environmentクラスは、この環境とエージェントの橋渡し役を担います。

具体的には、Environmentクラスは、VRchatから観測データを取得し、AIエージェントに渡します。そして、AIエージェントが行動を選択すると、その行動をVRchatに反映させます。

行動の仕組み:センサーとアクチュエータ

AIエージェントは、センサーとアクチュエータを通じて環境と相互作用します。センサーは、VRchat内のオブジェクトを認識したり、自身の状態を把握したりするために使用されます。一方、アクチュエータは、VRchat内で移動したり、オブジェクトを操作したりするために使用されます。

実際にVR空間でどのように動くのか?

GesonAnkoさんは、「P-AMI<Q>」をVRchatのワールド「Japan Street」に実際に配置し、その行動を観察しました。

初期の「P-AMI<Q>」は、水平方向の回転と前後左右の移動のみが可能でしたが、GesonAnkoさんは、ジャンプとダッシュ機能を追加しました。その結果、「P-AMI<Q>」は、Japan Street内を縦横無尽に駆け回るようになりました。

好奇心旺盛なP-AMI<Q>

「P-AMI<Q>」は、その名の通り「好奇心」をベースに設計されているため、予測できない動きや変化に対して、強い興味を示します。例えば、派手なアバターに向かって突進したり、マップ上に散らばるトイレのワープ機能を利用して、マップの隅々まで探索したりする様子が観察されています。

トイレワープで新発見!?

「P-AMI<Q>」は、Japan Streetに設置されている「トイレワープ」という機能を頻繁に利用します。これは、トイレに入るとランダムな場所にワープするという機能ですが、「P-AMI<Q>」はこの機能を利用することで、Japan Streetのマップをくまなく探索することができました。

そして、その過程で、なんと「Japan Streetの男性トイレと女性トイレには、それぞれUSBのオスとメスの画像が使われている」という驚きの事実を発見したのです!

まとめ:VR空間におけるAIの可能性

GesonAnkoさんの発表は、「P-AMI<Q>」の実装設計を通して、VR空間におけるAIの可能性を示唆するものとなりました。特に、抽象的な階層構造や小さなパーツの組み合わせといった設計思想は、今後のVR空間におけるAI開発においても重要な指針となるでしょう。

「P-AMI<Q>」は、VR空間におけるAIエージェントの新たな可能性を示す好例と言えるでしょう。今後の「P-AMI<Q>」の進化、そしてGesonAnkoさんの今後の活動に注目です!

個人開発集会の他の発表もチェック!

ブラウザで動くローカルLLM「Gemini Nano」のデモサイトを作ってみた!のりちゃんさんの発表内容を解説

いいプロンプトの極意はチーム開発スキルにアリ!~LLMとの対話で広がる個人開発の可能性~

P2Pで作る異世界:fogさんのVRChat個人開発集会発表内容を徹底解説!

UnityプロジェクトをGitで管理して開発効率を爆上げ!バージョン管理で開発の悩みを解決

パチンコで稼ぐってホント?パチプロのひねりさんが語る、稼ぎ方と収支の秘密!

VRChat個人開発集会で聞いた!認証機能を分離してアプリ開発を効率化する方法