見出し画像

【GPTs】定期ゲーのスキル作成・キャラクタービルドのサポートAIを作ってみよう!

本記事は「創作キャラクター交流ゲーム Advent Calendar 2023」の25日目の記事となります。
24日目……がまだないため23日目: https://note.com/gigigigiiiii/n/na797656cab4c


はじめに: AIで定期ゲーに切り込む

 昨年夏の画像生成AI『DALL-E 2』公開、そして同年11月の『ChatGPT』公開以来、生成AIはいろんな意味で世界に衝撃を与えまくっております。
 かくいう私も創作方面への応用を色々と試みてきました。最終的には自力でプレイ時間30時間くらいのボリュームの長編RPGを開発することを夢見ております。

 そして今年11月、ChatGPTベースの独自チャットボットが作成できる機能「GPTs」が解禁されました。普段ChatGPTに対して行うように「こんなのが作りたい」と対話していくだけでも完成する上に外部ファイル・API連携による凝った機能も実現できるシロモノで、ユーティリティ的なものやスタイルを指定しての画像生成、TRPGなどの実例が続々公開されています。noteを#GPTsタグで検索していただければ大体のノリはつかめるかと。
 私も自創作世界を冒険できるシミュレーターを公開しております。よかったらご覧いただけると嬉しいです。

 さて、昨年のアドカレでもChatGPTに定期ゲのスキルを考えてもらいましたが……

 あれからChatGPTも比べ物にならないほどパワーアップしました。有料サブスク限定ですが当時使っていたGPT-3.5より強力なGPT-4が使用可能になりましたし、そのGPT-4自体も大幅に強化されています……最新版「GPT-4 Turbo」は本にして300ページ分(128,000トークン)もの情報を入力として受け入れられるようになったとかなんとか。
 これだけできるのなら、作成中の定期ゲーのゲームシステムなどの情報を全部与えてAIに新しいスキルを考えてもらったり、逆にプレイヤー側からはビルドの相談をしたりもできるようになったりするのではないか……?
 
今回の記事ではそんな構想を実現するGPTsを作ってみました。

Teiki AI

 というわけで早速GPTsを一本こさえてみました。名付けてTeiki AI(仮)。以下からアクセスできます。

https://chat.openai.com/g/g-lSvQFpUVN-teiki-ai

 使用にはChatGPTの有料サブスクへの登録が必要となります。登録されていない方向けに以下にスクショつきの説明を載せていきたいと思います。というか登録されてる方も動作イメージなどありますので読んでいただければ幸いです。長くてすみませんが……

起動

 アイコンはChatGPTと連携できるようになったDALLE-3に作ってもらいました(GPTsの機能として自動的にそれっぽいアイコンを生成してもらえるようになっています)。
 下のボタンのどちらかを押して次へ進みます。

スキル作成モード

 立ち上げの文言は完全に決まってます(決まってるはずなのですがChatGPT側が勝手に変えてしまうことが度々あります)。さっそく「こんなスキルがほしい」というのを入れてみましょう。
(なおゲームシステムは昨年同様「栗鼠ゲライク」を想定してます。どういうものかは昨年の記事で簡単に紹介しておりますので、お手数ですがそちらをご覧ください。加えて今年は射程概念など「Story of Lost Artifact」も参考にさせていただいております)

 さっそくそれっぽいのが出てきました。次はもっとふわっとした要求をしてみましょう。

 中身を出してないので恐縮ですが未知の概念を勝手に作ってしまってます。修正をお願いします。

 与えたデータを参照し、勝手にありもしない概念を用意していたことは認めてくれましたがパッシブスキル誘発の部分が抜けてしまっています。再度修正をお願いします。

 また存在しない概念が復活してる上に利敵行為になってしまってますね……

 コンセプトだけで指示するのはまだ難しそうなので、ある程度詳しく案出しするか、名前だけ与えたほうがいいのかもしれません。

