コルネさん主催のイベント、【JPPGB】ゲーム作成コンテスト #0のエントリー作品として、Power Appsでリバーシを作成しました。
アイディア賞を受賞しました!コルネさんをはじめとする運営のみなさまありがとうございました!
今回は、その制作過程とその中でChatGPTを利用してみた感想を書いていきます。
Githubからダウンロードして遊べます。
→【仕様紹介編】Power AppsでChatGPTと協力してリバーシを作ってみた
この記事では、
- GPT-3, GPT-3.5での回答の差
- Power Appsでの開発におけるChatGPTの有用性
- Power Appsで作成したリバーシの制作過程
について解説します。
結論:複雑なアプリでは、ChatGPT任せの開発は難しい
このゲーム作成コンテストを知ったのが作品提出の一週間前ということで、開発スピード向上のためにChatGPTに全てを任せて開発をしてみることにしました。
しかし最終的にはほとんどのロジックを自分で考え、ChatGPTに補助をしてもらう形でリバーシを完成させました。
以下にその過程と理由を説明していきます。
ChatGPT任せの開発 (GPT-3)
質問:「Power Appsでリバーシを作成する手順を、具体的なロジックとともに教えて下さい。 Power Appsの機能や制約にも留意しながらお願いします。」
ChatGPTの回答:「(前略)ただし、Power Appsは比較的単純なビジネスアプリケーションの作成を目的としており、ゲーム開発には特化していないため、高度なアニメーションやAI対戦などの機能は実装しづらいかもしれません。」
ごもっともです。
この他にもプロンプトを変えて何度か質問してみましたが、他の言語のコードが生成されたり上記のような言い訳をしてコードを生成してくれなかったりしたため、GPT-3.5にアップグレードすることにしました。
ChatGPT任せの開発 (GPT-3.5)
アップグレードを済ませ、先ほどと同じ質問をしてみました。
質問:「Power Appsでリバーシを作成する手順を、具体的なロジックとともに教えて下さい。 Power Appsの機能や制約にも留意しながらお願いします。」
ChatGPTの回答:
他にも、WhileやExitが入っているC#の数式を生成することもありました。
GPT-3.5にアップグレードすることでより適切な手順や代替手段の提示ができるようになりましたが、AIにPower Appsでのリバーシの開発を任せるのは難しいという結論に至りました。
どのようにChatGPTを活用するか?
今回はPower Appsが得意とするビジネスアプリの構築ではなかったので求めている結果を得られませんでしたが、通常のビジネスアプリの構築では十分に利用価値があると思います。
得意なこと
他のプログラミング言語と同様、開発手順の提示や数式を組んでもらうことはもちろん、業務ではチャット形式を活かして初心者の育成に利用しています。
このリバーシアプリでは具体的なコードは得られませんでしたが、コードを書くためのロジックを整理することができました。
またリバーシアプリでは、上方向の石を判定するロジックを他の方向も同じように生成するなど、一定のルールに沿ってコードを書き換えるのにも利用しました。
不得意なこと
Power Appsは細かくプロパティが分かれているため、コードの生成とそのコピペがしづらい印象を受けました。
それに関連して、コードが一文でまとめて生成されるため、コンポーネントなどを利用したロジックの共通化も難しそうです。アップデートに期待ですね。
関数の説明はまだまだGoogle一択です。
プロンプトエンジニアリングの基本を知る
「While関数やExit関数を使用しないでください」のような「しないこと」を指示するのではなく、「While関数やExit関数を使用なければならない場合は、実装できないと言ってください」のように「すること」を指定してあげるなどのプロンプトエンジニアリングを学ぶと、より確実な結果が得られます。
参考→https://www.promptingguide.ai/jp
GPT-3.5, GPT-4へのアップグレード(課金)は必要?
GPT-3でも開発するのに十分な結果が得られるので、日常的にChatGPTを利用していない限りは課金する必要はないと感じました。
まずはGPT-3を使い込んでみて下さい。
制作過程
最後に、少しだけ制作過程の画面を紹介します。
ロジックを組んでいるところ。置ける場所の判定とひっくり返す石の判定ロジックにとても苦労しました。
CPUに三連敗したところ。うまく動いてくれた喜びと自分で作ったCPUにさえ負けてしまう悲しみで感情がぐちゃぐちゃになりました。
別アカウントでサインインしてオンライン対戦をしているところです。
まとめ
- GPT-3よりもGPT-3.5の方が適切な結果を返すが、高度なコードを求めていないのであればGPT-3で十分
- 開発手順やロジックの整理、ルールに沿ったコードの生成は十分に活用できる
- コンポーネントの使用など、パフォーマンスなどを考慮した最適なロジックの生成は現時点で難しい
※この文章はAI生成文ではありません。
コメント