「谷歌内部超1/4新代码,全是由AI生成的」!
上周,CEO劈柴在Q3财报会议上的一句话,瞬间点燃了全网的激烈讨论。
AI生成的代码再由工程师进行审核,能够帮助工程师完成更多的工作,加快开发效率
然而,也正是这句话,劈柴却遭到了自家员工「打脸」。
在热门新闻网站HK上,一位谷歌程序员发帖,对这个观点并不认同:
我在谷歌刚刚结束了一天的工作,我刚才在写那种称之为「AI生成代码」的东西,但是这个代码补全能力最擅长补全我正在写的代码行。
比如,当我写「function getAc...」时,它足够聪明,可以补全完成「function getActionHandler()」,可能还会建议正确的参数和一个不错的jsdoc注释。
简单来说,它是个有用的生产力工具,但并不能完全进行真正的软件工程设计工作。它可能和Copilot差不多,也许稍差一些。(不过我最近没用过Copilot)
评论区下面一位谷歌员工,更是直言不讳,「这明显就是在夸大事实,他们可能把一些存在了十年的全自动代码审查/Pull Request也算作『AI生成』了」。
如果一个10人团队和一个使用Copilot的8人团队生产力相同,那在我看来可以说「AI替代了2个工程师」。更重要的是,如果这是真的,科技领导者们早就会这样宣称了。
Copilot和类似工具已经存在足够长的时间,足以证明其效果,但没有人说「我们用AI替换了X%的员工」,因此通过「否定后件」的逻辑,使用Copilot并不能实质性地加速开发。
如此戏剧性的反转,让现场吃瓜的网友大受震撼。
就连Linux之父Linus Torvalds在采访中表示,「AI只不过是一种营销策略。人工智能市场状为90%营销和10%现实」。
可以庆幸的是,AI取代程序员工作应该离我们还很遥远。
在所有人看来,25% AI生成代码所占的比例是非常高了。
此外,劈柴在Q3财报讲话中还提到了,不论是从token数量、API调用、业务采用哪个方面去衡量,Gemini模型使用率都处于急剧增长的时期。
除了谷歌自己的平台,Gemini还联手GitHub Copilot,为更多开发者提供能力,支持处理200k上下文的大规模代码库。
实际上,AI编程助手往往会在代码中植入错误,侵犯版权,甚至在某些情况下,导致中断。
这时,程序员被迫成为「AI提示大师」,手动修复AI助手创建的任何问题。
谷歌对AI编码的吹捧,却成为了全网的华点。
有人表示,「问题在于,修复那25%代码中的bug所花费的时间超过了节省下来的时间」。
「现在Copilot这样的工具被广泛使用,研究表明它们实际上并没有提高生产力。所有相反的说法似乎要么是道听途说,要么就是营销噱头」。
另有网友表示,「时间会告诉我们AI输出质量是比熟练的程序员差、相当,还是更好,但对于超出明显的样板代码(比如for循环中需要的所有符号)或命名(如上面那位描述的函数名和注释自动补全)之外的任何建议,我都会非常谨慎」。
与此同时,在Reddit热帖中的网友称,「我认为我们不太关注采用率,而是更关心其他因素。它能提高开发速度吗?能提升代码质量吗?能改进维护性吗?我觉得这些还未可知。
更大的问题是,在大型企业中使用AI的ROI是多少?运行或训练这些AI大模型并不便宜」。
不过,又一位谷歌员工站出来,给了比较中肯的回答。
他首先承认了,AI写代码仅是工程工作的一小部分。
然后依据他个人经验,又认为「不过AI系统要比人们所描述的强大得多,也可能是因为我大多数情况下用C++,它比JavaScript有更大的训练语料。系统已经很擅长的一件事是根据注释写出完整的短函数」。
在谷歌内部,开发者都在用什么模型写代码?
今年2月,BI从一份泄露内部文件中得知,谷歌悄悄推出了一款名为Goose的新模型供内部使用。
Goose是Gemini的一个分支,基于谷歌25年工程专业知识上完成训练,支持28k token上下文。
它不仅可以回答有关谷歌特定技术问题,还能使用颞部技术堆栈编写代码,还支持一些新功能,比如根据自然语言提示编写代码。
一份文件中指出,Goose计划成为谷歌内部编码使用的第一个通用LLM。
而且,谷歌计划是,通过Goose将AI带入产品开发过程的每个阶段。
用AI辅助代码生成,已经成为大多数程序员的日常。
根据Stack Overflow 2024开发者调查报告称,超76%的人正在使用,或计划在今年开发过程中用上AI工具。其中,62%的人正积极使用AI工具。
上半年发布的GitHub开发者报告中,92%美国软件开发人员已经在工作内/外使用AI编码工具。
AI辅助编码于2021年首次在GitHub Copilot中大规模出现,并在次年6月正式对外发布。
当时,它使用的是OpenAI一个特殊编码的AI模型Codex。
该模型既可建议连续的代码,也可以从英语指令中从头开始创建新的代码。
从那时起,AI编码在全世界铺开。随后加入的玩家,比如Anthropic、Meta、Replit、OpenAI等不断完善解决方案。
最近,GitHub Copilot官宣扩展了新功能。并且,加入了Claude 3.5和Gemini 1.5 Pro模型。
一些人都在吹捧AI编码的强大能力,却也引起了另外一些人的批评。
斯坦福去年的一项研究显示,使用AI编码助手的开发者,代码错误更多。而且,他们比那些不用AI的人,更加相信AI编写了安全的代码。
论文地址:https://arxiv.org/pdf/2211.03622
虽然AI生成错误的编码是危险的,但回看软件开发的历程,也曾遇到过类似有争议的变化。
比如,从汇编语言到高级语言的过渡,在那时,也面临着一些程序员的反对。
他们所担心的是,我们不仅会失去控制,还降低了效率。
类似地,上世纪90年代,面向对象编程的采用,也遭到了复杂性、性能开销大的质疑。
在AI增强编码的最新转变中,也是同样如此。
微软前副总Steven Sinofsky表示,「无论你认为用AI编程在今天是否有效,都不重要」。
「但是,如果你认为GenAI编码会让人类变笨,或不是真正的编程,那么请考虑一下,这类批评其实一直都在(从最早的Fortran编程语言就开始了)」。
科技行业曾是众多人才竞相追求的热门领域,但如今却面临着职位减少的挑战。
根据Indeed.com的数据,自2020年2月以来,招聘岗位减少了30%。
Layoffs.fyi网站的报告也显示,今年科技行业的裁员潮仍在继续,自1月份以来,已有约13.7万个工作岗位被裁减。
造成传统科技职位需求下降的一个重要原因是,AI已经能够胜任许多曾经由人类完成的常规编程、编码和技术任务。
随着AI工具持续提高生产力,组织机构能够以更精简的团队实现更好的成果。因此,这一趋势正在减少软件开发和信息技术支持等领域的初级和中级职位需求。
另外,微软和领英最新发布的2024年工作趋势年度报告显示,雇主们对具备AI技能的求职者表现出强烈偏好。
报告指出,66%的企业领导者表示不会考虑没有AI技能的申请者,而71%的领导者更倾向于选择具备AI专业知识的新人,而非缺乏这些技能的资深人士。
在当前形势下,随着各公司纷纷致力于获取和培养AI人才,科技专业人士必须主动适应变化,提升自身在AI相关领域的技能,才能在瞬息万变的就业市场中保持竞争力。
AI在软件领域的崛起正在重塑软件工程师的角色定位,使其工作重心从传统编码转向AI监督和集成。这种转变需要一套全新的技能组合,将AI专业知识与伦理考量和高级系统设计有机结合。
随着领域的不断发展,工程师们必须转型成为具备AI思维的解决方案专家,能够熟练管理AI生成的代码,深入理解其局限性,并在这个新范式中持续创新。
参考资料:
https://news.ycombinator.com/item?id=42002212
https://arstechnica.com/ai/2024/10/google-ceo-says-over-25-of-new-google-code-is-generated-by-ai/#gsc.tab=0
https://www.forbes.com/sites/jackkelly/2024/11/01/ai-code-and-the-future-of-software-engineers/
https://www.reddit.com/r/google/comments/1gfrs03/google_ceo_says_over_25_of_new_google_code_is/
文章来自于微信公众号“新智元”
【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。
项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file
本地安装:https://www.deepbi.com/
【开源免费】airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。
项目地址:https://github.com/hitsz-ids/airda