硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

谷歌超过四分之一代码由 AI 生成失实?劈柴刚吹完牛,自家员工就来组团“打假”了

  • 2024-11-06
    北京
  • 本文字数:2861 字

    阅读完需:约 9 分钟

大小:1.35M时长:07:52
谷歌超过四分之一代码由AI生成失实?劈柴刚吹完牛,自家员工就来组团“打假”了

整理 | 华卫


谷歌超 25% 代码由 AI 生成?上周,谷歌在汇报三季度出色营收的同时,多次提到其在 AI 方面的创新及增长,AI 代码数量的上升就是其中之一。对于谷歌的这一进展,有人受惊,有人“吐槽”,没几天连谷歌自家员工都不嫌事大来“凑热闹”了。


上周,谷歌及 Alphabet 首席执行官 Sundar Pichai 在 2024 年第三季度财报电话会议上表示,“谷歌超过四分之一的新代码是由 AI 生成的,然后由工程师审查和接受。”


这一消息传出后,引起了众多业内人士的议论。


有网友直呼,“学会 CS 已经没有意义了”,“程序员的黄金时代已经结束了”。



一位网友戏谑地表示,“这就是为什么每个谷歌产品都处于永久测试阶段。”也有人对 Pichai 所说的话表达了质疑。


曾联合创立谷歌 iOS 和 Android 产品体验团队的 Henry T Kirk 直言,“我敢打赌,其中大部分都是原型文件或配置文件。谷歌代码库中有大量这样的 “代码”,处理起来非常麻烦。我认识很多 L3 工程师,他们的唯一工作就是修改这些文件。”




然而很快事情就迎来了反转,还是由谷歌仍在职的员工亲自带来的。


存在一系列问题,“并没有实质性地加速开发”


首先被“打假”的就是谷歌宣称“由 AI 生成的代码”的来源。在谷歌财报电话会议结束后,一名谷歌工程师 @asdfman123 迅速在 Hacker News 发帖“回应”:


我就在谷歌上班,刚刚结束一天的工作。我正在写的就是所谓“AI 生成的代码 ”。

但代码自动补全引擎基本上只是擅长完成我正在编写的代码。如果我写的是 “function getAc…”,它就会很聪明地补全为 “function getActionHandler()”,也许还会建议正确的参数和一个像样的 jsdoc 注释。

因此基本上,它是一个有用的生产力工具,但它根本不做任何工程设计。它可能和 Copilot 差不多,也许比 Copilot 稍差一点。(不过我最近还没用过)。


简单来说,根据这位工程师的曝料,所谓“AI 生成的代码”可能更多只是“Tab 键补全”。


该帖发出一天后,又一位疑似刚离职的谷歌工程师 @NotAnOtter 在评论区发表了同样的观点。并且,除代码来源外,他还提到“Copilot 之类的工具并没有实质性地加速代码开发”。


我也在谷歌工作(直到上周五),同意你所说的。我的想法是:

  1. 这句话明显是在夸大现实,他们很可能把已经存在了十年之久的全自动 CL/PR 等也算作 “AI 生成”。

  2. 我之前说过,如果一个 10 人团队和一个 8 人团队在使用 Copilot 之类的工具时一样高效,那么在我看来,可以说 是“AI 取代了 2 名工程师 ”。更重要的是,如果这种说法是真的,技术领导者们也会提出这种说法。Copilot 及其类似产品已经存在了足够长的时间,足以证明其成效如何。没有人说 “我们已经用 AI 取代了 X% 的劳动力”,因此我的说法是通过 “否认结果”逻辑,使用 Copilot 等并没有实质性地加速代码开发。


据 NotAnOtter 介绍,全自动 CL/PR 之类的东西在大多数像谷歌这样的大型公司中很常见。例如,如果内部库中的实用程序函数已被弃用并替换为具有相同功能的其他函数,一个团队可能会编写一个脚本,生成成百上千个 PR 来迁移到新功能。


