前面测试了 Qwen3-Coder-30B-A3B,在 RTX 5090 D V2 上可以跑到 90 Tokens/s。最近为了体验 Claude Code 的 Agent 编程能力,又尝试了 Qwopus3.6-27B-Coder

刚开始踩了不少坑,从 15 Tokens/s 一路调优到 52 Tokens/s,最终找到了一套适合 Claude Code 的参数配置,记录一下整个过程。


一、为什么换 Qwopus3.6?

Qwen3-Coder-30B-A3B 的优点很明显:

  • 推理速度快
  • 长上下文优秀
  • 代码生成能力强

但是它属于纯代码模型

而 Qwopus3.6-Coder 更偏向 Agent Coding,官方重点优化的是:

  • Claude Code
  • Aider
  • RooCode
  • OpenHands
  • Tool Calling
  • Repository 级代码修改
  • SWE-bench

也就是说:

Qwen3-Coder 更像一个写代码高手;Qwopus 更像一个会操作整个项目的 AI 工程师。


二、第一次启动:速度只有 15 Tokens/s

最开始直接使用:

./build/bin/llama-server \
-m Qwopus3.6-27B-Coder-Q5_K_M.gguf \
-c 128000

实际测速:

15 Tokens/s

远低于之前 Qwen3-Coder 的:

90 Tokens/s

开始怀疑:

  • GPU 没跑满?
  • CUDA 有问题?
  • mmproj 拖慢了?
  • llama.cpp 参数没调好?

结果发现:

都不是。


三、真正影响速度的原因

经过多轮测试,发现主要有几个因素。

1、Dense 模型就是比 MoE 慢

Qwen3-Coder-30B-A3B:

30B
实际激活约3B

属于 MoE。

而 Qwopus:

27B Dense

每个 Token 都需要完整计算。

因此:

MoE
↓↓
90 Tokens/s

Dense
↓↓
50 Tokens/s

这是模型结构决定的。


2、不要一开始就测试 mmproj

很多人看到:

image input is not supported

就开始折腾 mmproj。

实际上:

日常 Claude Code 根本不需要 Vision。

关闭 mmproj 后:

速度明显提升。

建议:

Coding 服务和 Vision 服务分开部署。


3、Flash Attention 提升非常明显

最终使用:

--flash-attn on

新版 llama.cpp 已支持 Flash Attention。

开启后:

速度直接提升。


四、最终启动参数

目前稳定运行的参数如下:

./build/bin/llama-server \
-m ~/work/models/Qwopus3.6-27B-Coder-Q5_K_M.gguf \
--host 0.0.0.0 \
--port 8080 \
-c 131072 \
--alias qwopus \
--n-gpu-layers 999 \
--flash-attn on \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
--temp 0.2 \
--top-p 0.9 \
--top-k 40 \
-np 1

参数说明:

参数 推荐值 作用
Context 128K Claude Code 大项目必须
Flash Attention on 提升长上下文速度
KV Cache q8_0 保持代码质量
GPU Layers 999 全部放 GPU
Temp 0.2 代码生成更稳定
Top-p 0.9 降低发散
Top-k 40 保持生成质量

五、GPU 利用率分析

刚开始查看:

nvidia-smi

显示:

GPU Util
0%

一度以为:

GPU 没工作。

后来使用:

nvidia-smi dmon

得到:

Power        548W
SM Usage      98%
Memory        86%
Framebuffer 23510MB

说明:

GPU 实际已经接近满载。

原因是:

nvidia-smi 的 GPU-Util 只是瞬时采样。

llama.cpp:

GPU计算
↓

CPU Sampling

↓

GPU计算

↓

CPU Sampling

很容易采样到 CPU 阶段。

因此:

判断 llama.cpp 是否吃满 GPU,请看 nvidia-smi dmon,不要只看 GPU-Util


六、Prompt Eval 与 Decode

很多人容易混淆这两个速度。

日志中:

Prompt Eval

3288 tokens/s

这是:

读取 Prompt。

例如:

Claude Code:

读取整个仓库

速度非常快。

真正影响体验的是:

Eval

52 Tokens/s

这就是:

模型真正写代码的速度。

因此:

Prompt

3000 Tokens/s+

↓

Decode

52 Tokens/s

完全正常。


七、Claude Code 为什么会报 Context Overflow?

后来又遇到:

request (34481 tokens)
exceeds context size (32768)

原因不是 llama.cpp。

而是:

Claude Code 会自动发送:

  • System Prompt
  • 历史聊天
  • Diff
  • 当前文件
  • 相关文件
  • Tool 返回

很容易超过:

32K

因此:

如果做 Agent Coding:

建议直接开 128K。

不要为了追求速度限制到:

32768

否则:

大型项目很容易报:

400 Bad Request

八、Prompt Cache 很有用

新版 llama.cpp 已默认开启:

Prompt Cache

日志中可以看到:

prompt cache is enabled
context checkpoints enabled
graphs reused

作用:

如果连续多轮对话:

第一次

读取项目

↓↓↓

缓存

↓↓↓

第二次

只计算新增部分

因此:

Claude Code 的多轮开发体验明显更流畅。


九、显存占用

RTX 5090 D V2

24GB

实际运行:

23.5GB

GPU:

SM

98%

Memory:

86%

Power:

548W

说明:

基本已经把 RTX 5090 的性能发挥到了极限。


十、最终效果

最终:

Context

128K

生成速度:

≈52 Tokens/s

Prompt:

3300 Tokens/s+

GPU:

SM

98%

连续使用 Claude Code:

  • 修改大型项目
  • 多文件重构
  • Tool Calling
  • Repository 级开发

整体体验已经非常流畅。


总结

经过多轮调优,我认为 Qwopus3.6-27B-Coder + llama.cpp + RTX 5090 D V2 已经能够很好地胜任本地 Agent 编程。

最终推荐配置如下:

项目 推荐配置
模型 Qwopus3.6-27B-Coder-Q5_K_M
推理框架 llama.cpp(最新版)
显卡 RTX 5090 D V2 24GB
上下文 128K
Flash Attention 开启
KV Cache Q8_0 / Q8_0
Prompt Cache 开启(默认)
Prompt 处理速度 约3300 Tokens/s
Decode 速度 约52 Tokens/s
GPU SM 利用率 98%
显存占用 约23.5GB

个人建议:

如果你的主要需求是本地代码补全、普通代码生成,Qwen3-Coder-30B-A3B 依然是速度更快的选择;如果你使用 Claude Code、Aider、OpenHands 等 Agent 工具,希望模型具备更好的仓库级理解、工具调用和多轮开发能力,那么 Qwopus3.6-27B-Coder 值得尝试。经过合理调优后,在 RTX 5090 单卡上实现 128K 上下文 + 52 Tokens/s 的体验,已经能够满足大多数本地 Agent 编程场景。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