Gemma 4 12Bで遊んでみた ─ RTX3060で作るローカルAI作品集

Gemma 4 12Bで遊んでみた ─ RTX3060で作るローカルAI作品集 TECH

Gemma 4シリーズの本命とも言える12Bモデルがようやく登場した。

Gemma 4 モデルの概要  |  Google AI for Developers

私の環境はRTX3060 12GB。
推論速度はLM Studio単体でおおむね30tok/s前後
ただしVRAMはほぼ使い切り、コンテキスト次第ではメインメモリ側にもかなり食い込む

Claude Code経由では25tok/s前後まで落ち込むが、それでも十分実用的な速度だ。

今回は性能評価やベンチマークではなく、実際にCanvasアプリやゲームを作りながらGemma 4 12Bの実力を見てみた。

Gemma 4 12Bの第一印象

最初に触って感じたのは、「思ったよりずっと実用的だ」ということだった。
Gemma4 E4B でも試したが、明らかにコーディングの能力は高い。
さすが、遅れてきた真打といったところか。

私の環境ではLM Studio単体でおおむね30tok/s前後。Claude Code経由では25tok/s程度まで低下するが、それでも十分に対話可能な速度である。

一方で、VRAM 12GBをかなり積極的に使うモデルでもある。RTX3060ではVRAMをほぼ使い切り、コンテキスト量によってはメインメモリ側にも大きく食い込む。

Gemma 4 12Bは万能型というより、得意不得意が比較的はっきりしているモデルだと感じた。

良かった点は以下のような部分である。

  • 単一HTML生成が得意
  • Canvasとの相性が良い
  • リファクタリング能力が高い
  • コード量が比較的コンパクト

逆に気になったのは以下の点だ。

  • Tool Useは不安定
  • タイポや凡ミスは意外と多い
  • 一発完成型ではない

特にClaude Codeとの組み合わせでは、ファイル書き込み周りで何度か不安定な挙動に遭遇した。これは後半でも触れるが、コード生成能力そのものとは切り分けて考えた方が良いと思う。

今回はベンチマークやスコア比較ではなく、実際にいくつかの作品を作りながらGemma 4 12Bの実力を見ていく。

作例1|Solar System Animation

Solar System Animation
Solar System Animation
Solar System Simulation – Enhanced

最初に作らせたのは、Canvasによる太陽系アニメーションだ。

太陽を中心に各惑星が公転し、軌道やラベルも表示されるシンプルなデモである。

正直なところ、私はこの作品でGemma 4 12Bの評価を少し見直した。

Canvas系のコード生成はモデルによって得意不得意が大きく出る。しかしGemma 4 12Bは、

  • 軌道描画
  • 惑星配置
  • 星空背景
  • 土星リング
  • 発光表現

といった要素を自然に組み合わせてきた。

ゲームではないが、「動くもの」を作らせた時のセンスはなかなか悪くない。

作例2|Particle Simulator

Particle Simulator
Particle Simulator
Three.js Particle Background – Optimized

今回もっとも印象に残ったのが、このパーティクルシミュレータである。

最初に生成された画面は、正直に言えば真っ白か真っ黒だった。

しかし対話を続けながら、

  • 粒子サイズ
  • ブラー量
  • ノイズ
  • アルファ値

を調整していくと、徐々に表情が出てくる。

完成版は幻想的な背景アニメーションとして使えるレベルになった。

興味深かったのは見た目より内部構造だ

Gemma 4 12Bは完成イメージを最初から持っているわけではない。しかしデータ構造や更新ループの設計は意外と堅実で、粒子数を30000まで増やしても十分実用的な速度で動作した。

派手さはないが、土台の作り方が上手いモデルだと感じた

作例3|Asteroidsもどき

Asteroidsもどき
Asteroidsもどき
Asteroids – Enhanced

次に作らせたのは、往年の名作 Asteroids をモチーフにしたミニゲームだ。

自機を回転させながら慣性移動し、小惑星を撃ち落としていく。

最初は本当に最小構成だった。

