◉GEMINI LABEN
●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り6日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — deep-research-pro-preview-12-2025 は 10/23 に停止、残り6日。移行先は deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●MCP — ツール結果が 8.5万トークンに膨らんだ事例を、ADK で 310 トークンに包んで抑えた報告が出ています●FLASH — gemini-3.7-flash と 3.5-flash は新しい Flash モデルに自動で回されます(10/08)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…
記事一覧/高度な活用
⬡ 高度な活用/2026-05-05中級

Gemma 4 × OpenCode本格活用ガイド:ローカルLLMで実用的なAI開発環境を作る

Gemma 4 と OpenCode によるローカル AI 開発環境を実務レベルに引き上げるための知見をまとめました。4バリアントの使い分け、コンテキスト管理、ローカル LLM 向けのプロンプト設計、クラウドとのハイブリッド運用、日本語コード対応の現状まで扱います。

Gemma 412OpenCode3Ollama8ローカルLLM10AI開発8プロンプトエンジニアリング10ハイブリッド活用

Gemma 4 × OpenCode で「とりあえず動いた」という状態から、「実務で本当に使える」状態に持っていくには、いくつかの壁があります。

コンテキストウィンドウの扱い、プロンプトの設計、どのタスクをローカルに任せてどのタスクをクラウドに任せるか、という判断基準。これらを整備しないと、「ローカルLLMって使えない」という結論に早まって到達してしまいます。

このガイドでは、Gemma 4 × OpenCode を実務レベルで活用するための具体的な方法を、私が実際に試した経験をもとにお伝えします。

Gemma 4 モデル選定:4バリアントをどう使い分けるか

Gemma 4 には4つのモデルサイズがあり、用途と環境に応じた選び方があります。

E2B(〜4GB RAM)

最小モデル。スマートフォンへの組み込みや、IoTデバイス向けです。開発用途での使用はほぼ現実的ではありません。コードタスクへの対応は限定的です。

E4B(〜8GB RAM)

エッジ向けの中型モデル。Apple Silicon Mac(M1以降)や RAM 16GB 以上の Windows PCで快適に動きます。

小〜中規模の関数実装、コードレビューのコメント生成、ドキュメント作成であれば十分な精度が出ます。API費用ゼロで使える「開発のサブエンジン」として活用するのが現実的です。

26B MoE(〜20GB VRAM/統合メモリ)

Mixture-of-Experts アーキテクチャを採用したモデルで、パラメータ数の割に高い精度を発揮します。Apple Silicon の M2 Ultra 以降や、VRAM 24GB 以上のGPUを搭載したマシンであれば動作します。

複数ファイルにまたがるリファクタリングや、設計レビューのような複雑なタスクで力を発揮します。

31B Dense(〜35GB RAM)

最高精度モデル。個人環境での運用はかなりハードルが高く、サーバーでの運用を前提にした構成です。

個人開発での推奨: E4B からスタートして、処理速度と精度のバランスを確認してから 26B MoE へ移行します。

コンテキストウィンドウの実践的な管理

ローカルLLMを使ったコーディングエージェントで最もつまずくのが「コンテキスト切れ」です。

Ollama のデフォルト設定(4,096トークン)では大型コードベースを扱うとすぐに限界に達します。以下の設定が実用的です。

# E4B 向け(RAM 16GB)
cat > Modelfile-e4b << 'EOF'
FROM gemma4:e4b
PARAMETER num_ctx 32768
PARAMETER num_gpu 99
EOF
ollama create gemma4-e4b-coder -f Modelfile-e4b
 
# 26B MoE 向け(RAM 32GB以上)
cat > Modelfile-26b << 'EOF'
FROM gemma4:26b
PARAMETER num_ctx 65536
PARAMETER num_gpu 99
EOF
ollama create gemma4-26b-coder -f Modelfile-26b

num_gpu 99 はGPUレイヤーをできるだけ多く使用する設定です(Apple Silicon ではほぼ全レイヤーがGPUに乗ります)。

コンテキストを節約するディレクトリ戦略

大きなプロジェクトでは、作業対象を絞り込んでからOpenCodeを起動することがコンテキスト効率の鍵になります。

# プロジェクト全体ではなく、作業するモジュールのディレクトリで起動
cd src/modules/payment
opencode
 
# または .opencodeignore でコンテキストに含めないファイルを指定
cat > .opencodeignore << 'EOF'
node_modules/
.next/
dist/
*.test.ts
*.spec.ts
*.log
EOF

テストファイルやビルド成果物はコンテキストから除外するだけで、有効なウィンドウが大幅に広がります。

ローカルLLMに向いたプロンプト設計

クラウドLLMと同じプロンプトをローカルLLMに使っても、期待通りの精度は出ません。ローカルモデルでうまく動くプロンプトには特徴があります。

原則1:タスクをできるだけ小さく分割する

