HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

谷歌超过四分之一代码由 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:009434

评论

发布
暂无评论

汽车制造数字化转型如何做?有哪些可行性案例?

优秀

数字化转型 汽车制造

【Python实战】Python采集电影评论

BROKEN

三周年连更

linux如何设置一个环境变量,在shell退出之后也不会失效

linux大本营

Linux Shell export

写一个epoll的服务端程序

linux大本营

事件驱动 epoll C++ I/O 多路复用

【Python实战】Python采集最低战力信息

BROKEN

三周年连更

华为云全球加速GA,让企业获得更优质的服务体验

平平无奇爱好科技

Logrotate正则匹配文件名

linux大本营

正则表达式 Linux

constchar*类型的实参与char*类型的形参不兼容

linux大本营

指针 const C++

Last Week in Milvus

Zilliz

Milvus Zilliz 向量数据库

PerformingTestCOMPILER_KNOWS_STDLIB-Failed

linux大本营

cmake C++

斩获四奖|海泰方圆荣登网信自主创新尖锋榜

电子信息发烧客

nvmf协议

linux大本营

网络协议 nvme RDMA技术

Go Mutex:保护并发访问共享资源的利器

陈明勇

Go golang mutex 互斥锁 三周年连更

开心档之C++ 类 & 对象

雪奈椰子

详细讲解spdk里的examples/nvmf/nvmf/nvmf.c文件

linux大本营

nvme 文件存储

如何执行mysql文件

linux大本营

MySQL 数据库

c语言如何用宏来实现字符串到函数的映射?

linux大本营

C语言 映射函数

点对点传输效率对比测试——镭速传输

镭速

ShareSDK QQ平台注册

MobTech袤博科技

对标阿里P8级Java面试题及答案整理(2023速成版,7天就能吃透)

收到请回复

TypeScript 函数 详解

程序员海军

Vue3 Typescript 三周年连更

华为弹性云服务器ECS,帮助企业节省成本上云成本

平平无奇爱好科技

云计算,

一个能在Linux下使用C++编写的访问RabbitMQ接收发送数据的可编译代码

linux大本营

RabbitMQ 消息队列 C++

敏捷宣言和原则

老王同学

读书笔记

使用Plist编辑器——简单入门指南

雪奈椰子

linux如何计算一个shell程序运行的时间

linux大本营

Shell Linux系统

CouldNOTfindGMP(missing:GMP_LIBRARYGMP_INCLUDE_DIR)CallStack(mostrecentcallfirst)

linux大本营

Linux GNU cmake

智能感知编码优化与落地实践

Baidu AICLOUD

视频编解码

华为云WAF设置要塞,筑起企业网络安全万里长城

轶天下事

已知非空线性链表由list指出,链结点的构造为(data,next)。写-算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申请新的链结点

linux大本营

链表 C语言 数据结构与算法

再写一个版本,要求使用类进行封装,提供完善的接口,并对函数进行完善注释

linux大本营

RabbitMQ AMQP C++

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