乐于分享
好东西不私藏

本地AI编程助手大PK:从llama.cpp到Ollama,我终于找到了“真命天码”

本地AI编程助手大PK:从llama.cpp到Ollama,我终于找到了“真命天码”

这篇文章是我折腾本地AI编程助手一段时间以来的“血泪总结”。从OpenCode到Aider,从14B模型折腾到30B模型,中间踩过的坑比我家门口的减速带还多。

先说结论:

  • 如果你追求“一句话搞定全部”,选OpenCode+云端免费模型

  • 如果你追求“数据不出电脑”,选Aider+Ollama+30B模型

  • 如果显卡跑不动30B,14B+llama.cpp硬撑也能用


我的硬件配置

先交代一下我的设备:

  • 系统:Ubuntu 24.04

  • 显卡:RTX 3090 24GB

  • CUDA:12.4

  • 模型1:Qwen2.5-Coder-14B(量化后约9GB,llama.cpp运行)

  • 模型2:Qwen3-Coder-30B(量化后约20GB,Ollama运行)


第一回合:OpenCode+Big Pickle —— “一键躺平”型选手

OpenCode是我用的第一个工具。安装简单到离谱:

npm install -g opencode-ai

装完就能用,内置免费模型Big Pickle,不需要配任何API Key。

它的表现怎么样?

我提了同样的需求:“帮我写一个博客系统”。

OpenCode的流程是这样的:

  1. 先问我用啥技术栈:Flask还是Django?要不要数据库?

  2. 我回答之后,它自动判断环境:检测到我用的是虚拟环境,自动pip install依赖

  3. 创建目录和文件全程不用确认:刷刷刷就建好了

  4. 项目需求理解到位:模板、路由、数据库映射,该有的都有

整个过程交互极少,说人话就是——它自己就把活儿干完了。

优点

  • ✅ 开箱即用,零配置

  • ✅ 自动装依赖,不用你操心

  • ✅ 文件创建无确认,效率极高

  • ✅ 需求理解能力强,Big Pickle虽然免费但脑子够用

缺点

  • ❌ 数据走云端(虽然它说是本地优先,但某些功能会走它自己的服务)

  • ❌ 免费模型有调用次数限制

  • ❌ 涉密项目不敢用


第二回合:Aider+14B模型(llama.cpp版)——“硬撑”型选手

为了数据不出电脑,我转向了Aider+本地模型。第一步是用llama.cpp跑Qwen2.5-Coder-14B。

模型下载

hf download Qwen/Qwen2.5-Coder-14B-Instruct-GGUF \    --include "qwen2.5-coder-14b-instruct-q4_k_m.gguf" \    --local-dir ~/models/qwen2.5-coder-14b

启动命令

终端1:启动llama.cpp服务

~/ai/llama.cpp/build/bin/llama-server \    -m ~/models/qwen2.5-coder-14b/qwen2.5-coder-14b-instruct-q4_k_m.gguf \    --gpu-layers 999 \    -t 8 \    -c 32768 \    --host 127.0.0.1 \    --port 65530
终端2:启动aider连接本地服务
export OPENAI_API_BASE=http://127.0.0.1:65530/v1export OPENAI_API_KEY="sk-dummy-key"aider --model openai/qwen2.5-coder-14b --edit-format whole

它的表现怎么样?

能跑,但是……

  • 生成简单项目没问题(单个文件、简单脚本)

  • 遇到复杂需求就容易出格式错误:The LLM did not conform to the edit format

  • 必须加 --edit-format whole 才能稳定一点

  • 修改已有代码时容易“犹豫”,偶尔需要人工介入

优点

  • ✅ 完全离线,数据安全

  • ✅ 24GB显存跑得动(9GB占用)

  • ✅ 简单任务能胜任

缺点

  • ❌ 必须加 --edit-format whole 才能稳定

  • ❌ 复杂任务容易出格式错误

  • ❌ 需要一定的“人工引导”才能完成

怎么解决格式错误?

