Claude Code + llama.cpp + RTX 5090 实战调优:Qwopus3.6-27B-Coder 跑出 52 Tokens/s,128K 上下文稳定开发
前面测试了 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 编程场景。
更多推荐


所有评论(0)