另一位谷歌工程师 @nlehuen 则在认同这些观点的同时,谈到了 AI 在代码开发中起到的“强大”作用。


我也在谷歌工作,我同意大家所说的“AI 本身并不是在做工程”的普遍看法。原因很简单,编写代码的确只是工程的一小部分。

不过,根据我的经验,这一(AI)系统要比你描述的强大得多。也许这是因为我主要编写的是 C++,而 C++ 的训练语料库要比 JavaScript 大得多。该系统非常擅长的一件事是通过注释编写整个简短函数。

诀窍不是在于写“function getAc…”,而是这样完成的速度会更快,质量也会大大提高。从根本上说,使用注释作为生成大段代码的提示,而不是向系统提供最少的上下文,这样系统就只能完成单行代码。


还有一位工程师表示 AI 已进入其日常工作流程中:“我对我的代码做了类似的事情:写注释,生成代码,然后让 AI 工具创建测试用例。AI 编码助手通常能很好地提升基本级别的测试,可以直接在其中添加更具体的场景。”


与此同时,更多的工程师们指出了 AI 生成代码所带来的一系列问题。例如,“修复这 25% (AI 生成的)代码中的错误时,所花费的时间超过了节省下来的时间”;“LLM 在处理有关流行 Java 库的 API 文档问题时表现不佳,只会出现 API/ 方法名称的幻觉”。


但许多人都赞同,“LLM 对于刚接触某种语言的开发人员来说实际上非常有用。”一位网友这样评价,“LLM 对初级开发人员来说是一个真正的推动力,但仍然远不及高级 / 首席工程师所能达到的水平。”


并非取代而是增收


这几位谷歌工程师的曝料,让众多在场“吃瓜”的网友震惊不已,更有人试图直接道破“AI 取代劳动力”的本质:


没有人会说 “我们已经用 AI 取代了 X% 的劳动力”。

不过,只有当你想削减成本时,才值得这么做。如果公司的雄心壮志尚未实现,那么就没有理由把员工人数从 10 人缩减到 8 人,但产出却保持不变。因为利用 AI,可以让 10 个人的产出达到 12 个人的水平。


值得一提的是,在过去的几年里,几乎所有的大型科技公司都进行了裁员。


与一年前相比,谷歌整体员工人数减少了 1112 人。就在今年,谷歌进行了一系列重组和团队整合,包括将更多团队划归其核心人工智能部门 DeepMind。并且,这些变化大多与 Pichai 在 2023 年初透露的大规模裁员是分开的。


有网友指出,“最有可能的实际情况是,(由 AI 取代)将要被裁员的 X% 员工被投入到其他项目中,而谷歌通常可以用相同的劳动力多承担 X% 的项目。”


更详细的解释是:


这些成本削减措施的目标不是绝对降低成本,而是相对降低成本。他们需要显示运营利润率的提高,即工程师支出占收入的百分比。

如果工程师的效率提高了 20%,那么利润率就提高了,问题也就解决了。(事实上,如果你拥有能让任何工程师的效率提高 20% 的技术,那么只要每个新增的工程师都能带来足够的额外收入,你就又可以尽情招聘工程师了)。


今年 2 月,据 Business Insider 获得的内部文件显示,谷歌推出了一个名为 Goose 的新人工智能模型,以供内部使用。该工具被描述为谷歌 Gemini 大型语言模型的分支,旨在协助员工完成编码和产品开发任务。


财报电话会议上,Pichai 也一再提到谷歌在人们和公司使用其 AI 技术及其在 Google 的 Gemini 模型上运行的各种工具方面取得了迅速的成功。“无论以 token 数量、api 调用、消费者使用、业务等任何标准衡量,Gemini 模型的使用都处于快速增长时期。”他说。


不可否认的是,AI 确实正在帮谷歌赚钱,Alphabet 在今年第三季度的财务业绩中甚至超过了华尔街的收入目标。Pichai 表示,“我们对创新的承诺,以及对 AI 的长期关注和投资,正在为公司和客户带来回报和成功。”


