はじめに
ollama pull qwen3-coder-next:latest でモデルをダウンロードして opencode から選んだだけでは、残念ながらうまく動きません。 「同じ文章を繰り返す」「存在しないツールを呼ぶ」「モデルが一覧に出てこない」などのトラブルが起きます(原因の詳細はこちらの記事を参照)。
この記事では、インストールしただけの状態から「実際に使える状態」までを、手順に沿ってセットアップする方法をまとめます。
さらに最後に、上記の設定作業を opencode の任意のモデルへプロンプトを投げるだけで自動実行できる「一括設定プロンプト」 を用意しました。コマンドを手打ちせずに済むので、ぜひお使いください。
前提
| 項目 | 条件 |
|---|---|
| Ollama | v0.15.5 以上(qwen3-coder-next の必要要件) |
| opencode | 最新の LTS / release 版 |
| OS | Windows / macOS / Linux いずれも可 |
| メモリ | システム RAM 64GB 以上を推奨(モデルは約 51GB、GPU 16GB では RAM へ mmap 混載が前提) |
| GPU | 任意(無くても動くが遅い。AMD/ NVIDIA とも対応) |
モデルスペック:
qwen3-coder-next:latest= 80B 級 MoE(約 79.7B / 活性約 3B)、Q4_K_M 約 51GB、ネイティブ コンテキスト 262,144。
全体の流れ
- Ollama とモデルのインストール(一般的な方法)
- Modelfile でループ対策モデルを作成(Ollama の設定)
- opencode に Ollama プロバイダとモデルを登録(opencode の設定)
- 動作確認
Step 1: Ollama とモデルのインストール
1-1. Ollama のインストール
公式サイト https://ollama.com/download から OS に合わせたインストーラをダウンロードしてインストールします。
インストール確認:
ollama --version
qwen3-coder-next は Ollama 0.15.5 以上 が必要です。古い場合はアップデートしてください。
1-2. モデルのダウンロード
ollama pull qwen3-coder-next:latest
約 51GB あるので、ダウンロードに時間がかかります。
確認:
ollama list
# qwen3-coder-next:latest ca06e9e4087c 51 GB ...
この段階で
ollama run qwen3-coder-nextは動きますが、opencode から実用レベルで使おうとするとループ等で失敗します。 Step 2 以降を必ず実施してください。
Step 2: Modelfile でループ対策モデルを作成(Ollama の設定)
qwen3-coder-next は 繰り返し(ループ)が発生しやすい既知の癖 があります。Ollama のデフォルトサンプラーはペナルティが全て無効で、ループ抑制の仕組みが入っていない ため、サンプリングパラメータを設定した派生モデルを作ります。
2-1. Modelfile を作成
拡張子なしのテキストファイル Modelfile を任意の場所に作ります。
FROM qwen3-coder-next:latest
PARAMETER temperature 0.8
PARAMETER top_p 0.95
PARAMETER min_p 0.01
PARAMETER top_k 40
PARAMETER presence_penalty 1.10
PARAMETER frequency_penalty 0.5
PARAMETER num_ctx 16384
⚠️
dry_multiplier/dry_allowed_length(Reddit の Loop Fix で推奨されることがある)は Modelfile のPARAMETERでは受け付けられずError: unknown parameterになります(Ollama 0.34.2 で確認)。書かないこと。
2-2. 派生モデルを作成
ollama create qwen3-coder-next-lf -f Modelfile
# success
2-3. パラメータを確認
ollama show qwen3-coder-next-lf --parameters
# min_p 0.01 / num_ctx 16384 / presence_penalty 1.1 / temperature 0.8 / top_k 40 / top_p 0.95 / frequency_penalty 0.5
すべて反映されていれば OK です。
メモリが足りず OOM になる場合は
PARAMETER num_ctxを 8192 など小さめに調整してください。
Step 3: opencode にモデルを登録(opencode の設定)
opencode は Ollama を自動で検出しません。設定ファイルにプロバイダを明示登録します。
3-1. 設定ファイルを開く
| OS | パス |
|---|---|
| Windows | C:\Users\<ユーザー名>\.config\opencode\opencode.jsonc |
| macOS / Linux | ~/.config/opencode/opencode.jsonc |
存在しなければ新規作成します。opencode.json でも可(JSONC 形式の場合は拡張子 .jsonc)。
3-2. 設定を記述
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"qwen3-coder-next-lf": {
"name": "qwen3-coder-next-lf",
"limit": {
"context": 16384,
"output": 16384
}
}
}
}
},
"model": "ollama/qwen3-coder-next-lf"
}
ポイント:
-
npm: "@ai-sdk/openai-compatible"と Ollama の OpenAI 互換エンドポイントhttp://localhost:11434/v1を指定するのがポイント。 - 既に別のプロバイダが設定されている場合は、
providerオブジェクトにollamaを 追加 する形で結合します(他の設定を壊さないこと)。 - モデル単位の
limit.context/limit.outputは、クライアント側の最大値を決めるもの。実際の割り当ては Ollama 側(Step 2 のnum_ctx)と合わせることが重要です。
3-3. 設定後
opencode を 再起動 し、/models で ollama/qwen3-coder-next-lf を選択します。
一覧への反映はコマンドでも確認できます:
opencode models | grep ollama
# ollama/qwen3-coder-next-lf
Step 4: 動作確認
チャットで簡単な質問を投げてみます。
- ユーザー:
1+1=? Answer in one word. - 期待:
Two(ループせず正常応答)
ファイル操作や agent 動作(ツール呼び出し)も試し、ループ・幻覚パス・誤ツール名が無ければ成功です。
作業の自動化:一括設定プロンプト
上記 Step 1〜4(Ollama の確認・Modelfile 作成・opencode 設定)は、以下のプロンプトを opencode の任意のモデルに投げるだけで自動実行できます。
使い方
- opencode を起動し、プロジェクト内で 任意のモデル を選択(設定作業は軽いので小さいモデルで十分)
- 下のコードブロックの内容をコピーして貼り付け、送信
- 完了報告を待って、opencode を再起動 →
/modelsでollama/qwen3-coder-next-lfを選択
プロンプト本文
# タスク
ローカルLLM「qwen3-coder-next」を Ollama + opencode で実用的に使えるよう、以下の手順をすべて自動で実行して環境設定してください。
## 前提確認
1. `ollama --version` を実行し、Ollama が v0.15.5 以上であることを確認する。未インストール・旧バージョンの場合はエラーを報告して停止。
2. `ollama list` を確認し、`qwen3-coder-next:latest` が無ければ `ollama pull qwen3-coder-next:latest` を実行する。
3. 実行 OS(Windows / macOS / Linux)を判別し、設定ファイルのパスやコマンドを環境に合わせて使う。
## Step A: ループ対策モデルの作成
1. 一時ディレクトリに `Modelfile` を作成し、以下を書き込む:
FROM qwen3-coder-next:latest
PARAMETER temperature 0.8
PARAMETER top_p 0.95
PARAMETER min_p 0.01
PARAMETER top_k 40
PARAMETER presence_penalty 1.10
PARAMETER frequency_penalty 0.5
PARAMETER num_ctx 16384
2. `ollama create qwen3-coder-next-lf -f <Modelfile のパス>` を実行する。
3. `ollama show qwen3-coder-next-lf --parameters` で、temperature 0.8 / top_p 0.95 / min_p 0.01 / top_k 40 / presence_penalty 1.1 / frequency_penalty 0.5 / num_ctx 16384 が反映されているか確認する。
4. もし `dry_multiplier` 等を指定して `unknown parameter` エラーになった場合は、その指定を除いてやり直す(Modelfile 非対応のため)。
## Step B: opencode 設定
1. 設定ファイルを探す:
- Windows: C:\Users\<ユーザー名>\.config\opencode\opencode.jsonc
- macOS / Linux: ~/.config/opencode/opencode.jsonc
存在しなければ新規作成する。既存設定がある場合は `provider` と `model` を追加・上書きする(既存のプロバイダは壊さない)。
2. 以下を設定ファイルへ反映する:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama",
"options": { "baseURL": "http://localhost:11434/v1" },
"models": {
"qwen3-coder-next-lf": {
"name": "qwen3-coder-next-lf",
"limit": { "context": 16384, "output": 16384 }
}
}
}
},
"model": "ollama/qwen3-coder-next-lf"
}
3. `opencode models` を実行し、`ollama/qwen3-coder-next-lf` が一覧に含まれることを確認する。
## 完了報告
- 実行した各コマンドと結果(成功 / 失敗)を簡潔に報告する。
- ユーザーへ以下を案内する:
1. opencode を再起動し `/models` から `ollama/qwen3-coder-next-lf` を選択すること
2. 動作確認として `1+1=? Answer in one word.` を試すこと
実行例(想定される結果)
| ステップ | 実行内容 | 想定結果 |
|---|---|---|
| 前提確認 | ollama --version |
v0.34.2 等 |
| Step A | ollama create qwen3-coder-next-lf |
success |
| Step A | ollama show ... --parameters |
全パラメータ反映済み |
| Step B | opencode models |
ollama/qwen3-coder-next-lf 表示 |
注意点・よくある失敗
-
Provider not found: ollama→ opencode の設定が「モデル選択だけで provider 未登録」。Step 3 の設定が必須。 -
/modelsに出てこない →provider.ollama.modelsに登録したモデルだけが表示される仕様。qwen3-coder-next-lfを登録済みか確認。 -
ループ・同じ文言の繰り返し → Step 2 のパラメータが未適用(
ollama showで確認)。あるいは元モデルqwen3-coder-nextを直接選んでいないか。 -
デフォルト通りの応答が遅い → 80B 級モデルは GPU 16GB では RAM へ mmap 混載となり、~10〜14 tok/s 程度が実態。必要に応じて小さめのモデル(
qwen3-coder:30b等)を検討。 -
OOM / コンテキスト不足 → クライアント側の
limit.contextと Ollama 側のnum_ctxの両方を見る。RAM が少なければnum_ctxを下げる。
参考リンク
- Ollama ダウンロード
- Ollama Modelfile 公式ドキュメント
- opencode
- 前回の原因調査記事(ループの原因と対策の詳細解説)
おわりに
「インストールしただけ」では動きません。 重要なのは、①ループ対策済みの派生モデルを作ること、②opencode にプロバイダとして Ollama を明示登録すること、この2点です。この記事の手順(または最後のプロンプト)を使えば、迷わず「動く状態」まで到達できます。