Local LLM で Coding Agent をつかってみる
概要
タイトルの通り。
そもそも、https://github.com/magnitudedev/magnitude というのを見ており、「そういえば、そもそも Claude Code で Local LLM ってどうなんじゃ?」と思ってやってみた記録です。
環境
- Macbook Pro M4 32GB
- claude code, codex
- ollama, LiteLLM
- Magnitude
結論
まぁ、良いPCがないと厳しい ≒ 全然処理が終わらない(リクエストタイムアウトする)
-
claude code のデフォルトの context と tool 定義で 30000 tokenぐらいが使われるため、そのあたりを処理できる必要がある。
- 今のところ Gemma 4 31b, qwen30b とかで 9分 かかって回答帰ってくる感じ
- 逆に言えば、小さいモデルを使えばいける。それでいいのかの問題。
-
Magnitude (gemma4 26b-A4B)は早いわけじゃないが、上記よりもマシ。ぜんぜん、動きはする
- Goal 的なものがないから自律的に動くことがない。「次は〇〇をやります」といって自律的にタスクを完了することができそうもない。これをwatchするとかが必要そう。
Ollama Litellm 対応
から download する。
ちなみにインストールした時点で、claude code との連携ができるっちゃできる。direnv や mise などで .env を環境変数に読み込ませること前提。(このenv はこの後も修正します)
# 既存の設定
ANTHROPIC_BASE_URL="http://127.0.0.1:11434"
ANTHROPIC_API_KEY="ollama-local"
ANTHROPIC_MODEL="gemma4:26b"
CLAUDE_CODE_MAX_OUTPUT_TOKENS="4096"
ただ、このまま claude code で利用しようとすると以下のエラーで死ぬ可能性が高い。
会話ぐらいだったらいいが、codeを解析しようとしたりタスクを色々依頼すると大体発生する。
⏺ Ran 2 stop hooks
⎿ Stop hook error: Hook evaluator API error: API Error: Claude's response exceeded the 4096 output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.
codex でも対応できるように litellm を入れる
uv venv
source .venv/bin/activate
uv pip install "fastapi==0.112.2"
uv pip install 'litellm[proxy]'
uv run litellm --config config.yaml --port 4000
litellm が routing する先を指定するための config を作成する。
とりあえず、先ほど ollama で入れていたものを利用する前提。
model_list:
- model_name: "*"
litellm_params:
model: ollama_chat/gemma4:31b # fallback
api_base: http://localhost:11434

とりあえず、これで動かしたが、まぁむりで(そら、1層増えているので)モデルとして qwen 4b をいれてなんとか動くが全然回答品質が良くなく、また thinking 周りもエラーになる。
そういう意味で config.yaml には以下のように設定を追加する
model_list:
- model_name: "*"
litellm_params:
model: ollama_chat/gemma4:31b # fallback
api_base: http://localhost:11434
additional_drop_params: ["thinking", "reasoning_effort"]
timeout: 1800 # めっちゃ時間かかるから
magnitude 使ってみる
npm install -g @magnitudedev/cli
magnitude
でいける。

モデルを最初にインストールするが、自分のPCのスペックを見て決めてくれるらしい。上記で入れてたモデルはダメっぽい(31bとか)。
ただ、gemma 4 26b が選べている。
わかっていることとして
- skill などはちゃんと認識できていそう(動かせるかは別)
- magnitude が llama.cpp を推論ベースにしているため(直接繋いでいるイメージ)なので、上記構成よりも動かせる(26b のモデルも A4B なので動かせるのかも)
触っている限り簡単なアプリケーションの構築をしていくことはできている。例えばhtml修正とか、txt修正、昔の claude の artifact が出たレベルぐらいのものは作成してくれる。
ただ、前述した通り自律的に動くことがないため agentic にしていくとした場合、仕組みがガッツリ必要。
そのため、サブエージェントとして動かせるか、token の削減が期待できるかを今後検証していく。今のままだと、検証にtokenがかさむ未来しか見えないが。。。
まとめ
MacBookPro M4 では Local LLM (gemma4 26b A4B)を使って coding agent は動かせる。
単純作業だけっぽい。
ちゃんとやるなら、ollama や litellm などを通さず直に使う方が良さそう(coding agent の自作)
Discussion