- 1. 目的
- 2. Mac mini初期設定
- 3. VS Codeのインストール
- 4. 作業フォルダの作成
- 5. Python環境の確認
- 6. Ollamaのインストール
- 7. Gemma 4 12Bのインストール
- 8. Gemma 4 12Bの速度確認
- 9. Activity MonitorでGPUとメモリを見る
- 10. Dockerのインストールと確認
- 11. Homebrewのインストール
- 12. OpenClawのインストール
- 13. OpenClaw初期設定で選んだ項目
- 14. OpenClaw起動時のモデル名エラー対策
- 15. OpenClawの起動
- 16. VS CodeでローカルLLMを使う場合の注意
- 17. Qwen 3.6 27B Coding MXFP8を追加する場合
- 18. 今回の成功確認コマンドまとめ
- 19. 今回つまずいた点と解決
- 20. 結論
1. 目的
Mac mini M4 Pro、メモリ48GBの環境に、ローカルLLM実行環境を構築した。
今回のゴールは以下である。
- VS Codeを使えるようにする
- Python開発環境を作る
- Dockerを動作確認する
- Ollamaをインストールする
- Gemma 4 12Bをローカルで動かす
- OpenClawをOllama / Gemma 4 12Bに接続する
- OpenClawからローカルLLMに質問できるところまで確認する
なお、名前を混同しやすいが、今回扱うのは OpenCL ではなく OpenClaw である。OpenCLはGPU計算APIで、OpenClawはAIエージェント実行環境である。
2. Mac mini初期設定
中古またはオークション購入のMac miniでは、最初に以下を確認する。
- Activation Lockが出ないこと
- Remote Management / リモート管理が出ないこと
- 前所有者のApple ID入力を要求されないこと
- 自分のローカルMacアカウントでログインできること
- 再起動後も普通にログインできること
初期設定時、Apple Account作成に失敗する場合がある。この場合、無理にその場でApple Accountを作らず、あとで設定またはサインインしないを選んで、まずMacのデスクトップまで進めればよい。
3. VS Codeのインストール
Safariで以下を検索する。
Visual Studio Code download
公式サイトからMac版をダウンロードする。Apple SiliconのMac miniなので、Apple silicon版を選ぶ。
ダウンロード後、VS CodeをApplicationsフォルダに移動して起動する。
次にVS CodeのExtensionsで、最低限以下を入れる。
- Python
- Pylance
- Python Debugger
- GitHub Copilot Chat、必要なら
VS Codeの拡張だけではPython本体は入らない。Pythonは別途インストールが必要である。
4. 作業フォルダの作成
WindowsのCドライブに相当する考え方はMacにはない。Macでは、通常は自分のユーザーフォルダ以下に作業フォルダを作る。
例:
cd ~
mkdir work
cd work
または、Finderで以下のように作る。
Users / XXX / work
今後、OpenClaw、Python、Docker関連のテストはこの ~/work 以下で行うと管理しやすい。
5. Python環境の確認
VS CodeでTerminalを開く。
python3 --version
バージョンが表示されればPythonは入っている。
テスト用プロジェクトを作る。
cd ~/work
mkdir test_python
cd test_python
python3 -m venv .venv
source .venv/bin/activate
左側に (.venv) が出れば仮想環境が有効になっている。
テストファイルを作る。
touch test.py
test.py に以下を書く。
print("Hello from Mac mini")
実行する。
python test.py
以下が出れば成功。
Hello from Mac mini
6. Ollamaのインストール
Safariで以下を検索する。
Ollama Mac download
公式ページからmacOS版をダウンロードしてインストールする。
インストール後、Terminalで確認する。
ollama --version
バージョンが出れば成功。
7. Gemma 4 12Bのインストール
今回は最初のローカルLLMとして Gemma 4 12B を使った。
Ollama公式ライブラリでは、Gemma 4の12Bモデルは以下のコマンドで実行できる。Gemma 4には12B、26B、31Bなどのワークステーション向けモデルが用意されている。
ollama run gemma4:12b
これは初回実行時に、モデルのダウンロードと起動を同時に行う。ダウンロードには時間がかかる。
起動したら、以下を入力して確認する。
Hello. Please introduce yourself briefly.
終了する場合は、
/bye
を入力する。
インストール済みモデルを確認するには、
ollama list
を使う。
8. Gemma 4 12Bの速度確認
Ollama単体で速度を確認するには、--verbose を付けて起動する。
ollama run gemma4:12b --verbose
その後、例えば以下を入力する。
Please write 200 words about Japan.
返答が終わると、最後に以下のような情報が出る。
prompt eval rate: xx tokens/s
eval rate: xx tokens/s
見るべき指標は主に eval rate で、これは出力生成速度を示す。OllamaのAPIメトリクスでは、eval_count が出力トークン数、eval_duration が出力生成時間として説明されている。
今回のMac mini M4 Pro 48GBでは、Gemma 4 12Bで約26 tokens/s程度が出た。これはローカルLLMとしては十分実用的な速度である。
9. Activity MonitorでGPUとメモリを見る
OllamaでGemma 4 12Bを動かすと、Activity Monitorで llama-server が表示される。
確認ポイントは以下。
- GPU使用率
- CPU使用率
- メモリプレッシャー
- スワップ使用量
今回の環境では、GPU使用率が90%前後、CPUはかなり低めだった。これは、Apple SiliconのGPUを使ってLLM推論している状態であり、正常である。
メモリについては、llama-server 単体の表示だけを見るのではなく、全体のメモリプレッシャーとスワップ使用量を見る。
判断目安:
メモリプレッシャー:緑 → 良好
スワップ使用量:0または少量 → 良好
黄色・赤、またはスワップ数GB以上 → モデルが重い可能性
Gemma 4 12Bでは、48GBメモリ環境ではかなり余裕があった。
10. Dockerのインストールと確認
Docker Desktop for Macをインストールし、起動する。
Docker Hubのログインまたはサインアップ画面が出た場合、Googleアカウントで続行してもよい。ただし、途中で求められるのはGoogleアカウントではなく、Docker Hub用のusernameである。
例:
unikarei2026
Dockerが起動したら、Terminalで確認する。
docker --version
docker compose version
動作確認として以下を実行する。
docker run hello-world
以下のような表示が出れば成功。
Hello from Docker!
11. Homebrewのインストール
OpenClawのインストール時に、Homebrewが必要になる場合がある。
今回、OpenClawインストーラ実行時にHomebrewの自動インストールで失敗したため、先に手動でHomebrewを入れた。
まずsudoが通るか確認する。
sudo -v
Macのログインパスワードを入力する。入力中は文字が表示されないが、そのまま入力してEnterを押せばよい。
Homebrewをインストールする。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Apple Silicon Macでは、インストール後に以下を実行する。
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
確認する。
brew --version
注意:brew --vserion はスペルミス。正しくは brew --version。
必要に応じてNode.jsを入れる。
brew install node
node --version
npm --version
12. OpenClawのインストール
OpenClaw公式ドキュメントでは、macOS / Linux / WSL2向けの推奨インストールコマンドとして以下が案内されている。インストーラはOSを検出し、必要に応じてNodeを入れ、OpenClawをインストールしてオンボーディングを開始する。
curl -fsSL https://openclaw.ai/install.sh | bash
インストール中にリスク確認が出る。
これは、OpenClawがベータ版であり、ツール許可を与えるとファイル読み取りや操作実行が可能になるための警告である。
個人用Macで、ローカルテストとして使う場合は、内容を理解したうえで Yes で進める。
ただし、以下はすぐには接続しない方がよい。
- 本番Gmail
- 会社メール
- 会社Google Drive
- Mac全体の重要ファイル
- Apple ID / iCloud
- 外部インターネット公開
13. OpenClaw初期設定で選んだ項目
今回選択した設定は以下。
セットアップ方式
Quickstart
recommended local setupなので、初回はこれでよい。
Gateway bind
Loopback (127.0.0.1)
外部公開しない設定なので安全寄り。
Tailscale exposure
Off
LLM Provider
OpenAIではなく、ローカルLLMを使いたいので、
More...
からOllamaを選択。
OpenClawのOllama設定では、Local onlyの場合にOllamaのbase URLを指定し、利用可能モデルを検出する流れになっている。
Ollama Host
http://127.0.0.1:11434
意味:
127.0.0.1 → このMac自身
11434 → Ollamaの標準ポート
モデル名
ここが重要。
gemma4:12b
gemma4 だけでは失敗する場合がある。Ollamaに実際に入っている名前を確認し、完全一致させる。
確認コマンド:
ollama list
Chat UI / interface
ClickClack
初回は外部チャットサービスではなく、ローカル用のClickClackでよい。
Search provider
初回テストでは、
Parallel Search (Free)
または、安全重視なら
Skip for now
どちらでもよい。
Additional dependencies
Skip for now
GitHub、PDF、Apple Notes、Whisperなどの追加機能は後から必要に応じて入れる。
Google Places API
No
地図や場所検索が必要になるまでは不要。
Hooks
Skip for now
初回は余計な自動処理を増やさない。
起動方法
Hatch in Terminal
初回はTerminal上で起動するのが一番分かりやすい。
14. OpenClaw起動時のモデル名エラー対策
最初、OpenClaw起動時に以下のエラーが出た。
model 'gemma4' not found
原因は、OpenClawが gemma4 というモデル名でOllamaに問い合わせていたこと。
しかし、Ollamaに実際に入っていたモデル名は、
gemma4:12b
だった。
まず確認する。
ollama list
次にOpenClaw設定ファイルを開く。
code コマンドがTerminalで使えない場合は、以下でVS Codeを開く。
open -a "Visual Studio Code" ~/.openclaw/openclaw.json
ファイル内で gemma4 を検索する。
Command + F
gemma4
以下のようになっている箇所を、
"id": "gemma4",
"name": "gemma4"
以下に変更する。
"id": "gemma4:12b",
"name": "gemma4:12b"
特に重要なのは id である。Ollamaに渡されるモデル名なので、ここが間違っていると起動しない。
保存する。
Command + S
15. OpenClawの起動
今回、以下のようなコマンドは失敗した。
openclaw tui --local embedded --agent main --session main
--agent が openclaw tui のオプションとして使えなかったためである。
最終的には、以下で起動できた。
openclaw chat
または、
openclaw tui --local
起動後、画面下に以下のように表示されればよい。
ollama/gemma4:12b
動作確認として以下を入力する。
Hello. Which model are you using?
以下のように返れば成功。
I am currently running on the ollama/gemma4:12b model.
これで、
OpenClaw → Ollama → Gemma 4 12B
の接続が成功した。
16. VS CodeでローカルLLMを使う場合の注意
VS CodeのCopilot Chat連携でOllamaモデルを使おうとしたが、Hi だけでも長時間Thinkingが続く場合があった。
この場合、原因はGemma 4そのものではなく、VS Code側のAgentモードやツール選択処理のオーバーヘッドの可能性が高い。
切り分けは、まずTerminalでOllama単体を動かす。
ollama run gemma4:12b
そこで、
hi
にすぐ返るなら、OllamaとGemmaは正常。
VS Code側では、Agentモードではなく、
Ask
Chat
などの軽いモードに切り替えるとよい。
17. Qwen 3.6 27B Coding MXFP8を追加する場合
Gemma 4 12Bが動いた後、コーディング用途でQwenを試すなら、候補は以下。
ollama run qwen3.6:27b-coding-mxfp8
または、先にダウンロードだけするなら、
ollama pull qwen3.6:27b-coding-mxfp8
Qwen3.6は、Agentic Codingやリポジトリレベルの推論能力の強化が説明されている。
48GBメモリのMac miniでは試す価値はあるが、Gemma 4 12Bより重い。実行時は必ず以下を見る。
Activity Monitor → Memory → Memory Pressure
Activity Monitor → Swap Used
18. 今回の成功確認コマンドまとめ
Python
python3 --version
python3 -m venv .venv
source .venv/bin/activate
python test.py
Docker
docker --version
docker compose version
docker run hello-world
Homebrew
brew --version
Ollama
ollama --version
ollama list
ollama run gemma4:12b
ollama run gemma4:12b --verbose
OpenClaw
openclaw --version
openclaw chat
OpenClaw設定ファイルを開く
open -a "Visual Studio Code" ~/.openclaw/openclaw.json
19. 今回つまずいた点と解決
1. Mac初期設定でApple Account作成に失敗
Apple Account作成をスキップして、まずローカルアカウントでデスクトップまで進めた。
2. @ が入力できない
キーボード配列が違う可能性がある。US配列なら、
Shift + 2
で @ が入る。
3. brew --version のスペルミス
誤り:
brew --vserion
正しい:
brew --version
4. code コマンドが使えない
代わりに以下を使った。
open -a "Visual Studio Code" ~/.openclaw/openclaw.json
後でVS Codeから以下を実行すれば、code コマンドを使えるようにできる。
Command + Shift + P
Shell Command: Install 'code' command in PATH
5. OpenClawが gemma4 を探して失敗
Ollama側の実モデル名は gemma4:12b だったため、~/.openclaw/openclaw.json の id と name を gemma4:12b に修正した。
20. 結論
Mac mini M4 Pro 48GBでは、以下の構成でローカルLLMエージェント環境を構築できた。
Mac mini M4 Pro 48GB
├─ VS Code
├─ Python
├─ Docker Desktop
├─ Homebrew
├─ Ollama
│ └─ Gemma 4 12B
└─ OpenClaw
└─ provider: Ollama / gemma4:12b
Gemma 4 12Bはローカルで十分実用的に動作し、Ollama単体では約26 tokens/s程度の速度が出た。OpenClawからも ollama/gemma4:12b として認識され、質問に回答できるところまで確認できた。
今後は、Qwen 3.6 27B Coding MXFP8など、よりコーディング向けのモデルを追加し、VS CodeやOpenClawからの実用性を比較していく予定である。


コメント