Ollama 本地 AI 编程助手
本章节定制一个编码专用的本地模型 runoob-coder,并把它接进 VS Code 和 Claude Code,打造一套完全离线、不花 token 费用的编程助手。
核心工作是三件事:选对代码模型、写好编码 Modelfile、接进顺手的工具。
第一步:选代码模型,显存说了算
代码模型的能力差距比对话模型更明显,但门槛也更高,按显存对号入座:
| 你的硬件 | 推荐模型 | 预期表现 |
|---|---|---|
| 24GB 以上显存 | qwen3-coder | 专用代码模型,跨文件理解最强;30B 级参数对显存要求高,长上下文还需更多余量 |
| 16GB 内存无独显 | qwen3.5:9b 定制版 | 日常补全、解释代码、写单测足够 |
| 8GB 内存老机器 | qwen3.5:4b / 0.8b 定制版 | 轻量问答,复杂任务交给云端 |
显存不够跑 qwen3-coder 也不用遗憾:用 :cloud 标签直接调用云端版本,代码敏感的团队记得先过一遍合规。
按硬件选择拉取:
ollama pull qwen3-coder # 24GB+ 显存
ollama pull qwen3.5:9b # 16GB 内存第二步:写编码场景的 Modelfile
裸模型写代码能用但不"专业"——不注释、爱跑题、格式随意。用 Modelfile 把编码规范固化下来:
实例
# 文件路径:Modelfile
# 显存 24GB+ 把基座换成 qwen3-coder
FROM qwen3.5:9b
SYSTEM """
你是 RUNOOB 团队的编程助手,遵守以下规范:
1. 优先给出完整、可直接运行的代码,而不是片段
2. 每个关键步骤写中文注释,解释"为什么"
3. 遵循 PEP 8(Python)或语言官方风格
4. 涉及不熟悉的 API 时提醒查官方文档,不臆造接口
5. 回答结构:思路一句话 - 代码 - 注意事项
"""
# 代码场景要稳定,压低随机性
PARAMETER temperature 0.2
# Agent/编辑器场景代码上下文很大,给足窗口
PARAMETER num_ctx 65536构建专属编码模型:
ollama create runoob-coder -f Modelfile验收它是否"调教到位",用三个标准任务测试:让一个函数直接可用(看完整性)、解释一段带坑的旧代码(看理解力)、要求写单测(看规范遵循)。三个都合格再接入编辑器。
num_ctx 65536 是给编辑器与 Agent 场景准备的:它们会把整个文件甚至多个文件塞进上下文。显存吃紧时降到 32768,并用 ollama ps 观察 PROCESSOR 是否仍为 100% GPU。
第三步:接进你的编辑器
定制模型与裸模型在工具眼里没有区别,接入方式与第 11 篇完全一致。
VS Code Chat 接入
安装 Ollama 官方扩展后,在 Chat 的模型选择器里选中 runoob-coder 即可,无需其他配置。
Claude Code 接入
实例
# 一键方式
ollama launch claude --model runoob-coder
# 手动方式:环境变量指向本地,模型名用定制模型
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model runoob-coder接入后,Claude Code 的文件编辑、命令执行、多轮重构能力全部由本地模型驱动,跑长任务前记得确认上下文窗口已按上文设置。
效果对比与模型切换策略
不同任务该用不同量级的模型,把选择策略固化下来避免每次纠结:
| 任务类型 | 推荐模型 | 原因 |
|---|---|---|
| 函数补全、解释代码、写单测 | runoob-coder(本地) | 快、免费、隐私 |
| 跨文件重构、复杂调试 | qwen3-coder 或云端旗舰 | 需要更强的长上下文理解 |
| 批量生成、脚本化处理 | 本地小模型 + API | 零成本跑量 |
切换成本要足够低才可能真的切换:
实例
# 终端对话中不退出直接换模型
/load qwen3-coder
# VS Code 在模型选择器中点选即可
# Claude Code 启动时用 --model 指定一个实用的组合策略:日常 90% 的请求交给本地小模型,遇到真正的硬骨头再切大模型或云模型。Ollama 的多标签共存让这种"梯队"策略没有任何切换成本。
AI 思考中...