ローカルLLMでコーディングエージェント(OpenCode)を動かしてみた
MacBookPro M5 Max 128GBを購入しました。
ローカルLLMを中心としたエージェント環境を作っていくのが一つの目的です。
手元に届きましたので、さっそく簡単にローカルLLMで、コーディングエージェントを動かしてみました。
前提
mlx-lm が良いらしいとの情報は得られましたが、動かしてみると色々ハマりました。すでに手元ではOllamaを使ってローカルLLMが動いており、別用途でDLしたモデルがあったのでそれを使ってみました。使ったモデルは Qwen3.5:9B です。正直、このサイズのモデルなら以前使っていた24GBメモリのMacBookAir でも動いていたのですが、このサイズ感でも構造化出力できることは認識していましたし、巨大モデルを使おうとすると、モデルだけで40-50GB必要で、DLに時間がかかってしまいます。一旦疎通確認を優先したいので、すでにDL済みのモデルを使います。
Ollama起動
Ollamaは、以下のコマンドでコンテキストを増やして起動しておきます。
理由は、デフォルトだとコンテキストが足りないとFableに言われたからです。
今回は、まず動くことを確認するため、深く考えてません。このサイズだと意味ないかも。
OLLAMA_CONTEXT_LENGTH=32768 ollama serve
OpenCodeインストール
次にエージェント用のCLIをインストールして接続します。今回は、OpenCodeを使います。グローバルにインストールします。
npm install -g opencode-ai
OpenCodeの設定ファイル(~/.config/opencode/opencode.json)にローカルプロバイダを追加します。こんな感じです。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"qwen3.5:9b": { "name": "Qwen3.5 9B(Ollama)" }
}
}
}
}
簡単に動かしてみる
次に適当なリポジトリで起動します。リポジトリはなんでもいいんですが、この公開リポジトリを使います。
opencode
以下のような指示を入れてみました。
- このリポジトリを説明してください
- このリポジトリに含まれている機能を教えてください
とりあえずファイルを複数読み込んで、返答を返すところまでは確認ができました
わかったこと
とりあえず動くことがわかりました。ただ、どのモデルがどこまでできるか、どのエージェントハーネスがどこまでいい感じに動作するか、はサクッと評価することが難しいことがわかりました。なので、個人的にはローカルLLMエージェントの評価基盤が欲しいです。
あと、今回利用したモデルは比較的小さなモデルですが、具体的に指示を出せば、従うように見えました。手順書レベルで渡すと実行できる気がします。そうなると、手順書が出来上がるところまでどうやってスムーズにいくか問題になってくる気がします。あと、実際にちゃんと指示に従ったのかの追跡やログも欲しいかな。
それから、今回は qwen3.5:9b を使いましたが、このモデルはReasoningがデフォルトで入っており、それが長いように感じています。その影響もあって、サクサク動いてはいません。今後の調整も必要だと思ってます。
こちらからは以上です。