今回は真面目なプログラミング回です。
2024/05/13に公開された、ChatGPTの最新モデルである「GPT-4o」を使用して、ナンバーズ3の当選番号を予測するプログラムを作成してもらいました。
実際のChatGPTへ与えたプロンプトやその他システムの構成を本記事に記そうと思います。
ChatGPTへ与えたプロンプト
実際にChatGPTへ与えたプロンプトは、以下の通りです。
公開されている直近二年分当選番号のデータをインプットとして使用します。
3桁の数字としての意味は特にないと思ったので、それぞれ百の位、十の位、一の位に分解して、
それを時系列データとしてこれから出現する数字を予測するプログラムを作成してもらいます。
インプットデータとアウトプット
インプットはこんな感じのデータです。列名をnumberとして、一列で過去の当選番号を時系列順に並べています。
そしてアウトプットはこちらです。次に出現する数字と確率を表示します。
システム構成
今回作成するシステムの構成(本番環境の構成)は、下記の図の通りです。
サーバー(今回はローカルに構築してます)に、ChatGPTで作成したPythonスクリプトを配置し、実行した後DBへ格納します。
予測された当選番号を表示するだけのiPhoneアプリを作成し、結果を確認します。
予測された当選番号を確認するiPhoneアプリ
前回のスコア計算ツールは、React Nativeで作成したので、今回のアプリはFlutterで作成します。
画面は以下のように、百の位、十の位、一の位のそれぞれで予測された数字を上位10位と確率を表示します。
Flutterのアプリも、chatgptさんに聞いてみました。以下が与えたプロンプトです。selectする情報に、予測された数字と確率のカラムがあり結合する必要があったのでそのようなプロンプトを与えました。
iosシミュレーターの画面が下記です。結果を見る限り、ある数字が他の数字より特段確率が高いかと言われるとそうでもないので、やはり当選番号は時系列データではないというのが正直な感想です。直近二年のデータがinputデータなので、もっと遡ればもしかしたら規則性があるのかもしれません。
まとめ
chatgptさんなら未来予測もできるかなって気持ちで作ってみましたが、そもそもインプットとなるデータに特性がなかったのかもしれません。
しかし精度は一旦度外視したとしても、予測するためのモデルや、アプリ作成のためのPythonやらFlutterやらの知識を持っていなくてもすぐ形にできるのは、やはり生産性向上には寄与すると思いました。
ただ生成AIというものは、正しいプロンプトを与えられることや成果物の正しさを確認できる知識があって初めてよりよいプロダクトが作れるものだと思っているので、日々私たち人間も勉強しなきゃいけないなと思いました。
コメント