@
mewking 这个问题,首先要看不同编程语言是否有高质量的庞大的数据集,比如在
https://huggingface.co/datasets?sort=trending 搜数据集看加起来的行数,以及 github 仓库上 star 数多的各语言仓库。
结合这个榜单也能看出来
https://huggingface.co/spaces/bigcode/bigcode-models-leaderboard ,不过这个榜单很久没更新过了,现阶段只能靠自己测了。
其次看自己的水平了,使用 context7 这种 MCP Server 或者手工在上下文补全最新文档可以大幅度降低模型幻觉,加上现阶段小模型对于主流编程语言的语法没啥问题(关键词、类型、循环、判断、函数等),写出来的代码头头是道的。但是对于一些理论、概念的理解程度就不好说了。
我一般假定 Q6 级别量化已经近乎无损了,然后去模型官网比如
https://chat.qwen.ai/ 选择 Qwen3-Coder-Flash 、Qwen3-30B-A3B-2507 这种 30B 级别的问一下看看,它能写对的话那么 Q6 级别的量化也能写对,Q4 的话可能再差个 1%到 2%,大不了我给它纠正。其实上限在于用户自己,比如我 java 水平不行,它写得头头是道我也评判不出好坏,因为语法已经没问题了,甚至库也用对了,但是实际上跑起来碰到 bug 就一脸懵逼。要是 CRUD 这种还好,要是问题底层一些的话 30B 级别的解决起来很容易像是鬼打墙一样,跑了几十 k 上下文也没有个结果。
比如我自己最爱用来测大模型的一道题:“用 [x 语言] 的实现一个高性能的 HTTP Proxy ,要求支持普通 HTTP 请求转发和 HTTPS 隧道 (HTTP CONNECT),尽可能使用标准库”,把 [x 语言] 换成你最熟悉的那个然后让模型来跑几次,先看 api 有没有用对来判断幻觉大不大,再看能不能完成需求跑起来,反正在 c#、java 、rust 这种语言就经常搞不定,能一次性写对的就成为我常用的模型。
也就是因为这个原因,我现在考虑把技术栈从 node 往 golang 转移,开源的模型写 golang 的能力挺不错,以前不想碰 golang 是因为水平差的人写起来就像是用 php 堆屎山一样,维护性、可读性太没下限了。现在有 ai ,默认就是中高级的水平,而且我本地跑 gpt-oss-120b 实在是太快了,写 golang 准确性也非常高,代码的可读性、可维护性、性能下限、资源占用都有保障了。