o3-mini-high、Claude 3.5 sonnet、DeepSeek R1を比較するために、シューティングゲームをコーディングなしで作らせた話
DeepSeek R1とo3-miniが出て大賑わいの生成AI界隈。
今回はo3、Claude、DeepSeekに同じプロンプトを与えて比較してみます。
真面目に考えたベンチマークではないので、たまたまの結果かもしれません。
なお、フロントエンドの影響が入ると嫌なので、API経由でなくChat UIを使っています。
シューティングゲームの生成
まず最初にできたゲームのURLを書いておきます。
ブラウザで遊べます。
ただしキーボード操作なので、スマホでは遊べません。
o3-mini-high
Claude 3.5 Sonnet
DeepSeek R1
共通して与えたプロンプト
以下のタイプミスも含み、思い付きだけで書いた、人間が理解するのも面倒そうなプロンプトで敢えて。
本当にAIを使いたいときは、もっと整理してプロンプトを書いた方が良いですよ。
ChatGPT o3-mini-highの場合
初期プロンプト+1度の追加指示で最低限完成。
一度目の指示でほぼ動きました。敵キャラは同じ動きをしながら左右に揺れつつ、下に降りてきます。しかし、敵キャラが下まで降りてもゲームは続き、ユーザは永遠にやることがなくなります。
仕様に与えていないため、仕方ない話ではあります。
その点を修正するプロンプトを与えました。
できました。
最低限遊ぶことはできるので、ここで完成とします。
Claude 3.5 Sonnetの場合
初期プロンプト+2回の指示で最低限完成。
1回目はReactを使って実装してくれました。
間違っちゃいません。むしろ正しいです。
でも、今回は比較のため、HTML+JavaScriptで作り直してもらいました。
この1回はノーカウントでも良い気がします。
これで概ね動きましたが、障害物を弾丸が通り抜け、意味がありません。また敵キャラが下りてくる動作が実装できていません。
o3-mini-highでの反省を踏まえて、敵キャラが下まで行ったらゲームオーバーとする指示も加えました。
(比較の点では指示の追加はアンフェアでした。すみません。)
できました。
DeepSeek R1の場合
初期プロンプト+1回の追加指示で完成。
先と同じように敵キャラが行っても終了しない。
一番問題は、自機の弾丸が背景色と同じでまったく見えないこと(笑)
追加指示は以下の通り。
できました。
比較結果
定性的・主観的な比較ですが、こんな感じでしょうか。
新しいこともあり、o3-mini-highが多少優位かなとは思いますが、この程度のアプリケーションでは与えた指示の理解に大きな違いはなく、もしかしたらo3が少し気が利くかな?程度なので、好きなものを使えばいいんじゃないですかね。
個人的には、ライフの表現に❤を使ったClaudeが優勝です。
それにしても、シューティングゲームというと、インベーダーゲーム的なものを思い浮かべるものなのですね。