写点什么

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

评论

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

golang开发一个简单的grpc

六月的

golang gRPC

固定QPS异步任务功能初探

FunTester

揭秘百度智能测试在测试评估领域实践

百度Geek说

测试 数据 企业号十月 PK 榜

Bonree ONE 2.0重磅发布,中国IT运维迈入数智融合3.0时代

博睿数据

可观测性 根因分析 博睿数据 ONE平台 智能运维AIOps

K8S 故障排错新手段:kubectl debug实战

BoCloud博云

容器 云原生 k8s

golang中经常会犯的一些错误

六月的

golang

Git的branch操作详解

timerring

git 10月月更 branch

进阶vue面试题总结

bb_xiaxia1998

Vue

将 NGINX 部署为 API 网关,第 2 部分:保护后端服务

NGINX开源社区

nginx 安全 Backend Developer api 网关 模块

EasyNLP发布融合语言学和事实知识的中文预训练模型CKBERT

阿里云大数据AI技术

深度学习 开源 语言模型 企业号十月PK榜

社招前端经典手写面试题合集

helloworld1024fd

JavaScript

golang中的变量阴影

六月的

golang

vue组件通信6种方式总结(常问知识点)

bb_xiaxia1998

Vue

vue为什么v-for的优先级比v-if的高?

bb_xiaxia1998

Vue

数字化的一切都会在安全沙箱里面

FN0

云计算 安全性 沙箱

100+款AI产品薅羊毛攻略(上)——轻轻松松节省几十万

夏夜许游

人工智能 阿里云 AI 视觉

golang中的socket编程

六月的

golang socket

golang垃圾回收

六月的

golang 垃圾回收

golang中的errgroup

六月的

golang errgroup

CORS跨域

六月的

CORS

@全体开发者, 华为云1024程序员节精彩开启!

华为云开发者联盟

华为云 企业号十月 PK 榜

PaddleNLP基于ERNIR3.0文本分类:WOS数据集为例(层次分类)

汀丶人工智能

nlp 文本分类

MobLink Android 快速集成

MobTech袤博科技

Gradle sdk moblink

从零开始实现一个Promise

helloworld1024fd

JavaScript

grpc中的拦截器

六月的

gRPC 拦截器

grpc错误处理

六月的

gRPC 错误处理

一键上手时下最火AI作画工具

华为云开发者联盟

人工智能 华为云

从零手写react-router

helloworld1024fd

JavaScript

如何修改已提交commit信息

Appleex

git

链表专项之环形链表

lovevivi

c 数据结构 10月月更

Vue组件入门(九)v-model 自定义修饰符

Augus

Vue 3 10月月更

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