❌ 「このモジュール全体をリファクタリングして、型安全性を高め、テストも書いて」

✅ 「fetchUser 関数の戻り値の型を User | null から Result<User, ApiError> に変更してください。
   変更するのはこのファイルだけです。」

ローカルモデルは大きなタスクで散漫になりやすいです。1回のプロンプトで1つの明確なタスクに絞ることで精度が安定します。

原則2:出力形式を明示する

以下の関数に JSDoc コメントを追加してください。
出力形式: 元のコードに JSDoc コメントを追加した完全なコードのみ。説明文不要。

[コード]

「説明文不要」と明示することで、モデルが回りくどい説明を生成する傾向を抑えられます。

原則3:参照するファイルを明示する

OpenCode では @ファイル名 でファイルを参照できます。

@src/types/user.ts @src/api/fetchUser.ts を参照して、
fetchUser の戻り値の型エラーを修正してください。

「コードベース全体を見て」ではなく、具体的なファイルを指定することで処理が安定します。

クラウドとローカルのハイブリッド運用

実務で最もバランスが取れるのは、タスクの重要度と機密性に応じてモデルを使い分けるハイブリッド構成です。

ローカル(Gemma 4)に任せるタスク

  • コメント・ドキュメント生成
  • 小規模な関数実装(50行以内)
  • 変数名・関数名のリネーム提案
  • 単純なバグ修正(エラーメッセージが明確なもの)
  • ボイラープレートコードの生成

クラウド(Claude / Gemini)に任せるタスク

  • 設計判断が必要な実装
  • 複数ファイルにまたがるリファクタリング
  • セキュリティ関連のコードレビュー
  • 複雑なアルゴリズムの実装
  • 公開コードや機密性の低いプロジェクト全般

この判断基準を CODING_POLICY.md としてプロジェクトルートに置いておくと、チームでも個人でも判断の一貫性が保てます。

OpenCode の設定を複数プロファイルで管理する

複数のプロバイダーを使い分ける場合、プロファイルで設定を管理するのが便利です。

// ~/.config/opencode/config.json
{
  "profiles": {
    "local-fast": {
      "provider": "ollama",
      "model": "gemma4-e4b-coder",
      "baseUrl": "http://localhost:11434"
    },
    "local-quality": {
      "provider": "ollama",
      "model": "gemma4-26b-coder",
      "baseUrl": "http://localhost:11434"
    },
    "cloud": {
      "provider": "anthropic",
      "model": "claude-sonnet-4-6"
    }
  },
  "defaultProfile": "local-fast"
}

プロファイルの切り替えは次のコマンドで行います。

opencode --profile cloud

Gemma 4 の日本語コード対応について

Gemma 4 は日本語対応が大幅に改善されており、コメントやドキュメントを日本語で生成させても自然な文章が出てきます。

ただし、コード変数名を日本語で混在させるような指示では精度が落ちます。「コメントは日本語で、変数名は英語で」という明示的な指定を入れると安定します。

以下のコードに日本語コメントを追加してください。
変数名・関数名は変更しないでください。

[コード]

全体を振り返って:ローカルLLMは「制約の中のツール」として活用する

Gemma 4 × OpenCode を実務で使う上で大切なのは「クラウドモデルの代替」として見ないことです。「特定の条件下でコスト0で動くサブエンジン」として位置づけることで、その価値が明確になります。

モデル選定・コンテキスト管理・プロンプト設計の3点を整えると、ローカル環境でも想定以上に使える体験になります。まずは E4B で動かしてみて、自分の開発フローのどこに組み込めるかを探してみてください。

シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

⬡ 高度な活用2026-10-14
PC では直るのに Safari でだけ画像が読み込まれない — AI に診断を頼む前に、手元で揃えておく 4 つの材料
並べ替えのあとで画像が二度と読み込まれない不具合が、iPhone の Safari でだけ起きました。PC のブラウザでは再現しない不具合を Gemini などの AI に診断してもらうとき、先に手元で揃えておく材料と、そのまま使える依頼文をまとめます。
⬡ 高度な活用2026-10-10
家計や健康の相談を履歴に残さない — Gemini の一時チャットと設定を確認する順番
家計の見直しや体調の相談を Gemini に持ちかける前に、一時チャットと「アクティビティ」設定をどの順で確かめればよいかを整理しました。残す話と残さない話を、ご自身で選べるようになるための最初の一歩です。
⬡ 高度な活用2026-09-24
Gemini に「合っていますか」と聞くのをやめ、答えを伏せたまま分類し直してもらう設計に変えました
自分で付けたラベルの確認を Gemini に頼むと、頷く答えが返りがちです。確認型・反論指示型・伏せ型の三つを比べて伏せ型を選んだ理由と、答えが漏れる経路の塞ぎ方、食い違いだけを人が見る振り分けのコードまで書き残します。