最近,在技能社区HakerNews里,开拓者们再次开启了对AI代码的猖獗吐槽。

这起源于一篇名为“我厌倦了修正客户用AI天生的代码”文章。

在文章里,名叫Tacitus的小哥说自己在今年年初开拓了一些用来做资发生意营业和干系数据网络的工具,有偿开放API给有类似需求的人,并且供应一些技能支持。

逐渐的他的付费客户越来越多,问题也越来越多,当然这也不算什么坏事,由于客户的增长对付一个刚起步的奇迹而言是再好不过的事情,而帮助客户办理问题也是发展的一部分。

AI生成的代码正在把轨范员逼到崩溃

让人头疼的是,Tacitus常常收到“救命,我的交易机器人不事情了!
”这样的要求。
在跟进这些问题时,Tacitus创造客户发来的代码常常存在各种低级缺点,比如访问不存在的端点,或试图从不存在的API相应中读取属性。

深入沟通后,他意识到这些问题的根源在于客户利用了ChatGPT天生的代码:ChatGPT时常会产生“幻觉”,导致代码中涌现一些专业人士可以创造但毫无编程知识的客户无法察觉的小问题。

对付那些只是想构建大略脚本的客户,Tacitus常日会帮助他们修复这些幻觉代码,这对他来说并不费力。
但问题在于,修复后客户每每会提出更大的哀求:“既然AI写的代码轻微修正一下就能用,那我能不能用AI实现更繁芜的运用呢?”

这是最让Tacitus感到无语的地方。
“客户开始期望我供应无限制的免费支持,乃至希望我为他们免费构建全体运用程序。
一旦谢绝,他们会非常生气,”他说。

“这些客户该当雇佣开拓者来修复AI天生的bug……我不想成为那个专门修复AI bug的开拓者!
”他在文章末了愤愤地说道。

留言区很快充满了开拓者们的共鸣,他们纷纭分享自己与AI天生代码的痛楚经历。

“我在事情中也碰着过类似的情形,当时我的同事问我,为什么他那短短10行的代码会涌现问题。
原来他有两个变量“file_name”和“filename”,并用个中一个变量代替了另一个变量。
我问他是怎么得到这样的代码的,他说他用 Copilot 来创建它。
在不理解天生式AI的浸染的情形下利用其代码永久不是一个好主张。

“......Claude确实能快速天生代码,而我可能须要一周韶光来编写同样的代码。
但是,这些代码中隐蔽了许多陷阱……希望能有一个好的测试工具与代码天生工具合营利用。

“我疑惑 LLM 的幻觉能否产生安全性良好的代码。
在我看来,利用来自 LLM 的代码可能会让你的程序轻微快一点实现,但终极只会增加调试和测试所需的韶光,由于个中可能存在各种问题,从噜苏的(未利用的变量)到非常奇妙且难以创造的逻辑问题,这些都须要对 LLM 拼凑起来的库和框架有更深入的理解。
此外,从长远来看,这种做法会剥夺人们对这些知识的理解,因此他们会创造精确完成测试和调试阶段越来越具有寻衅性。

除了吐槽之外,也有敏锐的开拓者看到了商机。

“....对付那些想要专门修复 AI 天生运用程序的人来说,这切实其实是一个金矿。
很多企业要么在熟人的帮助下,要么在类似Upwork的兼职平台,找个所谓的开拓者,结果开拓者用AI来创建运用...如果你能打造一个办理这种问题的企业,你肯定能早日退休。

事实上,已经有创业公司瞄准了这块“蛋糕”。

由印度裔工程师Harjot Gill在硅谷创立的CodeRabbit流传宣传,能够利用AI模型剖析代码并供应反馈。
8月15日,CodeRabbit宣告完成了由CRV领投,Flex Capital和Engineering Capital参与的1600万美元A轮融资。

然而,效果仍旧存在争议。

Graphite的Greg Foster在一篇博客文章等分享了将OpenAI的GPT-4运用于代码审查的内部实验履历。

虽然GPT-4能够捕捉到一些有代价的内容——如轻微的逻辑缺点和拼写缺点——但也产生了大量误报。
Foster指出,纵然经由微调,这些误报仍未显著减少。

Greg Foster给出的例子还是用AI审查人类工程师输出的代码。
如果利用AI来审查AI天生的代码,问题可能会更加严重,导致幻觉式缺点层出不穷,就像在“垃圾上堆积更多垃圾”,陷入去世循环。

在OpenAI推出拥有编程能力的ChatGPT之后,险些所有科技巨子和领先的AI公司都供应了代码助手工具:微软有GitHub Copilot,谷歌推出了Gemini Code Assist,亚马逊AWS的CodeWhisperer也已经上线,Meta的Llama 3也具备编程功能。

微软资深工程师Andrew是第一批利用GitHub Copilot的人。
他见告当公司开始为每个开拓职员供应这项功能时,大家都很愉快,体验感也很好。
由于Copilot能够基于高下文自动天生代码,尤其是在处理常规需求时,省去了手动输入的繁琐过程。
比较之前只能补全有限语句的赞助工具,Copilot还拓展了编程思维,供应多种不同的实现办法。

