为什么 AI 公司都搞代码模型?

/ 0评 / 0

编程代码是一种有正确答案的语言。

当然不是因为 AI 编程火…

先有强代码模型,才能支撑 AI 编程爆火。

编程代码是今天所有「语言」里,唯一有「正确答案」的语言。

这里有俩问题:

  1. 编程代码是语言
  2. 编程代码是一种有答案的语言

解释完这俩问题,标题里的问题也就有答案了。

从 GPT 开始我们用的 AI 开始变成“大语言模型”。

它的原理是给模型投喂大量文本(语言)训练语料,让它在里面找规律,学会这种我们所投喂“语言”资料的表达方式。

对于语言这个东西,我们唯一能判断“对错”的只有语法这个东西。

比如,“我叫张佳”是对的,但是“张佳我叫”就是错的。

除此之外,我们对语言的判断标准就只有“文笔好不好”、“表达得不得体”这类空泛的规则了。

所以,对大语言模型的训练来说,除了常规的事实性错误外,你很难评价它好不好。

说 GPT 比文心一言好,也只是“感觉”那个洋玩意儿的回答读起来更舒服。

既然“文无第一”,那咱就比比理科。

于是 AI 公司们开始卷“推理”、“数学计算”。

但是,一卷发现,这玩儿根本没得卷:基于语言训练的模型,“推理”全靠死记硬背…

你能让它被九九乘法口诀,但不能背微积分和线代。

纯理科干不动,于是 AI 公司们找到了一个文理科的中间态:编程。

哪怕你不会编程也知道,编程有好多“语言”,从我们最早认识的 C 语言,到现在流行的 Python 语言、JavaScript 语言。

他们之所以被称为“语言”,是因为这是一种跟计算机「交流」的方式。

程序员们通过指定的语法规则写一堆花花绿绿的内容,通过计算机的“编译器”翻译给电脑,变成电脑理解的二进制语言,在它的“二极管”里运行。

人类的语言,被别人接收后最终的形态是在脑子里变成“画面”。

这个画面,人人不一样,哪怕每个人能用相同的词描述出来。

这就是人类语言不可评判的根本原因,因为人类语言本身就是不准确的(如果你突然对此产生了兴趣,可以阅读一些语言学相关的书,非常有意思)

但是计算机的语言最重被翻译的结果是非常精确的“0”和“1”(也就是计算机的二进制)

所以,编程语言是有正确与否的。

每一段代码不管它优雅不优雅,最终一定要可以被执行、实现某个功能,否则都白扯。

这对于“大语言模型”训练来说,太爽了!

之前常规的“文科式”语言训练,最终调优阶段,人类工程师们只能给出事实性判断和非常模糊的“表达不够优雅”这样的评价。

甚至有时候,人类工程师的表达能力不如大模型时,甚至给出拖后腿的评价。

但现在训练编程代码模型的时候,基本上不需要人类工程来评价了。

代码能不能运行输出预期的结果,AI 自己也能判断。

大家还记得 GPT 在 23 年上线的数据分析功能吧?

如果你观察它的分析过程,会发现它其实就是个小型的智能体:接受需求—>生成代码—>运行代码—>分析代码运行结果—>对,输出答案(报错这返回修改代码)。

今天 Cursor、Windsurf 这类代码工具,之所以能这么“智能”,一方面是因为模型靠谱了,另一个很重要的原因也是基于编程语言的可验证性。

所以,如果一家大模型公司连代码模型都搞得稀烂的话,就基本没得“聊”了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注