little-coder + llama.cpp终极配置:8GB显流畅跑22GB MoE大模型的完整教程
【免费下载链接】little-coderA harness optimized to smaller LLMs项目地址: https://gitcode.com/gh_mirrors/li/little-coder
little-coder是一个为小本地模型深度优化的编程智能体(coding agent),它的"标准出厂搭配"正是llama.cpp + Qwen3.6-35B-A3B——一个 Q4 量化后约22 GB的 MoE 大模型。而这套组合最惊艳的地方在于:借助 MoE 专家分流技巧,它能在一台8 GB 显存的笔记本上流畅运行,实测约44 tok/s,在 Aider Polyglot 基准上拿到78.67%的通过率。本文带你从零完成这条"小显存跑大模型"的完整配置链路 🚀
为什么 8GB 显存能装下 22GB 的模型?
普通稠密(dense)模型必须把全部权重压进显存,22 GB 的模型对 8 GB 显卡来说根本无解。但MoE(混合专家)模型不一样:它的专家参数只在推理时"轮流上岗"。
llama.cpp 提供了--n-cpu-moe参数,可以把专家层权重放进内存(RAM),只把注意力层放在 GPU 上。于是显存压力骤降,22 GB 的模型就能在 8 GB 显存中"腾挪"运行:
| 组件 | 存放位置 |
|---|---|
| 注意力层(attention) | GPU 显存 |
| MoE 专家层(experts) | 系统内存(--n-cpu-moe) |
| KV 缓存 | 随-c上下文大小增长 |
💡 官方实测:同为 8 GB 的 RTX 5070 Laptop,Qwen3.6-35B-A3B(MoE)约44 tok/s,而稠密的 Qwen3.8-27B 只有约6.4 tok/s——MoE 路线快约 7 倍,且稠密模型没有任何等价的分流手段。
一步安装 little-coder
安装非常简单,要求Node.js ≥ 22.19:
npm install -g little-coder完成!无需 clone 仓库、无需在工作目录里跑npm install,little-coder命令会直接加入 PATH。
模型注册表随包分发,默认模型就是本教程的主角("default": "llamacpp/qwen3.6-35b-a3b"),详见 models.json。
llama.cpp 服务器最快配置方法(三步走)
第一步:编译带 CUDA 的 llama.cpp
从 llama.cpp 官方仓库获取源码后,按你的 GPU 架构编译(CMAKE_CUDA_ARCHITECTURES填入你的显卡架构编号,如 Blackwell 系列为 120):
cmake -B build -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=120 -DLLAMA_CURL=ON cmake --build build --config Release -j第二步:下载 22GB MoE 模型
pip install -U "huggingface_hub[cli]" hf download unsloth/Qwen3.6-35B-A3B-GGUF Qwen3.6-35B-A3B-UD-Q4_K_M.gguf --local-dir ~/models # 可选:下载视觉投影器(约 900MB),让模型能"看懂"截图片 hf download unsloth/Qwen3.6-35B-A3B-GGUF mmproj-F16.gguf --local-dir ~/models只玩纯文本可以跳过第二行下载,little-coder 同样能正常工作,只是无法再粘贴图片。
第三步:启动 llama-server(关键参数一行配齐)
build/bin/llama-server -m ~/models/Qwen3.6-35B-A3B-UD-Q4_K_M.gguf \ --mmproj ~/models/mmproj-F16.gguf \ --host 127.0.0.1 --port 8888 --jinja \ -c 16384 -ngl 99 --n-cpu-moe 999 --flash-attn on这几个参数就是"8GB 跑 22GB"的精髓 ⚡:
-ngl 99:所有层都尝试上 GPU--n-cpu-moe 999:所有 MoE 专家强制留在内存——显存压力瞬间解除-c 16384:上下文窗口 16K,是 8 GB 显存的保守默认值(KV 缓存随它增长,想开 128K/256K 就加大内存预算)--flash-attn on:开启 Flash Attention 进一步省显存--jinja:使用模型原生的对话模板,工具调用解析更稳定
little-coder 启动时会自动从 llama.cpp 的/props接口探测实时n_ctx并注册模型——你传什么-c,界面就按什么预算上下文,不用手动改任何配置文件。
启动 Agent,验证你的本地大模型
llama.cpp 是本地服务,pi 框架仍要求有一个 API key 环境变量(值无所谓):
export LLAMACPP_API_KEY=noop cd ~/your-project little-coder --model llamacpp/qwen3.6-35b-a3b启动后你会看到熟悉的 TUI 界面。底部状态栏值得关注:
↑26k ↓5.4k R447k CH99.8% 9.3%/262k (auto) qwen3.6-35b-a3b • medium其中CH字段是缓存命中率——本地模型每一轮都在重读历史,CH长期偏低说明服务器没有复用缓存前缀,值得排查;而9.3%/262k表示当前上下文占窗口的比例,超过 70% 变黄、90% 变红。
进阶:分阶段模型(Plan 用大的,实现用小的)
如果以后还加载了更大的模型,可以用/plan-model和/action-model让规划阶段和实现阶段跑在不同模型上;在单一 llama.cpp 后端上模型切换会触发权重卸载/重载,留意提示即可。
实测性能:小模型在真实基准上什么水平?
全部基准都在一台消费级笔记本上跑完:i9-14900HX + 32 GB RAM + RTX 5070 Laptop(8 GB 显存),全程零云推理 🎉
| 版本 | 基准 | 结果 |
|---|---|---|
| v0.0.5 | Aider Polyglot(225 题) | 78.67%(Qwen3.6-35B-A3B via llama.cpp) |
| v0.1.4 | Terminal-Bench-Core v0.1.1(80 任务) | 40.0%,耗时 6 小时 50 分 |
| v0.1.13 | Terminal-Bench 2.0(445 次试跑) | 24.6% ± 3.2,进入官方排行榜第 120 名 |
| v0.1.27 | GAIA 验证集(165 任务) | 40.00% |
从分语言数据可以看出,这套小显存本地模型方案在 Python(52.9%)、Java(52.1%)、C++(50.0%)等主流语言上都能稳定输出,详见 docs/benchmark-qwen3.6-35b-a3b.md 的完整叙述。
时间维度上,little-coder 在失败题上会花更长时间探索(平均 491 秒 vs 176 秒),这正是"多轮自主探索"换来的高通过率——完整论文图表由 docs/figures/make_paper_figures.py 生成,可复现全部数字。
配置翻车?4 个常见坑一次说清
ECONNREFUSED 127.0.0.1:8888— llama.cpp 没启动。先起llama-server,再启动 little-coder。- 粘贴图片返回 4xx— 服务器没带视觉投影器,重新启动时加上
--mmproj ~/models/mmproj-F16.gguf。 - "服务器起来了但一个 token 都不出"— 稠密模型的老坑:
-ngl占满了显存却没留计算空间。上下文调大时记得同步调小-ngl。(MoE +--n-cpu-moe路线天然免疫此问题。) - 本地网络访问超时— 推理机的防火墙丢包了,按 README.md 中"局域网部署"一节放开 8888 端口即可,
*_BASE_URL支持任意主机,笔记本直连家里游戏本完全可行。
更多排障细节(上下文溢出、模板不匹配、缓存未命中等)都整理在 README.md 的 Troubleshooting 章节。
延伸阅读
- 架构全貌(27 个 TypeScript 扩展 + 30 个技能卡):docs/architecture.md
- Terminal-Bench 完整评测报告:docs/benchmark-terminal-bench-v0.1.1.md
- 扩展开发指南:docs/extensions.md
- 技能卡示例:skills/tools/bash.md
总结一下:--ngl 99+--n-cpu-moe 999是 8 GB 显存驾驭 22 GB MoE 大模型的钥匙,加上 little-coder 的本地模型优化脚手架,你在普通笔记本上就拥有了一台"本地大模型编程工作站" ✅
【免费下载链接】little-coderA harness optimized to smaller LLMs项目地址: https://gitcode.com/gh_mirrors/li/little-coder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考