---
title: Ollamaを使ってGemma 4をOpenCodeにセットアップする方法（2026年版）
description: >-
  GoogleのGemma 4をローカルで実行し、ターミナルのコーディングアシスタントとしてOpenCodeに接続します。Mac向けのOllama +
  OpenCode設定手順を完全解説。
date: 2026-04-04T00:00:00.000Z
location: サンフランシスコ（カリフォルニア州） – 2026年4月4日
image: /images/gemma-4-ollama-opencode-setup-hero.jpg
keywords: >-
  gemma 4 opencode, ollama gemma 4, opencode ローカルモデル, gemma 4 ollama 設定, gemma 4
  ローカル実行, opencode ollama ガイド
faq:
  - question: Gemma 4をOpenCodeのローカルモデルとして使えますか？
    answer: >-
      はい。Ollamaをインストールしてgemma4モデルをpullし、~/.config/opencode/opencode.jsoncで@ai-sdk/openai-compatibleアダプターを使い、baseURLに
      http://localhost:11434/v1.
      を指定してOllamaをカスタムプロバイダーとして追加します。OpenCode内で/modelsを使って切り替えてください。
  - question: Gemma 4をOpenCodeで動かすにはどのくらいのRAMが必要ですか？
    answer: >-
      デフォルトのGemma 4
      8BモデルはOllama経由でロード時に約9.6GB使用します。16GBのユニファイドメモリを搭載したMacであれば、OpenCodeと併用しても快適に動作します。26Bバリアントは24GB以上必要で、ほとんどの一般向けハードウェアにはおすすめしません。
  - question: Gemma 4はOpenCodeでのインタラクティブなコーディングに十分高速ですか？
    answer: >-
      Apple SiliconでOllama v0.19以上を使用する場合、MLXバックエンドのおかげでGemma 4
      8Bは実用的な速度で動作します。コード補完、説明、簡単な編集には十分対応できます。高度な推論能力が必要な複雑なタスクには、クラウドモデルへアクセスするためにHaimakerを2つ目のプロバイダーとして追加してください。
locale: ja-jp
translationKey: gemma-4-ollama-opencode-setup
---
OpenCodeは、OpenAI互換APIに対応したターミナルベースのコーディングアシスタントです。Gemma 4を動かしているローカルのOllamaインスタンスを指定すれば、無料のコーディングアシスタントとして使えます。コードが外部に送信される心配もありません。

Apple Silicon搭載Macでのセットアップ手順はシンプルです。OllamaをインストールしてGemma 4をpullし、OpenCodeに接続するだけです。

## 必要なもの

