32GB MacでQwen3.6-35B-A3B-UD-Q4_K_Mは本当に実用的なコーディングができるのか?opencodeやClaude Code等での体験談

Reddit r/LocalLLaMA / 2026/4/20

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical Usage

要点

  • ユーザーは、32GBのM2 Macで llama.cpp と opencode を使い、Qwen3.6-35B-A3B-UD-Q4_K_M を動かしているが、メモリ不足による llama-server のクラッシュ回避のためコンテキスト長を32,768トークンに制限する必要があると報告している。
  • 別モデルで以前Claude Codeが完了できたコーディング/デバッグ課題では、システムはバグの本質は掴めるものの、情報圧縮(compaction)が必要情報を削りすぎてしまい、実装へ安定して進めない。
  • サブエージェントの使用を無効化すると1回目の圧縮まではタスクがある程度保たれるが、2回目の圧縮でほぼ確実に挙動が崩れ、プロンプトを誤要約し、さらにカレント作業ディレクトリ名のような細部まで誤って記憶する。
  • ユーザーは、QwenはRAM効率が比較的良いとしても、この構成で現実的に確保できるコンテキスト長では、実際のコーディング作業の再現性が得られないため、より強力なマシンが必要だという結論に至っている。
  • 同様の制約下でより良いコーディング結果を得られた人がいるかを質問し、ローカルのモデルサーバ設定やopencodeの構成も共有している。

私は、32GBのRAMを搭載したM2のMacbook Proで、Qwen3.6-35B-A3B-UD-Q4_K_M を動かしています。llama.cpp と opencode はかなり新しめのビルドを使っています。

メモリ枯渇によって llama-server が完全にクラッシュしてしまうのを避けるため、コンテキストウィンドウを 32768 トークンに設定しなければなりません。これは重要だと分かりました。

一応それなりのテストとして、opencode に、Claude Code が以前 Opus 4.7 で完了できていたタスクを与えました。プロジェクト自体は大きくありませんが、タスクはアプリケーションのフロントエンドとバックエンドの両方を掘り下げ、私にも(そして私はAI以前の元の開発者でした)どこが問題なのかパッと見では分からなかった不具合を突き止める、という内容です。

結果は本当にそそられます。つまり、バグの本質をちゃんと把握できているのが見て取れます。ですが、実装へ進む前に、圧縮(compaction)によっていつも必要以上に多くの情報が捨てられてしまうようです。

サブエージェントの使用を無効にすると、だいたい最初の圧縮パスではタスクをある程度保ったまま生き残ります。これは、コンテキストを2つ分支払うのではなく、1つ分の支払いで済むからです。

しかし、2回目の圧縮パスに入ると、ほぼ確実に正気を失います。要約は結局のところ私の元のプロンプトになってしまい、さらに現在の作業ディレクトリ名まで誤って覚えて(!)、もちろん存在しない、その変種を作り出します。その後は実質的にゲームオーバーです。

Qwen がRAM要件の点で多くのモデルより実際には優れているらしいこと、そして多くの小規模モデルは本格的にコーディングをこなせないらしいことをいろいろ読んだ結果、私は(1)十分に賢いモデルでやりくりできるコンテキストの最大が 32768 で、それでも(2)それでは足りない、という結論に至りました。このゲームをやるなら、もっと強力な環境が必要です。

誰かが これら、あるいは非常に似た制約のもとで もっと良い結果を得られた人はいますか?

(免責事項:私は Qwen や Mac や OpenCode を嫌っているわけではありません。こうしたものが、そもそも私のMacで動いているのが驚異的です。ただ、実際の役に立つ点で、もう少しだけ有用になってくれるのを見てみたいです。)

ありがとうございます!

編集:

以下が私の設定です。

私の qwen-server のエイリアス:

alias qwen-server='llama-server -m ~/models/unsloth/Qwen3.6-35B-A3B-UD-Q4_K_M.gguf -c 32768 -ngl 99 --host 0.0.0.0 --port 8080' 

私の opencode の設定:

{ "$schema": "https://opencode.ai/config.json", "tools": { "task": false }, "provider": { "llama.cpp": { "npm": "@ai-sdk/openai-compatible", "name": "llama-server (local)", "options": { "baseURL": "http://127.0.0.1:8080/v1" }, "models": { "Qwen3.6-35B-A3B-UD-Q4_K_M": { "name": "Qwen3.6-35B-A3B-UD-Q4_K_M" } } } } } 

M2 Macbook Pro、RAM 32GB。

編集:

Claude が指摘してくれたのですが、このモデルの公式モデルカードには「このモデルには、デフォルトのコンテキスト長として 262,144 トークンが設定されている。OOM(Out of Memory)エラーに遭遇した場合は、コンテキストウィンドウを小さくすることを検討してほしい。しかし、Qwen3.6 は複雑なタスクのために拡張コンテキストを活用するため、思考能力を維持するには少なくとも 128K トークンのコンテキスト長を保つことを推奨する。」と書かれているそうです。

なので、ラベルに「この高さじゃないと乗れない」って書いてある、まさにその通りです。たぶんこれが答えなんでしょう。

(私は -ctk q8_0 -ctv q8_0 で k:v キャッシュの量子化も試しましたが、これはすぐに opencode が現在のディレクトリ名を正確に覚えられなくなるという形で結果が出ました。正直なところ、最初からスペルを間違え始めます)

submitted by /u/boutell
[link] [comments]