【実行高速化!】MacのOpenCode環境でmlx-lmを動かす方法
Appleシリコン(Mシリーズチップ)を搭載したMacでローカルLLMを利用する場合、mlx-lmが高速です。この記事では、OpenCode環境にmlx-lmを組み込んで、ローカルAIによるコーディングを劇的に高速化する方法について解説します。
mlx-lmとは
mlxはAppleの提供するApple Silicon向けの機械学習用のフレームワークです。
mlx-lmは、このmlx用いて大規模言語モデル(LLM)を利用するためのユーティリティという位置付けになります。
mlx-lmを利用するメリットは以下の通りです。
- 圧倒的な高速化と省メモリ
Apple Siliconのユニファイドメモリ(UMA)を最大限に活かす設計のため、GPUとCPU間で無駄なデータ転送が発生しません。これにより、ローカル環境での推論速度が高速です。 - Hugging Faceとの高い親和性
Hugging Face上に公開されている膨大なLLM(Llama、Gemma、Mistral、Qwenなど)を、コマンドラインから直接ダウンロード(ダウンロードされていない場合は自動ダウンロード)して、mlx用に最適化された形式で即座に実行できます。
今回、AIエージェントで利用するので「高速性」は大きなメリットになります(ollamaなど比較して2~3倍高速という報告もあります。)

インストール
インストールは簡単です。以下のコマンドで簡単にインストールできます。
pip install mlx-lm

依存関係の衝突を防ぐために、仮想環境を作ってからインストールすることをお勧めします。

サーバーの起動
サーバーの起動は以下のようなコマンドになります。
mlx_lm.server \
--model mlx-community/Qwen3.6-35B-A3B-4bit \
--host 127.0.0.1 --port 8081
この例では、ポート8081で待ち受ける設定としています。これで、OpenAI互換のAPIでの利用が可能になります。
ちなみに、--host 127.0.0.1 --port 1234と指定すればLMStudioと同じになります。切り替えて使う場合はこちらのほうが楽かもしれません。ただ、同時に動かすと衝突するので要注意です。
OpenCodeの設定
OpenCodeについては以下の記事を参考にしてください。ここでは、mlx-lmを利用するための設定だけ説明します。

opencode.json
mlx-lmを利用するには、opencode.jsonに以下のような記述を行います。今回も、コンテキストサイズ200,000で制限を行っていますが、メモリ容量によっては大きすぎるかもしれません。動作が重い、またはクラッシュする場合は、数万(例: 32,000など)に落として調整してください。
Qwen3.6(特に35Bなどの大型モデル)をMacのローカル環境で動かす場合、コンテキストサイズを 200,000 まで広げると、たとえ4-bit量子化版(Qwen3.6-35B-A3B-4bit)であっても、コンテキストが埋まるにつれてユニファイドメモリ(RAM)を大量に消費し、動作が極端に重くなる(またはクラッシュする)可能性があります。
私の環境は128GB搭載のM4 Maxなので問題は発生していませんが、もしメモリが足りないならモデルを変更するなどの対応が必要です。
モデルの変更する場合は、mlx-community/Qwen3.6-35B-A3B-4bitの部分を修正します。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"mlx": {
"name": "mlx-lm (local)",
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://127.0.0.1:8081/v1",
"apiKey": ""
},
"models": {
"mlx-community/Qwen3.6-35B-A3B-4bit": {
"name": "Qwen3.6 35B A3B",
"limit": {
"context": 200000,
"output": 200000
}
}
}
}
},
"agent": {
"Qwen3.6": {
"description": "you are agent for python programming",
"model": "mlx/mlx-community/Qwen3.6-35B-A3B-4bit",
"temperature": 0
}
}
}これで設定は完了です。ちなみに、エージェントのdescriptionは目的に合わせて変更してください。私はPythonプログラミングのエージェントとして設定しています。
OpenCodeの起動と利用
OpenCodeを立ち上げたら、Tabキーを押して、エージェントをQwen3.6に変更します。

あとは、普通に使えば、mlx-lmを使って対話可能です。
実際に使ってみた感想
LMStudioやollamaと比較した感じだと、若干高速化されているなという感じです。ただ、OpenCodeなどのエージェントで利用する場合は、コンテキストが大きめになり応答が遅くなりがちなので、高速性は重要です。
まとめ
mlx-lm + opencodeの環境を作る手順について解説しました。
