2026年4月のGemma 4リリースで、ローカルLLMによるコーディング環境はようやく『実用ライン』に到達しました。なかでも 26B A4B(26B総パラメータのうちアクティブ4B)モデルは、推論速度と品質のバランスが優秀で、Apple Silicon の Mac でも快適に動きます。これにOSSコーディングエージェントの OpenCode を組み合わせると、いわゆる『無料Claude Code』に近い体験ができるようになりました。
私自身、Claude Code を本業で使いながら『コストの高いタスクをローカルにオフロードできないか』を試してきた立場です。Mac / Linux 環境で Gemma 4 26B A4B + OpenCode を実際に動かすまでの手順と、最初に詰まりやすいポイントを実例とともに整理しました。
前提:必要なハードウェア要件を最初に確認する
Gemma 4 26B A4B は活性パラメータ4Bのモエ系(MoE)モデルなので、26B Dense モデルよりも遥かに軽く動きます。それでも快適に動かすには相応のメモリが必要です。
最低ライン(Q4量子化)として、Apple Silicon なら統合メモリ24GB以上、NVIDIA GPUなら16GB VRAM 以上を見ておくと安心です。私の手元の M3 Max(メモリ48GB)では Q5_K_M で 30 token/s 前後出ます。GPU側で動かす場合、RTX 4090(24GB VRAM)であれば Q4_K_M で 60 token/s 以上を期待できます。
メモリ16GB の Mac でも動かすことは可能ですが、Q3 まで量子化する必要があり、コード生成の品質が目に見えて落ちるのでおすすめしません。
ステップ1: 推論バックエンドを選ぶ
Gemma 4 を動かすバックエンドは複数選べます。私の推奨は『初心者は Ollama、安定運用は llama.cpp または LM Studio、本格運用は vLLM』です。
Ollama: セットアップが最も簡単。Mac は brew install ollama、Linux は公式インストーラ一発です。チューニングの自由度はやや低いものの、OpenCode との接続が最もスムーズです。
LM Studio: GUI で量子化バージョンを選んで試せるのが便利。複数モデルを切り替えながら品質を比べたい人向け。
vLLM: 本格的に複数ユーザー向けにホスティングする場合の選択肢。社内で複数開発者が共有する用途に向きます。
ここでは Ollama ベースで進めます。
# Mac
brew install ollama
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# Gemma 4 26B A4B をダウンロード
ollama pull gemma4:26b-a4bollama pull は約15GB(Q4_K_M相当)のダウンロードになるので、初回は10〜20分かかります。完了したら ollama run gemma4:26b-a4b で対話シェルが立ち上がるはずです。
ステップ2: OpenCode をインストールして設定する
OpenCode は npm で配布されているコーディングエージェントの CLI です。
npm install -g @opencode/cli
# 初期設定
opencode initopencode init を実行すると ~/.config/opencode/config.json が作られます。ここで Ollama を介して Gemma 4 を呼ぶ設定に書き換えます。
{
"providers": {
"local-gemma4": {
"type": "ollama",
"host": "http://localhost:11434",
"model": "gemma4:26b-a4b"
}
},
"defaultProvider": "local-gemma4",
"agents": {
"planner": {
"provider": "local-gemma4",
"systemPrompt": "あなたはコーディングプランナーです。ユーザーの要望を実装可能なステップに分解してください。"
},
"builder": {
"provider": "local-gemma4",
"systemPrompt": "あなたはコード実装担当です。プランに従って最小限の差分を提案してください。"
}
}
}OpenCode は『planner』と『builder』のような複数エージェント構成を組めるのが特徴で、Claude Code でいうサブエージェントの感覚に近い使い方ができます。
ステップ3: 動作確認 — 簡単なリファクタリングを通してみる
実際に動くかを確認するため、適当なリポジトリで opencode を起動します。
cd ~/projects/my-repo
opencode対話モードに入ったら、たとえば次のように依頼してみます。
「src/utils/date.ts を読んで、ISO8601 形式の文字列を扱う関数を追加してください」
Gemma 4 26B A4B はファイル読み込みと差分提案までを一通りこなします。ここで Claude Code との大きな違いを体感できるはずです。応答時間は2〜10秒の幅で揺れますが、生成内容自体の品質は実用的な水準です。
うまく動かない場合に最初に疑うべきは、Ollama のホスト設定とモデル名のスペルです。ollama list で実際のモデル名を確認し、config.json と一致させてください。
ステップ4: 私が最初に詰まったポイント
セットアップ自体はシンプルですが、運用していて遭遇した『最初に詰まりがちなポイント』を3つ共有します。
KVキャッシュメモリ不足: 長いコンテキスト(4Kトークン超)を渡すと、Ollama がOOMで落ちることがあります。OLLAMA_NUM_CTX=8192 のような環境変数を設定して KV キャッシュサイズを明示するのが確実です。
ファイル書き込み権限: OpenCode のデフォルト設定では、ファイル編集に毎回確認を求めます。ローカル環境で安全に自動化したい場合は auto_approve: ["edit", "write"] を config.json に追加すると、Claude Code の auto モードに近い感覚で動きます。
プロンプト言語の安定性: Gemma 4 は英語に最適化されたモデルなので、日本語で長文の指示を投げるとまれに崩れます。日本語で「〜してください」と頼みつつ、システムプロンプトは英語で書いておくと安定します。
実用面でのリアルな評価
ここまでセットアップして1か月運用した感想を率直に書きます。
ボイラープレート生成や軽いリファクタリングは Gemma 4 で十分こなせます。Claude Code のクラウド推論に頼っていたタスクの3〜4割はローカルに移せた感覚で、API利用料の節約効果は明確に出ました。
一方、複数ファイルにまたがる大規模リファクタリングや、未知のSDKを調べながらの実装などは、依然として Claude Code(Sonnet 4.6 / Opus 4.6)のほうが安定します。これは『どちらが優れているか』ではなく『現時点での得意領域の違い』として捉えるのが健全です。
次のステップ:エージェント定義をカスタマイズする
OpenCode の真価は、自分のワークフローに合わせてエージェント定義をカスタマイズできる点にあります。たとえば私は『コミットメッセージ専用エージェント』『テストケース生成専用エージェント』を定義し、メインの builder と切り替えながら使っています。
定義を増やしすぎると逆にどれを呼ぶか迷うので、最初は3〜4個に絞り、運用しながら必要なものだけを追加していくのが結果的に無駄が少ないアプローチです。
Gemma 4 + OpenCode は、まだ進化の早い領域なので、半年後にはセットアップ手順や推奨設定が変わっている可能性が高いです。それでも『ローカルでまともに動くコーディングエージェント』が現実になったこと自体が大きな前進で、クラウドAIとローカルLLMの併用は今後しばらくの主流になっていくと感じています。