🚀

Claude、Gemini 超えの Local LLM (32B) / Python ゲーム編

に公開

偽りなし

少なくとも今回試した内容では、Claude 3.7 Sonnet や Gemini 2.5 Pro (experimental) より、明らかに良いものを THUDM/GLM-4-32B-0414 は生成してくれた。

前回の続き

今度は、 Python でゲーム開発。

ユーザープロンプト

LLM に投げたプロンプト

Please create a side-scrolling shooter game similar to Gradius.
Use Python with the pygame library.

THUDM/GLM-4

THUDM/GLM-4-32B-0414

THUDM/GLM-4-32B-0414

  • 🚀
    • どこからどう見てもグラディウス。
    • 弾丸?のパワーアップ。
    • バリア。
    • 複数種類の敵機。
    • Score、Lives、Power Level、Level のインジケーター。
    • 縦横無尽に動ける。
    • 背景良し。
  • 🔥
    • 自機と敵機がもう少しなんとかしてくれたら良かったけど、見た目より機能に振ってくれて全然良い。

THUDM/GLM-4-9B-0414

THUDM/GLM-4-9B-0414

  • 🚀
    • 弾撃てる。
    • 縦横無尽に動ける。
  • 🔥
    • 敵機なし。
    • 雑なプロンプトだったからね、機能を細かく指定したら、それなりに作ってくれるかも?

Qwen3

Qwen/Qwen3-32B

Qwen/Qwen3-32B

  • 🚀
    • Score ある。
  • 🔥
    • まさかの敵は横スクロールシューティングゲーム、自機は縦型インベーダーゲーム。

Qwen/Qwen3-14B

Qwen/Qwen3-14B

  • 🚀
    • シューティングゲームとしては成り立っている。
    • まさかの 32B 以上の出来。
  • 🔥
    • 縦型になってる。

Qwen/Qwen3-30B-A3B

Qwen/Qwen3-30B-A3B

  • 🚀
    • 敵機が攻撃してくる!
    • アイテムある!(何も変化しないけど)
  • 🔥
    • 縦型になってる。

Qwen2.5-Coder

Qwen/Qwen2.5-Coder-32B-Instruct

Qwen/Qwen2.5-Coder-32B-Instruct

  • 🚀
    • 一応シューティングゲーム。
  • 🔥
    • 制約で一発出し、を掲げてるのだけど、自分で作るわけでもなく PNG 使ってしまった。なので仕方なく SVG を作らせて、それを PNG にした上で動かした。

Qwen/Qwen2.5-Coder-14B-Instruct

Qwen/Qwen2.5-Coder-14B-Instruct

  • 🚀
    • 一応シューティングゲーム。
  • 🔥
    • 制約で一発出し、を掲げてるのだけど、自分で作るわけでもなく PNG 使ってしまった。なので仕方なく SVG を作らせて、それを PNG にした上で動かした。
    • 背景が白。

サービス

Claude 3.7 Sonnet

Claude 3.7 Sonnet

  • 🚀
    • 一応横スクロール。
  • 🔥
    • 制約で一発出し、を掲げてるのだけど、自分で作るわけでもなく PNG やら WAV やら使ってしまった。なので仕方なく SVG を作らせて、それを PNG にした上で動かした。WAV は削除。
    • 背景画像も SVG で作らせたが、まさかのバック。
    • アイテム取っても何も無し。

Gemini 2.5 Pro (experimental)

Gemini 2.5 Pro (experimental)

  • 🚀
    • 横スクロール。
    • 背景が宇宙空間。
    • 縦横無尽に動ける。
    • Score ある。
  • 🔥
    • 明らかにダメなところは無いが、アイテムやパワーアップなどの要素なし。

生成コードの行数

モデル パラメーター数 総行数
THUDM/GLM-4-32B-0414 32B 343
THUDM/GLM-4-9B-0414 9B 81
Qwen/Qwen3-32B 32B 128
Qwen/Qwen3-14B 14B 141
Qwen/Qwen3-30B-A3B 3B 189
Qwen/Qwen2.5-Coder-32B-Instruct 32B 144
Qwen/Qwen2.5-Coder-14B-Instruct 14B 145
Claude 3.7 Sonnet - 277
Gemini 2.5 Pro (experimental) - 290

雑感

やっぱり GLM-4-32B-0414 すごい。
ソースコードの行数が一番多いとはいえ、実現している機能からすると少なく感じる。(行数少ないのが偉いと言っているわけではない)
GLM-4-9B-0414 は、機能を細かく指定して再チャレンジしてみたい。この 9B はまだまだやれる気がしている。
Qwen3-30B-A3B は再チャレンジは興味無いが、アクティブパラメーター 3B はまだまだやってくれるはず。
Claude と Gemini も、機能を細かく伝えるのとサンプルじゃねーぞ、余計なものは作るなよ、と伝えるべきか。これも再チャレンジか。

最後に

ハイスペックマシン欲しい。

GitHubで編集を提案

Discussion