当遇到格式错误时,我用的策略是:

“删除文件并重新生成”

这个策略特别管用——本地模型擅长“从零生成”,不擅长“精确修改”。


第三回合:Aider+30B模型(Ollama版)——“真香”型选手

转折点出现在我开始用Ollama跑Qwen3-Coder-30B

模型下载

ollama pull qwen3-coder:30b

启动命令

aider --model ollama/qwen3-coder:30b

这次没有加任何额外参数。

它的表现怎么样?

提同样的需求:“帮我写一个博客系统”:

  1. 自动选择技术栈:它自己决定用Flask+SQLite

  2. 创建文件需要确认:每个文件会问一次“创建吗?”——安全性更好

  3. 修改代码没问题:让我改个功能,它直接给出diff修改,一次成功

  4. 没有格式错误

优点

  • ✅ 完全离线,数据安全

  • ✅ 不用加 --edit-format whole,默认就能用

  • ✅ 修改代码稳定,不犹豫

  • ✅ 需求理解能力接近云端模型

  • ✅ RTX 3090 24GB刚好能跑

缺点

  • ❌ 创建文件需要人工确认(安全性更好,但不够“一键”)

  • ❌ 30B模型较大,下载需要耐心

  • ❌ 显存占用高,24GB基本跑满(约20GB)


三款组合怎么选?

直接上个对比表:

对比项
OpenCode+Big Pickle
Aider+14B (llama.cpp)
Aider+30B (Ollama)
安装难度
⭐ 极简
⭐⭐ 需要编译llama.cpp
⭐⭐ 需要装Ollama
数据隐私
⚠️ 部分走云端
✅ 完全本地
✅ 完全本地
首次上手速度
⭐⭐⭐ 10分钟搞定
⭐⭐ 需要折腾
⭐⭐ 需要折腾
需求理解能力
⭐⭐⭐ 很强
⭐⭐ 基础任务够用
⭐⭐⭐ 接近云端
文件创建
自动创建,无需确认
可配置
每次确认
修改代码稳定性
⭐⭐⭐ 稳定
⭐⭐ 需要whole格式
⭐⭐⭐ 稳定
显存占用
无要求
~9GB
~20GB
命令示例opencodeaider --model openai/qwen2.5-coder-14b --edit-format wholeaider --model ollama/qwen3-coder:30b
适合场景
日常开发、不涉密项目
必须本地但显卡一般
必须本地+显卡好

我的最终建议

1. 新手想快速体验 → OpenCode+Big Pickle不用折腾,装完就能用,效果还很好。先感受一下“AI写代码”的快乐。

2. 项目涉密、显卡一般 → Aider+14B(llama.cpp)数据不出电脑,加上 --edit-format whole 也能稳定干活。遇到格式错误就让它“删除重生成”。

3. 项目涉密、显卡够好 → Aider+30B(Ollama)这是我目前的主力配置。稳定、理解能力强、修改代码不犹豫。虽然创建文件要确认,但换来的是更强的安全感。


写给想折腾的人:怎么选工具链?

你的情况
推荐组合
不想折腾,就想用
OpenCode + 内置免费模型
想本地部署,显卡8-12GB
Aider + llama.cpp + 7B/14B模型
想本地部署,显卡24GB
Aider + Ollama + 30B模型
最看重数据安全
选Aider任何组合,完全离线

写在最后

从OpenCode到Aider,从14B到30B,从llama.cpp到Ollama,折腾了很长时间,中间踩了无数坑。但现在回头看,值了。

本地AI编程助手的好处是实打实的:数据不出电脑、不限次数、响应飞快

如果你也在折腾这条路,希望这篇文章能帮你少踩几个坑。

你有在尝试本地AI编程工具吗?欢迎在评论区分享你的经历。

觉得有用的话,点个关注,我还会继续分享这种真实体验过的工具。 😄

本文核心经验为本人真实折腾记录,借助AI辅助整理润色,确保内容准确实用。