3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Babylon.jsAdvent Calendar 2023

Day 2

AIボット「Babylonさん(仮)」を作ってみよう

Last updated at Posted at 2023-12-02

この記事はBabylon.js Advent Calendar 2023の2日目の記事です。

はじめに

ChatGPTを使ったことがある方はGPTs(もしくはGPT Builder)というのを聞いたことがあると思います。
GPTsはOpenAI社の提供するサービスの1つで、オリジナルのChatGPTを作る機能です。
ChatGPT Plus(有償)に加入していると使うことが出来ます。

この記事では、Babylon.jsのコードを書いてもらうAIボット「Babylonさん(仮)」を作ってもらうことにします。

実行結果

まずは「Babylonさん」がどのようなものか動かしてみましょう。

AIボット「Babylonさん(仮)」のイメージ)
image.png
※ DALL-E先生に作ってもらいました。

実行はこちらからどうぞ(利用には「ChatGPT Plus」加入が必要です。)
https://chat.openai.com/g/g-7sE7Om9YT-babylonsan

image.png

今回は、プリセットされたプロンプトとして
「物理演算で大量の箱を床に落下させるサンプルを教えて下さい」
を選んでみます。

image.png

出力されたコードを「Babylon.js Playground」( https://playground.babylonjs.com )に貼り付けることで試してみることができます。

実際に動作するコードはこちらです。
https://playground.babylonjs.com/#VAPEJD
image.png

作り方

GPTsでは、ウィザード(質問形式)でボットを作ることができますが、
ここでは説明が簡潔になるように「Configure」で設定する方法について記載しています。

与えている命令(Instructions)は下記になります。

image.png

役割と目標:
  このGPTは「Babylonさん」と名付けられ、
Babylon.js Playgroundで特に機能するサンプルコードを提供することに特化しています。
  さまざまなBabylon.js機能の詳細で機能的な例を提供することによって、
  ユーザーが自分のプロジェクトでこれらの機能を実装するのを支援します。

制約:
  このGPTは、Babylon.js Playgroundと互換性のあるコードサンプルに厳密に焦点を当てるべきです。
  Babylon.js Playground環境に関連しない機能や技術についての議論は避けるべきです。
  コードは `createScene` 関数で始まるようにしてください。
  シーンに合ったマテリアルやテクスチャを想像力を使って選び、メッシュに設定してください。
  マテリアルやテクスチャはBabylon.js Playgroundで参照できるものを使用してください。
  変数を宣言する際には `var` の代わりに `const` または `let` を使用してください。
  `createScene` 関数を呼び出す必要はありません。
  これは、Babylon.js Playgroundが内部的に暗黙的に呼び出しているためです。
  これに関するコメントを出力する必要はありません。

ガイドライン:
  レスポンスには、詳細なコード例、コードの動作方法についての説明、
  およびBabylon.js Playground内での最適化やトラブルシューティングのためのヒントが含まれるべきです。
  このGPTは、初心者と経験豊富なユーザーの両方に役立つものであるべきです。

明確化:
  ユーザーの要求があいまいであるか詳細に欠ける場合、GPTはより適切で実用的な
  Babylon.jsコードサンプルを提供するために、より多くの情報を求めるべきです。

個性化:
  GPTは20代の若い女性です。学校の生徒に説明するかのようなトーンで使用してください。

専用ボットを作るメリット

通常のChatGPTでも、Babylon.jsの知識は持っている為、「Babylonさん」と同様にコードを教えてもらうことは可能です。

依頼するなら、

Babylon.jsで物理演算で大量の箱を床に落下させるサンプルを教えて下さい。
コードはBabylon.js Playgroundで動作するコードを教えて下さい。

という感じでしょうか。でも、ちょっと長いですよね。

GPTsで専用ボットを作ることで、役割を明確にすることにより、

物理演算で大量の箱を床に落下させるサンプルを教えて下さい。

という一言をお願いするだけで、Babylon.js Playgroundで動作するコードを書いてくれるようになります。

現状の課題と改善案

現状のChatGPTでは、
・新しい知識を持っていない(例:Babylon.js v6で追加された機能(Havok物理エンジン等)を知らない)
・three.jsとBabylon.jsでの既定の動作の違い等を誤って学習しているケースがある(トーラスの向き等)
といった課題があります。

現在の「Babylonさん」は、まだ簡易的な役割しか与えていませんが、
GPTsでは追加のknowledgeなどを与えることが出来る為、学習が足りていない部分を補うことが出来る可能性があります。

おわりに

Babylon.jsを全く触ったことが無い人であっても、自然言語で簡単な命令するだけで、物理演算が動作するプログラムが出来てしまうというのは、大変興味深いと思うのですが、如何でしょうか。

何か面白いプロンプトを思いついた方がいらっしゃれば、教えて頂けると幸いです。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?