写点什么

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

评论

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

大白话解析 MySQL 中的 MCCC 机制

悟空聊架构

MySQL MVCC 28天写作 悟空聊架构 12月日更

Spring中的事务Transactional,这样用真的对么?

xcbeyond

事务 28天写作 12月日更

了解学习 JSX 的工作方式

devpoint

React JSX 12月日更

自我改变的意义

卢卡多多

28天写作 技术改变生活 12月日更

有了六顶思考帽,从此告别无效争吵

Ian哥

项目管理 28天写作 项目管理工具 六顶思考帽

MySQL 连接数过多的处理方法合集 - ERROR 1040 Too many connections - 卡拉云

蒋川

MySQL MySQL 数据库

36 K8S之角色控制访问

穿过生命散发芬芳

k8s 28天写作 12月日更

Prometheus Exporter (十九)Collectd Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Collectd

拖延

Nydia

聊聊 Kafka: 在 Linux 环境上搭建 Kafka

老周聊架构

签约计划第二季 2月月更

模块一学习总结

Only

「架构实战营」

如何提升工作意义感?

石云升

28天写作 职场经验 12月日更

声网 X 远程超声:实时音视频解决基层“看病难” 推动医疗资源均衡化

声网

人工智能 音视频

《重学Java高并发》手写一个生产者消费者线程模型

中间件兴趣圈

Java高并发 生产者消费者模型

模块一学习总结

whoami

「架构实战营」

Prometheus Exporter (十八)Graphite Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Graphite

12 张图 | 深入理解 Eureka三层缓存架构

悟空聊架构

缓存 Eureka 28天写作 悟空聊架构 12月日更

web安全之CSRF

喀拉峻

网络安全

LongAdder解析

程序员历小冰

28天写作 并发’ 12月日更

在 Ubuntu 上安装使用极狐GitLab Runner

极狐GitLab

CI/CD runner 极狐GitLab

【架构师训练营】模块一作业

樰巳-堕~Horry

架构实战营 「架构实战营」

【LeetCode】字母异位词分组Java题解

Albert

算法 LeetCode 12月日更

保存并提交修改后的容器镜像

liuzhen007

28天写作 12月日更

.NET 6新东西--nuget包验证

喵叔

28天写作 12月日更

[Pulsar] F# client的ProtobufNativeSchema实现

Zike Yang

Apache Pulsar 12月日更

团队基建系列 - 组织知识传承 1

搬砖的周狮傅

团队成长

JavaScript中的这些内置对象

你好bk

JavaScript 大前端 数组 html/css 12月日更

List 去重的 6 种方法,这个方法最完美!

王磊

架构实训营

ren

浅谈指标体系建设(二)

圣迪

指标体系 指标

说说节奏感

Justin

方法论 28天写作

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