云端的AI编程助手我用得挺顺手——解释陌生代码、生成测试、审查改动、帮忙调试,效率确实高。但有个念头一直挥之不去:能不能把这些能力完全搬到本地?
这个念头让我盯上了Google刚发布的Gemma 4。我的实验配置很简单:Unsloth出品的Gemma 4 26B A4B MXFP4量化版当大脑,OpenCode当操作界面,拿我自己的代码库当试验场。目标也很直接:不是跑分,不是实验室环境,就看它能不能在真实开发流程里派上用场。
选OpenCode是因为它开源,而且文档明确支持本地模型接入。我要测的不是自动补全那种基础功能,而是真正的"代理"行为——能浏览项目结构吗?能找到关键文件吗?能实现新功能吗?能理解bug并给出安全修复?能在提交前审查代码差异?聊天机器人和编程代理的区别就在这里:一个回答问题,一个在你的代码库里干活。
Gemma 4吸引我的点是Google官方描述的这几个关键词:推理能力、多模态输入、更大的上下文窗口、增强的编程能力、代理工作流。具体型号有E2B、E4B、31B和26B A4B四档,小模型支持128K上下文,中等模型拉到256K。编程场景里上下文就是一切——文件关系、依赖结构、命名规范,短上下文根本玩不转。Google DeepMind也明确把26B和31B定位给IDE、编程助手和代理工作流用的。
我的本地部署用llama.cpp,KV缓存设8bit,上下文窗口直接拉满262144。启动参数里-ngl all把计算全扔给GPU,-fa开flash attention,-ctk和-ctv都设q8_0量化。OpenCode的配置更简洁,指向本地8080端口,模型名填Gemma 4 26B A4B MXFP4,走OpenAI兼容接口。
配置搞定后,真正的测试才开始。我给它派了第一个活:在现有项目里加一个新功能。它先是扫描了整个目录结构,然后准确找到了需要修改的三个文件——其中一个是 buried 在深层子目录里的工具函数。这个找文件的能力,比我预期中本地模型的表现要好。
但问题也很快暴露。让它实现功能时,它写出的代码语法正确,逻辑却漏了一个边界条件。我指出来后它能修正,但第一轮没自查出来。另一个测试是让它解释一段半年前的遗留代码,这段代码用了个冷门的设计模式。Gemma 4给出了一个看似合理的解释,实际上把模式的作用对象搞反了——听起来像那么回事,细想全是错的。
最实用的场景反而是代码审查。给它看一个diff,它能指出变量命名不一致、潜在的空指针风险、以及一个我都没注意到的异步竞态条件。这些建议不是每次都精准,但足够触发我的二次检查,比我自己扫一遍diff效率高。
跑完一轮测试,我的结论是:Gemma 4作为本地编程代理,能干活,但得有人盯着。它的上下文处理能力确实强,大项目里找文件、跨文件关联信息很稳;生成代码的速度在本地GPU上也能接受。但推理深度不够稳,复杂逻辑容易"看起来对其实错",需要人工复核。最舒服的用法是把它当"增强版lint工具"加"初级代码审查员",而不是放手让它独立实现功能。
本地部署的价值在于数据不出境、响应不依赖网络、成本可控。Gemma 4让这个方案从"理论上可行"变成了"实际上能用",只是距离"完全放心"还差一口气。如果你也在考虑本地AI编程助手,我的建议是:先想清楚哪些环节可以容忍"差不多对",哪些必须"绝对对"——Gemma 4适合前者,后者还得人来把关。
热门跟贴