【爆速開発】macOSでローカルコーディングエージェントを構築する最強ガイド
How to setup a local coding agent on macOS
How to setup a local coding agent on macOS
macOS環境で自分専用のローカルコーディングエージェントを構築する方法を解説します。外部APIに頼らず、プライバシーを確保しながら効率的にAIを活用したい方はぜひ試してみてください。
llama.cppを使っているなら、わざわざhuggingface-cliでダウンロードする必要はないはず。-hf ... を渡せば勝手にモデルをダウンロードしてくれるよ。保存先を変えたいなら LLAMA_CACHE をセットすればOK:
LLAMA_CACHE="models" ./llama-server \
-hf unsloth/gemma-4-31B-it-GGUF:UD-Q4_K_XL \
...
少し前に似たような記事を書いたよ。ollamaとopencodeを使ってみたやつ。 https://blog.kulman.sk/running-local-llm-coding-server/
これ役に立つね、数日前に見たかったよ :-)
M1 MaxでQATモデルのMTP設定がどれほど速度向上に寄与しているかは確信が持てないけど、試してみる価値は絶対ある。
ローカルモデルをいじくり回すのは、内部で何が起きているかを概念的に理解するのにすごく役立った。
参考までに、環境によるかもしれないけど、Gemma 4のMTPヘッドがOpencodeのマークアップをたまに壊して、思考過程の表示が崩れたり、最終的にストップトークンが出なかったりすることがあった。だから今のところMTPは使ってない。
最近のQwen 3.6モデルは開発者ロールをサポートしてるから、たまに構造化された選択式アンケートで驚かせてくるよ。
64 GB
そこがネックだよね。
自分は48GのM4を持ってるけど、これを試す価値があるのか悩ましい。
過去の挑戦(OllamaといろいろなLLM)では実用するには遅すぎたから。
ベンチマークのプロンプトはこれ:
unified diffを解析して変更されたファイルパスを返す簡潔なPython関数を書け。そのあとエッジケースを2つ説明せよ。
各ベンチマークで生成されたのは約128トークン。
128トークンの生成じゃベンチマークとしては十分じゃないかも。MTPの高速化は、予測されたトークンがどれだけ採用されるかに依存する。経験上、生成の最初の方は採用率が高いから、短いテストだと誤った高速化の結果が出てしまうことがある。
llama.cppにはベンチマーク専用のツールがあって、引数を自動でスキャンしてくれるから、サーバーを再起動してプロンプトを送る手間が省けるよ:
https://github.com/ggml-org/llama.cpp/blob/master/tools/llama-bench/README.md
追記:あとモデルのダウンロードに関するセクションでも、llama.cppの "-hf" 引数について触れるべきだったね。著者の経験共有はありがたいけど、初心者向けとしてはベストなガイドとは言えないかも。
自分はomlx.aiを愛用してるよ。ハードウェアに適した複数のmlxモデル(GemmaやQwen含む)のダウンロードもできるし、オープンソースやクローズドソース(Claude code, codex)のハーネスをWebやデスクトップUIから自動的に立ち上げられるからね。
個人的な意見だけど、わざわざブログ記事の手順を追わなくてもこれでいけるはず。
ちなみに、ターミナルでClaude codeを開いて、この記事を読み込ませて「やって」って頼むだけでも動くよ。相当面倒くさがりなら試してみて。
いい記事、ありがとう。
自分もほとんど同じ構成でやってるよ。エージェント用ハーネスとして直接piを使う代わりに、ローカルモデルを実行するための妥当なデフォルト設定でpiをラップしたlittle-coderを使ってる。ローカル環境は少し遅いけど、完全にローカルで実務ができるのは最高にワクワクする。
この動画はリアルタイムで、エージェントが実用的な速度で応答している様子がわかる。
残念ながら、この動画は説明文にリンクされていないみたいだ。AIに頼んで著者の説明を芸術的に再現した画像でも作らせるべきかな。
antirezのds4を使ってDeepSeek v4 Flashを動かしてるけど、かなりいい感じだね。
「蓄積された知識」という点ではGPT-4クラスのモデルに匹敵するし、長期的なツール呼び出し能力に関してはGPT-4クラスより優れている。
128GBのMBP M4 Maxで動かすと、生成で約24 t/s、プリフィルで約200 t/s出てる。遅いかと思ってたけど、コード生成なんかの時は確かに遅いものの、「マシンオーケストレーター」として単純作業をさせる分には驚くほど役に立つ。
エージェントとして使わない場合でも会話相手として十分な性能だし、完全に自己完結してプライベートなのがメリットだね。