然而,随着利用的深入,问题逐渐显现。
针对一些繁芜需求,Copilot更随意马虎产生“幻觉”,输出一些“瞎编”的代码,根本无法利用。

Andrew表示,在日常事情中,Copilot天生的代码大多数情形下须要手动修正,但总体上仍旧提高了事情效率。

刚入职亚马逊的Jack表示,作为一名“转码”选手,AI代码助手大大提升了他的“刷题”速率。

对开拓者们而言,“刷题”指的是在准备技能口试或提升算法技能时,通过LeetCode等题库平台不断练习编程。
对付LeetCode上的题目,Copilot等助手每每能给出精确答案,由于这些题目大多集中在算法和数据构造的经典问题上,如排序、查找、动态方案、树和图的遍历等。
AI模型能够识别并复用这些常见的编程模式,天生符合题目哀求的代码。

但Jack也坦言,过度依赖AI工具可能削弱思考能力。
“如果你习气依赖AI,就无法真正节制那些本应理解的编程知识和思路。
下次碰着类似问题时,你仍旧无法独立办理。
尤其是在一对一壁试中,如果碰着通过AI办理的高难度题目,由于韶光有限且无法乞助AI,可能会导致口试失落败。
”他说道。

这都是Jack的亲自经历,因此在后来的刷题演习中,他只管即便减少了对AI的依赖。

无论是履历丰富的Andrew,还是初出茅庐的Jack,他们都认为Copilot只能作为赞助工具,开拓者不能完备依赖它,更不用说毫无编程知识的人试图用AI来构建运用程序了。

Axios宣布援引多家报告结果称,现在有超过一半的程序员正在利用天生式AI来编写或编辑运行软件——而且这个数字还在不断上升。

然而,生产力的提高是有代价的——这一点Andrew和Jack也提到过。

根据开拓者剖析工具GitClear的一项研究,AI可能对整体代码质量带来负面影响。
通过剖析1.53亿行代码,研究比较了2023年与之前几年AI尚未广泛用于代码天生时的变革,创造:

“代码变动率”(即编写后不到两周便被删除的代码行比例)正在上升,估量在2024年将翻倍。
研究指出,代码变动率的增加意味着生产环境中涌现缺点的风险更高。

此外,天生代码中“复制/粘贴”行为的增长速率超过了“更新”、“删除”或“移动”代码的速率。
GitClear创始人Bill Harding表示,AI天生的代码在这方面更像是由短期开拓者编写的,他们无法充分考虑如何将代码与更多的项目进行整合。
总部位于美国西雅图的GitClear是一家供应开拓者生产力剖析工具的公司。

Harding总结道,AI代码助手虽然在代码天生方面表现出色,但也可能导致“AI引发的技能债务”。
换句话说,代码行数的增加并不一定意味着代码质量的提升。

与此同时,今年3月份,前亚马逊技能项目经理、《Architecting for Scale》一书的作者Lee Atchison也在自己发布在LinkedIn上的文章中指出,近年来代码繁芜性和与繁芜代码干系的掩护本钱有所增加,这在很大程度上归因于AI天生代码的激增。

虽然天生式AI工具在代码创建方面节省了韶光和本钱,但这些节省下来的资源可能会在后期的掩护和修复过程中被抵消。

Atchison的担忧并非没有依据。
斯坦福大学的一项研究创造,利用AI助手编写的代码,其安全性明显低于由人类程序员独立编写的代码。
目前尚未发生任何与未经检讨的AI天生代码干系的公共灾害,但CodeSignal的CEO Tigran Sloyan警告,这可能只是韶光问题。

基于市场对AI技能的乐不雅观预期和潜在市场规模的巨大吸引力,各种AI编程助手如雨后春笋般呈现,融资额动辄千万美元,估值乃至高达数亿美元:

Augment在2024年4月融资2.5亿美元。
投资者包括 Sutter Hill Ventures、Index Ventures、Innovation Endeavors、Lightspeed Venture Partners 和 Meritech Capital。

Magic正在以15亿美元的估值寻求超过2亿美元的融资。
此前Magic从NFDG Ventures和谷歌母公司旗下的CapitalG等投资者那里筹集了1.4亿美元。

Cognition在今年4月份声称完成了1.75亿美元的融资,估值高达20亿美元。
值得把稳的是,Cognition正是Devin的母公司,Devin曾因以“第一个AI程序员”的宣扬噱头刷爆了中文科技媒体圈,成为业内的热门话题。

Glean在2024年2月以22亿美元的估值筹得2亿美元,投资者包括 Kleiner Perkins、Lightspeed Venture Partners、Sequoia Capital 等。

除此之外,市场上还有许多同类型的初创企业,如Tabnine、Codegen、Refact、TabbyML、Sweep、Laredo等等,它们的融资信息就不再逐一列举。

虽然AI技能为软件开拓带来了新的可能性,但它在处理繁芜、特定需求的项目时,仍旧存在明显的不敷。
这意味着,现在备受成本追捧的AI编程工具在实际运用中所带来的生产力提升,可能远低于市场预期——它们的高估值是否合理,仍旧值得商榷。