なぜGoogleのAI「Bard」はプログラミングが苦手なのか。ChatGPTとBardにクッキークリッカー作らせてみた
TENTOの谷口です。
今日はChatGPT(Model:GPT-3.5)とBard両方に「クッキークリッカー」を作らせてみた結果をお伝えします。
言語はProcessing。私は一切コードを書かず、画像なども用意しないという縛り。
ChatGPTすごい
クッキーをクリックするとCookiesの数字が増えていくコードは簡単に作れました。
すごいのはクッキーの描写。数回の会話のラリーで、クッキーの描写がかなり洗練され、ゲームを遊ぶたびにチョコチップの位置が変わるランダム要素も加わりました。
コードの解説もしてくれます。
最終的にカーソルとグランマも追加するガチっぷり
と言っただけでクッキーの下にCPS(Cookies per Second)表示してくれ、「こいつ、さては理解ってるな」と思いました。
↓OpenProcessing上で制作したので、こちらのリンクから遊べます。
https://openprocessing.org/sketch/1922207
Bardのクッキークリッカーは?
パックマンに出てくるパワークッキーくらいシンプルな見た目ですが、1クリックでScoreが1増えるプログラムは完成。
ただし描画位置とクリック判定位置がずれているので、クッキーの右下らへんしか反応しません。
問題はスコア表示。
どうやらdraw()の中でbackground()つまり背景塗りつぶしをしていないため、一度描画されたものがずっと残り続ける状態になっているようです。
よく見ると Score:00 と Score:01 が重なっているのがわかると思います。そこでBardに以下のように命令
すると……。
???
????????????????????????
Bard「このプログラムを実行すると、画面中央にクッキーが表示されます。クッキーをクリックするとスコアが1加算され、スコア表示が重なることなく、下方に移動します。」
「重ねるな」をそう解釈するとは……。
この後試行錯誤しましたが「draw()の中でbackground()を呼んでください」とハッキリ命令しない限り、この問題が修正されることはありませんでした。
↓こちらもOpenProcessing上で制作したので、下記リンクから遊べます。
https://openprocessing.org/sketch/1926499
ChatGPTとBardの違いは「解釈力」
両方にプログラミングを書かせると「解釈力」の差があることで、人間側の負担が大きく変わることがわかりました。どうしてもBardとプログラミングをすると「違う!そうじゃない!」とイライラしてしまいます。
ChatGPTの書いたコードが間違っている場合も多々あるのですが、簡単な間違いならすぐに直してくれます。
よく、「エンジニアには国語能力が必要」と聞きますが、AIでも全く同じ事が起きるという結果となりました。
(デザイナー/講師 谷口 諒)
この記事が気に入ったらサポートをしてみませんか?