little-coder怎么选本地LLM:Qwen3.6-35B-A3B与Qwen3.8-27B全面对比(含MTP投机解码)
【免费下载链接】little-coderA harness optimized to smaller LLMs项目地址: https://gitcode.com/gh_mirrors/li/little-coder
给 little-coder 选本地LLM,绕不开两个名字:Qwen3.6-35B-A3B(MoE 混合专家)和Qwen3.8-27B(Dense + MTP 投机解码)。little-coder 是一个专为小参数量本地大模型调优的开源编程 Agent,内置写前读守卫、技能注入、思考预算控制等 30 多个扩展。本文基于项目官方基准数据,帮你在 8GB 消费级显卡上做出最快的选型决策。
为什么本地LLM选型对 little-coder 至关重要
little-coder 的设计哲学是"脚手架与模型要匹配"。同一个 9.7B 小模型,配合 little-coder 的定制扩展,在 Aider Polyglot 基准上从 19.1% 提升到 45.6%,甚至超过部分云端旗舰模型(见上图,完整叙事见 docs/benchmark-baseline-aider.md)。
这意味着反过来也成立:模型的架构特点(MoE 还是 Dense、能否吃下 KV Cache)直接决定了 Agent 的可用性与速度。选错模型,Agent 会慢到没法用。
Qwen3.6-35B-A3B vs Qwen3.8-27B:一张表看清差异
两者都已内置在 models.json 的标准注册表中(llamacpp/qwen3.6-35b-a3b与llamacpp/qwen3.8-27b),开箱即用:
| 维度 | Qwen3.6-35B-A3B | Qwen3.8-27B |
|---|---|---|
| 架构 | MoE(35B 总参 / 3B 激活,256 专家) | Dense(27B 全激活) |
| 量化体积 | ~22 GB(UD-Q4_K_M) | ~16 GB 级(UD-Q4_K_XL) |
| 8GB 显存可用性 | ✅ 专家驻内存,仅注意力在 GPU | ⚠️ 需精细调-ngl |
| 生成速度 | ~38–44 tok/s | ~6.4–6.7 tok/s |
| 上下文 | 原生 262K | 32K 注册窗口 |
| 多模态 | 文本 + 图片(需 mmproj 投影器) | 仅文本 |
| 特色能力 | 默认模型,全基准主力 | MTP(NextN)投机解码,草稿接受率 ~0.87 |
| 定位 | 速度之选 🚀 | 质量之选 🎯 |
所有数据来自同一台消费级笔记本:i9-14900HX + 32GB RAM + RTX 5070 Laptop(8GB 显存),全程离线、零云端推理。
MoE 为什么快 7 倍:n-cpu-moe 显存技巧
这是整个选型中最反直觉的一点:35B 的 MoE 模型反而比 27B 的 Dense 模型快约 7 倍。
秘密在 llama.cpp 的--n-cpu-moe 999参数:MoE 的专家权重驻留内存(RAM),只有注意力层和共享专家占显存。于是 22GB 的模型能塞进 8GB 显存,且计算量只与激活的 3B 参数成正比——生成速度 38.55 tok/s,提示处理 77.94 tok/s,与 9B Dense 模型相当。
Dense 模型没有专家可"卸载",全部权重都要在 GPU 上计算,所以 Qwen3.8-27B 在同一张卡上只能跑到 6.42 tok/s。这也是官方把它定位为"质量选项,而非速度选项"的原因。
MTP 投机解码:Qwen3.8-27B 的质量优势与一个致命坑
Qwen3.8-27B 的 GGUF 文件内嵌了 NextN 预测头(qwen35.nextn_predict_layers=1),因此 llama.cpp 的原生 MTP 投机解码可以直接生效:小模型先"打草稿"预测多个 token,主模型一次校验,实测草稿接受率约 0.87,用少量额外显存换来了更高的有效吞吐与输出质量。
但有一个官方在 CHANGELOG.md(v1.17.0)中反复强调的坑:
| 上下文 | -ngl | 实测速度 | 显存 |
|---|---|---|---|
| 16k | 20 | 6.72 tok/s | 7200 MB |
| 32k | 18 | 6.42 tok/s | 7042 MB |
| 32k | 20 | ❌ 通过 /health 检查后生成 0 token | — |
32k 上下文 +-ngl 20看似服务器正常启动,实际一个 token 都吐不出来——权重挤满了显存却没有剩余空间做计算。记住一条经验法则:加大上下文时,必须降低-ngl;"服务器启动了"不等于"配置能工作"。
基准实测:两个模型各自能打多少分
Qwen3.6-35B-A3B 是 little-coder 全基准的主力,成绩如下(同一台 8GB 显卡笔记本):
- Aider Polyglot(225 题多语言编程):78.67%,较 9B 小模型提升 33.1 个百分点,六种语言全线上涨
- Terminal-Bench-Core v0.1.1(80 个终端任务):40.0%,耗时 6 小时 50 分
- Terminal-Bench 2.0(官方排行榜):24.6% ± 3.2(第 120 名)
- GAIA 验证集(165 个工具研究任务):40.00%
各语言通过率对比(little-coder vs 普通 Aider 脚手架):
从数据看,小模型 Agent 的策略是"多花时间换正确率":通过题平均 176 秒,失败题愿意探索到 491 秒,而普通 Aider 在失败题上只肯花 224 秒:
详细叙述见 docs/benchmark-qwen3.6-35b-a3b.md 与 docs/benchmark-terminal-bench-v0.1.1.md。
本地LLM选型决策清单:你的显卡该选谁?
🎯8GB 显存笔记本(最常见的场景)
- 日常写代码、追求流畅 →Qwen3.6-35B-A3B(默认模型,
--n-cpu-moe 999是关键参数) - 需要看懂截图/界面报错 → 只有 35B-A3B 支持图像输入(记得加载 mmproj 投影器)
- 想要单点更高质量、不介意慢 → Qwen3.8-27B,按上表调低
-ngl
💪24GB+ 显存(4090 / 5090 等)
- Qwen3.6-27B(Dense,官方注册的实验选项)才能全量上卡发挥实力,MTP 解码同样受益
- 35B-A3B 依然是最省心的全能选择
⚡混合玩法(进阶)little-coder 支持分阶段模型:/plan-model指定 Qwen3.8-27B 做高质量规划,/action-model切回 Qwen3.6-35B-A3B 快速实现。注意本地后端切换模型会触发权重重新加载,约 15 秒停顿属正常现象。
一分钟完成模型切换
模型注册表在 models.json,"default"键声明默认模型(出厂为llamacpp/qwen3.6-35b-a3b),无需改动也能跑:
little-coder # 启动默认模型 little-coder --model llamacpp/qwen3.8-27b # 显式指定 27B little-coder --list-models # 查看已注册模型想改默认模型,在~/.config/little-coder/models.json用户覆盖文件中写{"default": "llamacpp/qwen3.8-27b"}即可——该文件在升级时不会被覆盖。
总结
| 你的需求 | 推荐 |
|---|---|
| 8GB 显卡日常编码,要快 | Qwen3.6-35B-A3B(默认) |
| 需要图像理解 | Qwen3.6-35B-A3B + mmproj |
| 追求单题质量上限、可接受 6 tok/s | Qwen3.8-27B + MTP |
| 24GB+ 大显存 | 可尝试 Qwen3.6-27B 全量上卡 |
一句话:速度选 MoE,质量选 MTP——而 little-coder 的分阶段模型机制让你两个都要也不冲突。
【免费下载链接】little-coderA harness optimized to smaller LLMs项目地址: https://gitcode.com/gh_mirrors/li/little-coder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考