見出し画像

なぜGoogleのAI「Bard」はプログラミングが苦手なのか。ChatGPTとBardにクッキークリッカー作らせてみた

TENTOの谷口です。
今日はChatGPT(Model:GPT-3.5)とBard両方に「クッキークリッカー」を作らせてみた結果をお伝えします。

言語はProcessing。私は一切コードを書かず、画像なども用意しないという縛り。

ChatGPTすごい

クッキーをクリックするとCookiesの数字が増えていくコードは簡単に作れました。

すごいのはクッキーの描写。数回の会話のラリーで、クッキーの描写がかなり洗練され、ゲームを遊ぶたびにチョコチップの位置が変わるランダム要素も加わりました。

コードの解説もしてくれます。

最終的にカーソルとグランマも追加するガチっぷり

では次は、クッキーを20払ったら「カーソル」を買えるようにしてください。カーソルは1つにつき10秒に1つクッキーを自動生成するアイテムです。

と言っただけでクッキーの下にCPS(Cookies per Second)表示してくれ、「こいつ、さては理解わかってるな」と思いました。

↓OpenProcessing上で制作したので、こちらのリンクから遊べます。
https://openprocessing.org/sketch/1922207

Bardのクッキークリッカーは?

パックマンに出てくるパワークッキーくらいシンプルな見た目ですが、1クリックでScoreが1増えるプログラムは完成。

ただし描画位置とクリック判定位置がずれているので、クッキーの右下らへんしか反応しません

問題はスコア表示。

クッキーの右下を1回クリックした後のスコア表示

どうやらdraw()の中でbackground()つまり背景塗りつぶしをしていないため、一度描画されたものがずっと残り続ける状態になっているようです。

よく見ると Score:00 と Score:01 が重なっているのがわかると思います。そこでBardに以下のように命令

Scoreが更新されるたびに表示が重なってしまっているので、コードを修正してください

すると……。

???


????????????????????????

Bard「このプログラムを実行すると、画面中央にクッキーが表示されます。クッキーをクリックするとスコアが1加算され、スコア表示が重なることなく、下方に移動します。」

「重ねるな」をそう解釈するとは……。

この後試行錯誤しましたが「draw()の中でbackground()を呼んでください」とハッキリ命令しない限り、この問題が修正されることはありませんでした。

↓こちらもOpenProcessing上で制作したので、下記リンクから遊べます。
https://openprocessing.org/sketch/1926499

ChatGPTとBardの違いは「解釈力」

両方にプログラミングを書かせると「解釈力」の差があることで、人間側の負担が大きく変わることがわかりました。どうしてもBardとプログラミングをすると「違う!そうじゃない!」とイライラしてしまいます。

ChatGPTの書いたコードが間違っている場合も多々あるのですが、簡単な間違いならすぐに直してくれます。

こんな言い方でも、ちゃんと解釈してくれます

よく、「エンジニアには国語能力が必要」と聞きますが、AIでも全く同じ事が起きるという結果となりました。

(デザイナー/講師 谷口 諒)

この記事が参加している募集

AIとやってみた

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