本文来自微信公众号:阿茶的AI之路,作者:起名贼费劲的阿茶,题图来自:AI生成
原本计划写一篇2024年AI领域的年度总结,但鸽了。现在决定将内容拆分成系列文章。开局先放王炸,聊聊为什么大模型落地喊得火热,但是实际落地的场景只有AI编程。
AI编程无疑是当下大模型落地最成功的一个领域。从Github的Copilot,到Cursor,再到第一个AI程序员Devin。好多人都在说:AI编程找到了PMF(Product Market Fit,产品市场契合)。
但为什么是它?
有人说“因为是真实需求”。难道AI在其他领域就是伪需求吗?
有人说“因为代码比自然语言更容易生成”。真的是这样吗?
还有人说“其他领域的模型能力还不够”。但为什么编程够呢?
这些解释都过于表面,今天就从我的角度来解析为什么AI编程能成功落地,以及它未来的发展。
先从一个问题开始。
“代码的关键词少,规则固定,所以更容易生成。”这是解释AI编程为什么好用的常见说法。
听起来挺有道理的?代码就那些关键词,模型只要从有限的词里面挑就行了,采样空间相比自然语言小太多了。
但是什么时候“词少=容易”了?如果真的是这样的话,数学问题的描述足够精简,符号也少。那大模型做数学问题应该更强吧。
显然不是这样。
大模型到现在连JSON都弄不明白。JSON是一种编程领域常用的数据交互格式,在面对较为复杂的JSON时,大模型经常会出现括号对不上、层级关系错乱的问题。
这个“代码更容易生成”的论点,其实混淆了“生成”和“应用”两个阶段。
在自然语言生成中,我们对大模型的容忍度很高。它可以犯语法错误,可以前后矛盾,可以逻辑混乱,我们依然能从中提取有价值的信息。容错性非常高。
但代码生成完全是另一个维度的挑战。就像做数学题,代码能跑就是能跑,跑不通就是报错。它不存在“基本正确“或“大致可用“的中间状态。每一个分号、每一处缩进、每一个变量名都必须精确无误。所以代码生成其实是更难的,因为对代码的可用性要求是远高于文本的。
代码生成难度更高,为什么它应用得最好呢?那些难度低的领域为什么反而应用效果差呢?真正原因其实是编程具有一种可信验证机制。
所谓可信验证,简单地说,就是一种能够快速、客观地判断AI输出结果的可用性的验证模式。
1. 客观性:验证结果不依赖人或者AI模型的主观判断;
2. 即时性:能够立刻得到验证结果;
3. 确定性:对就是对,错就是错。
接下来我将论述可信验证是怎样让AI编程成功的。
1. 应用端的应用:快速而准确的验证
为什么说编程领域有着完美的可信验证?这让我想到网上流传的一句话:
答案就藏在代码的本质特性中:程序设计就像数学一样,是一个非黑即白的世界——能跑就是能跑,跑不了就是跑不了。这种确定性来自一个关键角色:编译器。它负责将代码编译成可执行文件,这个过程是严格符合语法规定的。
编译器将代码编译成可执行程序
在这个过程中,编译器扮演着一个独特的角色:它是第三方的、非AI的、完全可靠的验证机制。它不会被情绪影响,也不会担心被人类诱导,不会有主观偏见,只会忠实地执行语法规则。符合规则就可以编译,不符合就是报错。
这种严格的验证机制成就了AI编程的应用。在AI尝试落地的所有领域中,几乎没有哪个领域能像编程这样拥有如此客观、即时、确定的验证标准。这种验证机制对使用者的要求极低——不需要你懂编程原理,不需要你精通算法,只要能运行代码,就能知道大模型输出的结果是否可用。
为什么要强调非AI?
因为大模型是基于概率的,所以要使用可靠的传统的规则算法。当然,你用更高的模型来验证低模型输出也可以,但这依然是不可靠的。这点会在下一小节继续论述。
2. 模型端的应用:进击的合成数据
光有可靠的验证机制还不够,模型本身的能力也很关键。(你总不能接受一个只有5%成功率的大模型吧)但有趣的是,大模型在代码领域的进步似乎特别快,而且一直在进步。
这真的只是巧合吗?
业界一直在强调自己家新模型在数学和代码方面的突破,却很少有人说“AI说话更像人了”。为什么?
答案可能会出乎意料:因为训练数据枯竭,大模型目前可能只能在代码这个领域进步。
已经无数人提到过这个问题了,模型的自然训练数据面临枯竭。在大模型训练中,数据和模型架构是同等重要的。数据的枯竭意味着模型能力提升会放缓。目前大模型厂商常用的应对策略:
(1)人工生产新的数据,包括但不限于在网上爬取,或者找人手动编写新的数据;
(2)使用更高级的或者旧的模型合成数据训练新模型。
人工生产新数据的成本高昂,大部分都会采用合成数据来训练。而使用模型生成的合成数据又可能导致模型崩溃。已有大量研究证实,质量差的合成数据和人类语言的偏差会导致后续训练模型的输出越来越偏离人类表达。
那么模型训练方又是如何控制合成数据生成质量的?目前并没有客观的评价标准。主流方案是用更强大的模型来筛选,以及人工主观判断。这不仅成本高昂,还难以规模化,也不够可靠。
然而可信验证机制有效保证了代码合成数据的下限,它缩小了合成数据和人类数据的差异。
代码的验证标准是二元的(能跑/不能跑),能运行并得到正确结果的就是好程序,报错的就是错误程序。这种客观标准让我们可以大规模生成并验证合成数据,效果等价于成千上万个初级程序员在不知疲倦地编写代码,从中挑选可用的代码。
这就是代码合成可靠的根本原因:即使生成的代码质量不高,但只要能通过编译和运行,就具备基本的训练价值。这种低成本的质量保证机制,确保了模型在代码领域能持续进步。其实,大模型生成的代码其实要比很多github上代码质量更高。
3. 可信验证的双重价值
通过上面的分析,我们可以看到,可信验证在AI编程领域发挥着双重作用:
可信验证不仅解决了“用户敢不敢用“的问题,还解决了“模型怎么进步”的问题。在大模型产品toB端,可靠性一直是最大的痛点。但可信验证机制提供了一个极为有效的解决方案 —— 它让输出结果可控、可及时验证,配合原有的代码审查集成机制,大大降低了应用风险。
在可信验证的加持下,AI编程形成了一个良性循环,走出了一条可持续发展的道路。
1.AI编程目前的局限性
(1)代码生成质量依然有待提高
虽然有可信验证机制,但目前AI生成的代码质量仍然参差不齐。好在我们可以通过代码覆盖率、复杂度等客观指标来评估代码质量(没错,更高级的可信验证),这些指标又可以反过来指导训练数据的筛选,形成质量提升的闭环。
(2)AI编程对语言支持度不均衡
AI在Python上表现出色,而在Java等语言上相对逊色。这里有两点原因。
首先是训练数据的差异。Python的开源社区活跃,这为大模型提供了海量的高质量训练数据。
其次是语言特性的影响。Python的语法相对灵活,容错性更高,这使得AI更容易生成可用的代码。相比之下,Java等强类型语言的语法约束更严格,对代码生成的要求也更高。
2. 自动化会带来额外心智负担
可信验证的即时性还挺重要的,否则会给用户带来意想不到的心智负担。这一点在Devin身上体现得特别明显。
Devin被誉为全球首个AI程序员,号称具备全栈开发、自学新技术、构建部署应用、自主调试等多项能力。
初次体验Devin时,它确实让人感觉非常爽。只要你把任务安排给它,然后就不需要管它了。就像真的拥有了一个实习生可以独立完成任务,让我能专注于其他工作。等着验收就行。
但相比Cursor,Devin存在两个致命问题:
(1)得到反馈的时间要更长,这意味着如果我给他的命令是错的,或者他思维错了,过很久我才会知道。这会严重降低工作效率,沉没成本也更高了。
(2)调试成本剧增。AI生成的代码量越大,debug的难度就越高。因为这些代码不是你写的,你需要额外的时间来理解它的逻辑。而且还有更严重的事情,在你debug的时候,经常会不知道到底是它代码生成的有问题,还是你操作有问题。这点对于零知识用户更为致命。
考虑到AI同样可以debug。我专门做了个实验:完全以零知识用户的身份,让Devin写代码,再用Claude来debug。Devin写了20多分钟的代码,Claude debug了一个小时,功能依然没能跑通。
与自动驾驶不同,开车时你可以随时接管,因为车辆的当前状态是显而易见的。但在编程中,如果AI走错了方向,之前的工作就全部作废了。那几十分钟的等待,就真的变成了纯粹的时间浪费。得到的是你和AI都不想用的一大堆代码,没有任何价值的代码。
3. AI编程的未来发展:更高级的可信验证
目前应用端的可信验证还很初级,主要是看代码“能不能跑”,考虑的是终端输出结果。但随着技术发展,会出现更高级的可信验证方法,考虑更多的因素。例如上文的覆盖率这些指标。
现代IDE已经能够自动检测性能隐患和安全漏洞。这些自动化的质量评估机制,本质上也是一种可信验证——它们同样具备客观性和即时性,只是验证维度更加丰富。
其次是自动化测试的进化。即使代码能够运行,也需要验证其功能完整性。自动化测试框架能够生成测试用例、检查边界条件、验证业务逻辑,包括对代码性能进行检测,提供了另一层次的可信验证。这些客观的质量指标同样可以反馈到训练环节。这些进步意味着AI编程可以从“基本可用”进化到“高质量”,Devin这样的产品也会更好用。我依然相信Devin是AI编程的未来,因为这种把人解放的自动化才是真正的自动化。
但是这种AI编程不适合零知识用户,它的未来或许就是极大的增加程序员的生产力。对于零知识用户,或许Dify这样的平台更可靠。
4. 对其他领域的启示
通过分析AI编程的成功,我们其实可以得到一个重要启示:任何想要成功应用AI的领域,都需要找到自己的“可信验证”机制。
不是所有领域都能像编程那样有编译器这种完美的验证工具。也可以借鉴这种思路,在各自领域内建立相对可靠的验证机制。这个验证机制即使早期不能做到100%准确,但至少要能给出一个基本的可用性判断。“要知道模型的下限在哪”。可信验证不仅能降低使用门槛,还能为模型训练提供可靠的数据来源。
本文来自微信公众号:阿茶的AI之路,作者:起名贼费劲的阿茶
本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系 hezuo@huxiu.com
APP专享直播
热门推荐
视频|马化腾携高管现身腾讯年会,C位献唱《送你一朵小红花》 收起视频|马化腾携高管现身腾讯年会,C位献唱《送你一朵小红花》
- 2025年01月14日
- 02:02
- APP专享
- 广西台新闻910
- 1,720
“吉林大爷救助重庆游客反遭诬陷”?重庆文旅:网传内容与事实有出入
- 2025年01月14日
- 05:46
- APP专享
- 广西台新闻910
- 937
新华调查丨年关将至,警惕这些新骗术
- 2025年01月14日
- 10:55
- APP专享
- vsta
- 560
24小时滚动播报最新的财经资讯和视频,更多粉丝福利扫描二维码关注(sinafinance)
投资研报 扫码订阅
股市直播
-
东方红陈晨今天 02:39:59
市场因为几个大票芯片股的持续上涨,以及soc的连续大涨,AI相关的股票估值开始大幅度的提升,相对而言,有业绩兑现的光模块和CPO的估值低估太多了,早晚会有机构去做这个差 -
徐善武今天 02:39:49
追赶上了,上涨家数超2000家【更多独家重磅股市观点请点击】 -
冯矿伟今天 02:37:54
黄白线粘合了 -
巨丰投资张翠霞今天 02:36:36
开盘一小时两市总成交金额6268亿元,相较上一个交易日开盘一小时金额5247亿元增加1021亿元,目前市场放量分化,指数震荡个股跌多涨少,普涨后的良性分歧;行业板块方面,以加权涨幅来看56家行业15家红盘,互联网、广告包装、文教休闲等板块涨幅居前;综合类、公共交通、元器件等板块跌幅居前;建议各位学员操作上以稳健为主,勿过激追涨杀跌操作。 -
史月波高控盘今天 02:35:53
风口是风口,走势是走势,走势和风口合上了,就好操作 -
史月波高控盘今天 02:35:49
【韩国总统秘书室长:尹锡悦决定接受逮捕】当地时间1月15日,韩国总统秘书室长郑镇硕表示,尹锡悦决定接受逮捕,将在下午召开紧急首席会议。 -
趋势领涨今天 02:34:04
【AI眼镜概念股局部活跃新元科技(sz300472)20CM涨停】新元科技(sz300472)20CM涨停,移远通信(sh603236)、瑞芯微(sh603893)涨超5%,国星光电(sz002449)、中科蓝讯(sh688332)、雷神科技(bj872190)、润欣科技(sz300493)等跟涨。消息面上,IDC中国研究总监潘雪菲近日表示,预计2025年全球AI眼镜市场出货量为1280万副,同比增长26%,中国AI眼镜市场出货量为280万副,同比增长107%。 -
徐小明今天 02:33:10
【盘中直播】先看穿轴 -
数字江恩今天 02:31:22
大盘和科创50都新高过了,但没有维持强势持续冲高 -
冯矿伟今天 02:30:29
MACD 0轴位置粘合了