据 Alphabet 报告称,谷歌本季度营收为 883 亿美元,高于华尔街 863 亿美元的目标。其中,Google Services(包括搜索)收入为 765 亿美元,同比增长 13%,Google Cloud(包括为其他公司提供的 AI 基础设施产品)收入为 114 亿美元,同比增长 35%。


参考链接:


https://blog.google/inside-google/message-ceo/alphabet-earnings-q3-2024/#full-stack-approach


https://news.ycombinator.com/item?id=41991291


2024-11-06 09:009821

评论

发布
暂无评论
发现更多内容

技术分享| RTC通讯中常用的音频格式

anyRTC开发者

音视频 WebRTC RTC 语音通话 音频格式

Vue学习之v-if和v-for指令,tomcat常见面试题

Java 程序员 后端

【终极预告】Apache ShardingSphere Dev Meetup 彩蛋篇

SphereEx

开源社区 ShardingSphere Meetup SphereEx 热门活动

Vue 生命周期 钩子函数,mybatisdao接口工作原理

Java 程序员 后端

Vue学习之自定义指令,宅家36天咸鱼翻身入职腾讯

Java 程序员 后端

requests库与 lxml 库常用操作整理+总结,爬虫120例阶段整理篇

梦想橡皮擦

11月日更

vue遇到的坑,linux网络编程pdf百度云

Java 程序员 后端

windows下nginx的安装及使用,linux实用教程第三版pdf

Java 程序员 后端

zabbix监控nginx、mysql、java应用,64位java8百度云盘

Java 程序员 后端

Flink 的容错管理详细剖析

五分钟学大数据

flink 11月日更

Vue 数组操作,java基础教程百度网盘

Java 程序员 后端

ICCV 2021人脸鉴伪比赛全赛道冠军!AI反诈这块,百度算是弄明白了

科技热闻

zookeeper分布式锁,java开发技术教程

Java 程序员 后端

“一学就会”微服务的架构模式,一名毕业三年的女程序媛面试头条经验

Java 程序员 后端

ZooKeeper实现生产-消费者队列,万字长文总结Java多进程

Java 程序员 后端

Vue 数组操作(1),java设计模式书籍推荐有代码讲解

Java 程序员 后端

yum安装ansible报错如何解决,自定义线程池面试题

Java 程序员 后端

《JVM系列》 第五章 -- 堆空间与对象分配,springboot项目分层架构

Java 程序员 后端

xxl-job 源码运行解析,java基础编程视频

Java 程序员 后端

“情商比智商重要”,java面试代码题

Java 程序员 后端

XXL-Job启动源码详解,Java日常开发的12个坑,你踩过几个

Java 程序员 后端

Zookeeper 集群部署的那些事儿,消息队列rabbitmq面试

Java 程序员 后端

zookeeper原理篇-Zookeeper选举过程分析,深入linux内核架构pdf下载

Java 程序员 后端

“数组&方法”常见知识分解,简述java编译原理

Java 程序员 后端

WPF学习——依赖项属性,中软国际java面试流程

Java 程序员 后端

“打工人”都在用的邮件使用规范,入职3个月的Java程序员面临转正

Java 程序员 后端

Zookeeper用作注册中心的原理,张孝祥jsp视频教程

Java 程序员 后端

“ShardingCore”是如何针对分表下的分页进行优化的,深入理解linux内核架构

Java 程序员 后端

“穷苦乡村”小伙就得安于现状,你掌握了多少?

Java 程序员 后端

Vue学习之事件修饰符,java后端开发入门

Java 程序员 后端

vue移动端自适应,mybatis面试问题

Java 程序员 后端

谷歌超过四分之一代码由AI生成失实?劈柴刚吹完牛,自家员工就来组团“打假”了_生成式 AI_华卫_InfoQ精选文章