しかし対話を続ける中で、

  • スコア表示
  • 小惑星の分裂
  • Wave進行
  • Web Audio APIによる効果音

などを追加していった。
自機の当たり判定がない茶目っ気ぶりを発揮w

驚いたのはコード量である。

完成版でも9KB程度しかなく、かなりコンパクトにまとまっていた。

Gemma 4 12Bは必要以上にコードを膨らませない傾向があり、このあたりは好印象だった。

作例4|Kanban Board

Kanban Board
Kanban Board
Simple Kanban Board

ゲームばかりでは面白くないので、実用アプリも試してみた。

作らせたのはシンプルなカンバンボードである。

  • Todo
  • Doing
  • Done

の3カラム構成に加えて、

  • タスク追加
  • 削除
  • ドラッグ&ドロップ
  • localStorage保存

まで実装されている。

完成コードはわずか6KB程度。

業務利用するには機能不足だが、「実用アプリを作れるか」という検証としては十分な結果だった。
このレベルなら、1発動作のコードを吐いてくれる。

作例5|ブロック崩し(アルカノイドもどき)

ブロック崩し(アルカノイドもどき)
ブロック崩し(アルカノイドもどき)
Block Blocks – Final Edition

そして今回もっとも時間を費やしたのが、この Block Blocks である。

当初は単なるブロック崩しを作る予定だった。

ところが作り始めると意外と面白くなり、気が付けば90分近く改良を続けていた。

最終的には、

  • タイムアタック
  • TOP5ランキング
  • フルスクリーン対応
  • マルチボール
  • オートショット
  • ゴーストモード
  • パワーアップシステム

まで搭載した。

Gemma4 12B はリファクタリング能力が高い事を実感した。

完成コードは約14KB。

もちろん商用ゲームとは比較できないが、「単一HTMLだけでここまで作れるのか」と素直に感心した。そして何より、自分自身が普通に遊んでしまった。

これは評価として意外と重要なポイントだと思う。

Tool Useは苦手だった

一方で、Gemma 4 12Bには明確な弱点もある。

Claude Codeと組み合わせた際、ファイル操作まわりで不安定な挙動が何度か発生した。

例えば、

  • Writeツールの呼び出し失敗
  • パラメータ解釈エラー
  • 書き込み処理の空振り

などである。

このあたりはRedditなどでも指摘されており、私の環境でも同様の傾向が見られた。

ただし興味深いのは、コード生成能力そのものは十分高いことだ。

実際には、

「コードは書ける」

しかし

「ツールの使い方が不器用」

という印象に近い。

そのため、現時点ではエージェントに丸投げするよりも、人間が対話しながら詰めていく使い方の方が快適だと思う。

まとめ

Gemma 4 12Bは完璧なモデルではない。

Tool Useは不安定だし、タイポや凡ミスも時々発生する。

しかし実際に触ってみると、

  • Canvasアニメーション
  • パーティクル表現
  • ミニゲーム
  • 実用アプリ

を軽快に作れる能力を持っている。

特にリファクタリング能力は高く、対話しながら少しずつ作品を育てていく使い方との相性が良かった。

性能表やベンチマークだけでは見えてこない部分だが、久しぶりに「作っていて楽しい」と感じたローカルLLMだった。


Gemma 4を試す ─ 軽量AIは“使える道具”になったのか
Gemma 4(4B)をローカル環境で検証。文章生成、Vision、OCR、翻訳、コード生成まで実測レビュー。軽量AIの実力と限界を、実体験ベースで整理。
Claude Codeごっこは成立するのか ─ LM Studio × Gemma4で試したローカルAIの現実
Claude Codeはローカルで再現できるのか?LM StudioとGemma4を使い、WSL環境から接続して実験。Markdownエディタは成功、ブロック崩しは未完成。ローカルAIの限界と可能性を検証する。
究極のエッジAI誕生|Chrome 148 × Gemini Nanoの衝撃
Chrome 148に搭載されたGemini NanoのBuilt-in AI APIを実際に触って検証。EPP参加やフラグ設定などの注意点とともに、ローカルAIがWeb開発にもたらす変化を解説します。