キャラクタービルドアドバイスモード

 キャラクターの設定と「どんなふうにしたいか」を書き込むことで、キャラクターのスキルリストと戦術面での解説をしてくれることを想定したシステムです。

 ただ、2023/12/25現在うまく動いてないです。とりあえず以下のような感じになるのですが……

 それっぽく動いてはいるものの要件を守れていないです。まず通常時スキルが上の方にいくつも並んでしまってます。こういう組み方をした時の処理はゲームによって異なると思いますが今回は『(スキル一覧を上から見て行って)通常時条件のスキルが参照されたらSPが足りてる限り無条件にそれを発動』というルールなので上みたいな状態だと一生ポイズンしか出さないキャラになります。言いたいことも言えない。13行動毎も2つ入っちゃってますね。『同じ条件のスキルは2つ以上同時に入れない』というルールを入れてあるのですが、無視されてしまっています。 
 またスキルの並び順も(1)1行動目条件のスキルがあったらまずそれを一番上に、(2)n行動毎のスキルを間隔が大きい順に並べる、(3)残りの通常時以外の条件のスキルを並べる、(4)通常時スキルを置く、(5)パッシブスキルを並べていく、という決まりにしているのですが守られてないです。

 この後修正をお願いしたのですが、やはり同じ条件のスキルが混ざるなどルールが守られていないです。

中身について

 ここからは「Teiki AI」の中身……というかどんなふうに情報を与えているかについて説明していきたいと思います。
 GPTsに与える情報としてはInstructionsKnowledgeの二つがあります。Instructionsは「どんなチャットボットにするか」について大まかな情報を記入するところになります(機能が単純なものならこれだけでも十分ではあります)。一方KnowledgesはGPTsにファイルを参照させることができるもので、大量に情報を与えたい場合こっちを使ったほうが良いと思います。

Instructions

 Teiki AIのInstructionsは以下のようになっております。

The GPT functions as a chatbot that provides advice about the fictional game "Squirrel Successors".
"Squirrel Successors" is one of the "Teiki-koushin" games, which features players bringing original characters and making them active.
This chatbot accepts suggestions for skills used by characters in "Squirrel Successors" and consultations on character development policies (character build).
The details of the desired behavior of this chatbot are described in Knowledge's "Global.txt", so always refer to that file when responding.

(日本語訳: GPTは"Squirrel Successors"という架空のゲームに関するアドバイスを提供するチャットボットとして機能する。"Squirrel Successors"はプレイヤーがオリジナルキャラクターを持ち寄って活躍させる「定期更新ゲーム」の一つである。本チャットボットは"Squirrel Successors"のキャラクターたちが使用するスキルの考案、及びキャラクターの育成方針(キャラクタービルド)に関する相談を受け付ける。本チャットボットの想定される振る舞いはKnowledgeの「Global.txt」に詳しく記載されているため、応答の際には常に参照すること)

Knowledge

 本GPTのKnowledgeは役割別に複数のファイルに分かれています(前に作ったやつで、1つに全部まとめるとどうも精度が落ちる感があったためです。長大なインプットが扱えるとはいってもある程度的を絞れるようにしておいたほうがいいのかもしれません)。
 ファイルの一覧を以下に記します。

