5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ollama+agentでローカルAIエージェント

Qwen 3.6やGemma4など実用的なローカルLLMが出てきたので、フロンティアモデルの必要がない簡単な作業ならローカルで完結できるようになりました。そこで既存のAIエージェントをollamaを使ってローカルLLMを動かし、開発したいと思います。

ローカルLLMは高速なPCで動かしたいので、ollamaはsshトンネリングで動かすことにします。使えるAIエージェントは、Codex、Claude Code、OpenCode、GitHub Copilotです。

Codex CLI

次のコマンドでインストールする。

curl -fsSL https://chatgpt.com/codex/install.sh | sh

次のコマンドで動きます。

codex --oss -m gpt-oss:120b-cloud

Claude code

次のコマンドでインストールする。

curl -fsSL https://claude.ai/install.sh | bash

ollamaを使うために、環境変数を設定し、claude codeを実行する。

export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model qwen3.5

インライン版

ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_BASE_URL=http://localhost:11434 ANTHROPIC_API_KEY="" claude --model glm-5:cloud

ollamaがインストールされていれば

ollama launch claude --model qwen3-coder:30b

でも動く。しかし、ollamaが入っていないと動かない(sshトンネリングで動かす場合は使用できない)。

OpenCode

次のコマンドでインストールする。

curl -fsSL https://opencode.ai/install | bash

.opencode/opencode.jsonにollamaの設定を書く。

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3.6:35b_agent": {
          "name": "qwen3.6:35b"
        },
          "qwen3.6:27b_agent": {
          "name": "qwen3.6:27b"
        }
      }
    }
  }
}

OpenCodeを実行し、ollamaのモデルを選ぶ。

GitHub Copilot CLI

次のコマンドでインストールする。

curl -fsSL https://gh.io/copilot-install | bash

ollamaを使うために、環境変数を設定し、GitHub Copilot CLIを実行する。

export COPILOT_PROVIDER_BASE_URL=http://localhost:11434/v1
export COPILOT_PROVIDER_API_KEY=
export COPILOT_PROVIDER_WIRE_API=responses
export COPILOT_MODEL=qwen3.5
copilot

インライン版

COPILOT_PROVIDER_BASE_URL=http://localhost:11434/v1 COPILOT_PROVIDER_API_KEY= COPILOT_PROVIDER_WIRE_API=responses COPILOT_MODEL=glm-5:cloud copilot

GitHub Copilot

sshトンネリングすれば(ollamaがインストールされていれば)、Copilotが使用するモデルにollamaのモデルが記載される。

LLMサーバと複数サーバがある場合

エージェントとollamaが動くコンピュータが異なる場合、エージェントを動かすコンピュータでollamaを動かせるようにする必要があります。この場合、sshトンネリングにより、ollamaを使えるようにします。次のコマンドを打つことで、エージェントを動かすコンピュータからollamaが使えるようになります。

ssh -N -L 11434:127.0.0.1:11434 your_user@ollama-server

また、LLMごとにLLMサーバ(ollamaサーバ)を用意している場合は、LLMサーバごとに異なるポートでトンネリングすれば、簡単にLLMサーバ(LLM)を切り替えることができます。例えば、2つLLMサーバがある場合、1つは11434、もう一つは11433としたばあい、次のようなコマンドを打てばよいです。

ssh -N -L 11434:127.0.0.1:11434 your_user@ollama-server1
ssh -N -L 11433:127.0.0.1:11434 your_user@ollama-server2

さらに、エージェントのLLMサーバのbase URLの設定で、2つのURLを設定すれば、複数LLMサーバが使えます。

コーディングエージェントにおけるLLMの設定について

コーディングエージェントで重要なのは、もちろんコーディング能力ですが、スピードとコンテキストサイズも重要です。コーディングエージェントの場合、エージェントに与えるコンテキストは大きくなりがちなため、メモリーとLLMの能力が許す限り大きくする必要があります。

また、安定してエージェント動作をさせるために、生成サイズ、生成のばらつき(温度パラメタ)、ループへのペナルティなど調整する必要があります。

例として、modelfileを提示します。参考にして下さい。

FROM qwen3.6:35b-a3b-mtp-q8_0

PARAMETER num_ctx 131072
PARAMETER num_predict 4096

PARAMETER temperature 0.15
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.05
5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?