LoginSignup
1
0

スマホゲームでのChatGPTの活用 アンジュ・リリンクのエイプリルフール施策

Posted at

はじめに

今回は業務においてChatGPT を活用した件についてお話しします。
作ったものは、2023年4月1日(土)の24時間のみ公開された、エイプリルフール限定施策のWebサイトです。

【日向美海の事件簿2】
アンジュ・リリンクの公式HPに4/1限定でチャットAIが登場!
日向美海と一緒にAIから聞き取り調査を行い、とある事件の真相を追いましょう。
今すぐ☟からご確認ください。https://t.co/MCZfcezmsH#アンジュ・リリンク#アンジュAI#エイプリルフール pic.twitter.com/KGNgq0ZQcl
— 【公式】アンジュ・リリンク (@angeRelink) 2023年3月31日

▼本施策に関するプレスリリース

エイプリルフールストーリーの概要

『アンジュ・リリンク』の公式HPにチャットAIが登場。青蘭学園の情報が搭載されたAIに対して自由にメッセージを送ることで、ストーリーが展開していきます。

<ストーリーあらすじ>

Dr.ミハイルが開発した最新鋭AIが突然、記憶を喪失してしまった!

あなたと日向美海はDr.ミハイルから依頼を受け、記憶を喪失し、ポンコツAIとなってしまったAIから聞き取り調査を行うことに。

最新鋭AIに何があったのか?

事件の真相を聞き出そう!

施策の仕様とポイント

・特設Webサイト上で、プレイヤーはチャット形式で自由に会話ができる。

・会話が10往復するまでの間に記憶喪失の原因を特定し、フォームに正解を入力すればクリアとなる。

・ロボットとの会話にChatGPT APIを使用している。

構成

Webフロントエンド (JavaScript)

AWS API Gateway

AWS Lambda (Python)

ChatGPT API

コスト

ChatGPT APIにリクエストするたびに、パラメータで渡す文字列とレスポンスとして返ってくる文字列のサイズ(トークン数)に比例して課金されます。実装時点で一番お安いgpt-3.5-turboモデルだと1000トークンごとに$0.002(0.27円)という設定です。トークンの計算方法は、日本語だと平均して0.91文字で1トークンに相当するのだそうです。

今回の仕組みだと、会話1回のリクエストごとにそれまでの会話履歴をまるごとパラメータにして送る形なので、会話の往復回数が増えるほど1リクエストあたりのトークン数が多くなっていきます。また、初期設定としてChatGPTに与える指示の文字数は毎回のリクエストに乗ってきます。実測として、会話の1回目が1000トークン、10回目だと2500~3000トークンくらいになる感じで、10回の会話を行なうと合計4円程度がかかりました。

※会話履歴をすべて送らずに直近数回分に絞ったりすることで、会話の往復回数が増えたときのトークン数を抑える工夫ができるとのこと。

ユーザ数と1利用あたりの会話回数を予想すると、ChatGPT APIの使用料は$100あれば収まる見込みでした。ただ、会話ボタンを連打したらその分だけ課金されるのは危ないですし、急にバズったりしてうれしい悲鳴が上がる場合も考慮して、いくつかの対応を入れました。

  • 会話は10往復を上限とし、それ以上続けられないルールにした(Lambda側のバリデーションでも配列の長さをチェックしている)。

  • 10往復の会話をしたあとに最初からやり直したい場合、1時間のインターバルを待つ必要がある、という仕組みにした(これはフロントエンドでチェックしているだけなので、仕組みが分かれば回避できてしまう)。

  • ChatGPT APIのHard limitに$400(見込みの4倍)を設定した。Hard limitは月の課金額の上限で、この予算額を超えると以降のAPIリクエストに対してエラーを返してくれる。※初期状態だとHard limitとして設定できる最大値が$100なので、この上限解放申請をOpenAI社に送らないといけない。1日で対応してもらえた。

  • API Gatewayのスロットリング(時間あたりのリクエスト上限数という意味合いのもの)を設定した。仮に短時間にどれだけアクセス集中したとしても、$400を使い切るのに24時間はかかる程度のしきい値にした。

結果として、4月1日の24時間で約1万リクエストがあり、API使用料は約4000円で済みました!

総括

Python初心者でも実装できた
ゲームとしてどのように面白くするかの工夫は必要
今までにないユーザー体験を提供できる

後記

実装段階ではあまりにうまくいかないので、登場人物を演じてもらうことは諦めて、言うことが一切アテにならない「記憶喪失のポンコツAI」という逆の方向に振り切りました。記憶喪失のAIではあるけど、「青蘭学園」「風紀委員」「東条遥」などのキーワードには反応するように指示しておいて、記憶喪失の原因を解き明かすという部分でゲーム性を出せないか、という狙いでした。

「あなたは記憶喪失です」と指示してもダメで、「記憶喪失になったポンコツロボットを演じてください(ロールプレイしてください)」と指示した方が意図に近い受け答えをしてくれました。

エンジニア採用特設サイトはこちら

1
0
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
1
0