Global.txt: プロンプトインジェクション対策、チャットボットとしての役割の概要、スキル設計モード・キャラクタービルドアドバイスモードそれぞれへの移行に関わる部分が書かれています。ここからスキル設計モードなら後述の「Prompt_SkillCreate.txt」を、ビルドアドバイスモードなら「Prompt_CharacterBuildSuggestion.txt」を参照します。またどちらのモードでも常に「Prompt_GameSystem.txt」を参照するように指示してあります。
Prompt_GameSystem.txt: 取り扱う定期ゲーのゲームシステムが記載されたファイルです。キャラクターのパラメータ、戦闘ルール、アクティブスキル/パッシブスキルに関する記述が一通りあります。
Prompt_SkillCreate.txt: スキル設計モードに関する記述があるファイルです。新スキル案を出力するにあたって守るべき様式、スキル設計の要件(※1)、返答の様式が書かれています。設計時の参考として「Example_Skills.txt」を参照する指示も行っています。
Prompt_CharacterBuildSuggestion.txt: キャラクタービルドアドバイスモードに関する記述があるファイルです。ビルドアドバイスを行うにあたって守るべき要件や、返答の様式、スキルリスト作成にあたってのステップが書かれています。キャラクターに持たせるスキルの参考として、こちらからも「Example_Skills.txt」を参照するようにしてあります。
Example_Skills.txt: スキル例の一覧が載っているテキストです。攻撃系/回復系などいくつかのカテゴリに分けて記載されています。スキル効果以外にどのようなスキルかの1行解説も添えられています。余談ですがこれの作成が一番大変でした……スキル例を何百と作れてたらChatGPTが参照できる情報が増えて精度が上がったりしたのか、それとも情報過多でよろしくなくなってしまったのか、現状はちょっとはっきりしません。それこそChatGPTにいくつか作ってもらって足してけばよかったか……

 ファイルごとの関係性を図にして表すと以下のようになります。

(※1)「1. 入力を要素に分解して解釈する」「2. 1で分解した要素を総合的に考えて効果を決める」……というようにステップを踏んで考えるよう指示しています。こうするとAIがより良い回答をすることが知られています(Chain-of-Thought: CoT)。

 以上Knowledgeファイルの内容は下記URLに公開しておきます。今後定期ゲー向けのGPTsを開発してみたい、という方はご参考までに。

https://github.com/uedadaze/TeikigeGPTs

まとめとか

 いまいちパッとしない結果になってしまい申し訳ございませんでした。もう少し時間をかけて取り組んでいればと思っています。

 こちらの指示がよくなかったりChatGPTを使いこなしきれてないのもあるのかもしれませんが、情報をたくさん受け付けることはできても全てのルールを厳密に守ることはまだ難しい、という印象を受けました。そういう意味では去年やったやつのようにフォーマットも含めてある程度自由にやらせてしまい、人間の側で吟味する(あるいは吟味した上でそれについてまたChatGPTと相談する)くらいの方が良いのかもしれません。突飛なアイデアも出してくれるかもしれませんし。あとは同じゲームに関することだから、と1つのGPTsにスキル設計とビルドアドバイスと両方詰め込んでしまいましたが分けたほうがよかったかもしれません。ルールやスキルのテキストを両方に入れとけばいいだけなので。
 またGPTsは外部APIを叩きにいかせる設定もできるので、Amazon AWSあたりと併用してより凝ったことができるようにもできるのではないかと思ってます。お金の問題があるのでやるとなったら非公開でのテストになるでしょうが……

 ビルドアドバイスのAIについてはいずれ本格的に実現できればいいなと思っています。私も定期ゲーのRP部分は大好きなのですがバトルがどうしても苦手なので、キャラ設定に応じてふさわしいビルドを自動的に考え、設定もしてくれる……みたいなシステムがあったら多分使ってしまうでしょう。もちろん普通に「こんなスキルはないか」「こんな状況に対応できるようにしたいがどうしたらいいのか」といつでも気軽に相談できるようなAIがあればみんな嬉しいとは思います。上級者の方はDiscordとかでどんどん積極的に議論をかわしてるイメージがありますが、自分のペースで考えたくてその上で話し相手が欲しい、という需要もあるとは思うので……

 来年のアドカレももしかしたら同じようなテーマになるかもしれませんが、その時どこまでできるようになっているかは楽しみです。
 ここまでお読みいただき、ありがとうございました。良いお年を。

(※2)ちなみにトップ絵ですが、この記事を一通り書いた後で今回作ったGPTsに「このGPTsのアイコンと同じような絵を描いてほしい」とお願いしたら出てきたものです。

この記事が気に入ったらサポートをしてみませんか?