- Apple Silicon（M1/M2/M3/M4/M5）搭載Mac、ユニファイドメモリ16GB以上
- HomebrewがインストールされたmacOS
- OpenCodeがインストール済み（[opencode.ai](https://opencode.ai) を参照するか、パッケージマネージャーでインストールしてください）

Gemma 4のデフォルト8Bモデルはロード時に約9.6GB使用するため、16GBのユニファイドメモリがあればOllamaとOpenCodeの両方を問題なく同時に実行できます。

## ステップ1: Ollamaをインストールする

```bash
brew install --cask ollama-app
```

これで`Ollama.app`が`/Applications/`にインストールされ、`ollama` CLIも`/opt/homebrew/bin/ollama`に配置されます。

## ステップ2: Ollamaを起動する

```bash
open -a Ollama
```

メニューバーにアイコンが表示されるのを待ってから、サーバーが動作していることを確認します。

```bash
ollama list
```

## ステップ3: Gemma 4をpullする

```bash
ollama pull gemma4
```

約9.6GBダウンロードされます。確認：

```bash
ollama list
# NAME             ID              SIZE      MODIFIED
# gemma4:latest    ...             9.6 GB    ...
```

テスト：

```bash
ollama run gemma4:latest "Hello, what model are you?"
```

GPUアクセラレーションの確認：

```bash
ollama ps
# Should show CPU/GPU split, e.g. 14%/86% CPU/GPU
```

Apple Silicon上のOllama v0.19以上は、推論の高速化のためにAppleのMLXフレームワークを自動的に使用します。

## ステップ4: OpenCodeでGemma 4を使えるように設定する

OpenCodeは`~/.config/opencode/opencode.jsonc`にある設定ファイルを使用します。Ollamaをカスタムプロバイダーとして追加します。

```jsonc
{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "gemma4:latest": {}
      }
    }
  }
}
```

Ollamaはローカルで動作するため、APIキーは不要です。ただしOpenCodeの仕様上、認証エントリが必要なため、`~/.local/share/opencode/auth.json`にプレースホルダーを追加します。

```json
{
  "ollama": {
    "type": "api",
    "key": "ollama"
  }
}
```

OpenCodeを再起動し、`/models`を使って`ollama/gemma4:latest`に切り替えます。

## ステップ5: Gemma 4をメモリに常駐させる

Ollamaはデフォルトで5分間アイドル状態が続くとモデルをアンロードします。1日中コーディングアシスタントとして使う場合、このままでは不要なコールドスタートが頻発します。

keep-aliveを無期限に設定します。

```bash
launchctl setenv OLLAMA_KEEP_ALIVE "-1"
```

この設定を反映するにはOllamaを再起動してください。システムを再起動しても設定を維持するには、`~/.zshrc`に追加します。

```bash
export OLLAMA_KEEP_ALIVE="-1"
```

ログイン時に起動するには、Ollamaのメニューバーアイコンをクリックし、**Launch at Login** を選択します。

#### 起動時に自動プリロードする

LaunchAgentを作成して、再起動後もGemma 4がすぐに使える状態にしておきます。

```bash
cat << 'EOF' > ~/Library/LaunchAgents/com.ollama.preload-gemma4.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.ollama.preload-gemma4</string>
    <key>ProgramArguments</key>
    <array>
        <string>/opt/homebrew/bin/ollama</string>
        <string>run</string>
        <string>gemma4:latest</string>
        <string></string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>StartInterval</key>
    <integer>300</integer>
    <key>StandardOutPath</key>
    <string>/tmp/ollama-preload.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/ollama-preload.log</string>
</dict>
</plist>
EOF

launchctl load ~/Library/LaunchAgents/com.ollama.preload-gemma4.plist
```

これにより5分ごとに空のプロンプトでモデルにpingを送信し、メモリに保持します。

## Gemma 4がOpenCodeで得意なこと

Gemma 4 8Bは無料でローカルで動作し、日常的なコーディング作業に驚くほど役立ちます。

- **コードの説明。** 関数の動作、モジュールの構造、正規表現が何に一致するかなどを質問できます。標準的なコードベースに対しては明確で正確な回答が得られます。
- **簡単な編集。** タイポの修正、importの更新、型定義へのフィールド追加、変数名の変更など。単一ファイルの変更が得意分野です。
- **ボイラープレートの生成。** 設定ファイル、テストスタブ、APIルートのスキャフォールディング、Dockerfileのテンプレートなど。あまり推論を必要としない一般的なパターンに向いています。
- **シェルコマンドのヘルプ。** `git`のフラグや`jq`のフィルターを忘れたとき、Stack Overflowを開かなくてもコマンドを教えてくれます。

## 苦手なこと

- **複数ステップの推論。** 複数ファイルにまたがる計画立案や複雑な制御フローの理解が必要なタスクは、不完全な結果になりがちです。
- **大規模なリファクタリング。** コードベース全体で整合性を保ちながら変更する必要がある場合、8Bモデルは一貫性を失います。ファイル単位では動作しますが、全体像を把握できません。
- **エッジケースや微妙なバグ。** 明らかな問題は検出できますが、深いドメイン知識や境界条件を考慮した推論が必要なバグは見逃します。

## さらに活用する：Haimakerでクラウドモデルを追加

Gemma 4のローカル実行は基本的な用途をカバーします。複雑なデバッグ、複数ファイルのリファクタリング、深い推論が必要なタスクなど、対応しきれない場面が出てきたら、クラウドモデルに切り替えましょう。[Haimaker](https://haimaker.ai)は、Claude Opus、GPT-5、Gemini Proなどに1つのAPIキーでアクセスできるサービスです。

Ollamaに加えて、Haimakerを2つ目のプロバイダーとして追加します。

```jsonc
{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "gemma4:latest": {}
      }
    },
    "haimaker": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.haimaker.ai/v1"
      },
      "models": {
        "anthropic/claude-sonnet-4-6": {},
        "openai/gpt-5": {},
        "google/gemini-2.5-pro": {}
      }
    }
  }
}
```

HaimakerのAPIキーを`~/.local/share/opencode/auth.json`に追加します。

```json
{
  "ollama": {
    "type": "api",
    "key": "ollama"
  },
  "haimaker": {
    "type": "api",
    "key": "YOUR_HAIMAKER_API_KEY"
  }
}
```

これでOpenCodeの`/models`でローカルモデルとクラウドモデルを切り替えられます。簡単な作業にはGemma 4を使い、難しいタスクにはSonnetやGPT-5に切り替えましょう。

[haimaker.ai](https://haimaker.ai)でサインアップしてAPIキーを取得し、[モデルカタログ](https://haimaker.ai/models)をご覧ください。

<a href="https://app.haimaker.ai/sign-up?utm_source=blog&utm_medium=cta&utm_campaign=gemma4-opencode" class="cta-button">HaimakerのAPIキーを取得する</a>

## トラブルシューティング

**/modelsにプロバイダーが表示されない。** 設定ファイルを編集した後はOpenCodeを再起動してください。OpenCodeの実行中は`opencode.jsonc`への変更が反映されません。

**「Model not found」というエラー。** 設定内のモデルIDがOllamaに表示される名前と完全に一致していることを確認してください。`ollama list`を実行し、表示された名前（通常は`gemma4:latest`）を使用してください。

**Ollamaでの認証エラー。** Ollama自体は認証を必要としませんが、OpenCodeのプロバイダーシステムは`auth.json`にエントリを要求します。プレースホルダーの`"key": "ollama"`で十分です。

**応答が遅い。** Apple SiliconでMLXアクセラレーションを利用するにはOllama v0.19以上であることを確認してください。`ollama --version`で確認できます。また、ユニファイドメモリを圧迫するアプリを閉じてください。タブを多数開いたブラウザが原因であることが多いです。

**コンテキストウィンドウの問題。** Gemma 4は大きなコンテキストウィンドウをサポートしていますが、16GB構成の環境では安定した出力品質のために32Kトークン以下に抑えることをおすすめします。長いプロンプトで応答品質が低下する場合、これが原因である可能性が高いです。

## 便利なOllamaコマンド

| コマンド | 説明 |
|---|---|
| `ollama list` | ダウンロード済みモデルの一覧表示 |
| `ollama ps` | 実行中のモデルとメモリ使用量の表示 |
| `ollama run gemma4:latest` | インタラクティブチャット |
| `ollama stop gemma4:latest` | メモリからモデルをアンロード |
| `ollama pull gemma4:latest` | 最新バージョンに更新 |
| `ollama rm gemma4:latest` | モデルの削除 |

---

*すでにHaimakerをOpenCodeで使っていますか？モデルの追加については[カスタムプロバイダー設定ガイド](/blog/how-to-add-haimaker-opencode)をご覧ください。*
