AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

抗拒使用 GPT-4 和 Copilot 写代码,拥有 19 年编程经验的老程序员“面试”被淘汰

  • 2023-06-05
    北京
  • 本文字数:2755 字

    阅读完需:约 9 分钟

抗拒使用GPT-4和Copilot写代码,拥有19年编程经验的老程序员“面试”被淘汰

一个成本低速度快,一个代码质量高程序可扩展性好,你会怎么选?

 

一位名叫 Ab Advany 的技术人员最近接了个小活儿,帮他的一位好友在其工作单位监督编程案例研究。这项案例研究总共花了两周时间,他们聘请了两名程序员为其创建最小可行产品(MVP)。

 

这两名程序员都是为该机构工作了很长时间的承包商。Ab Advany 之前也曾与二人合作,对两人的背景十分了解。首先是来自德国的 Alex,拥有 19 年编程经验,采取 100%纯手动编程。来自巴基斯坦的 Hamid 仅拥有 4 年开发经验,在编程中采用了手写代码+Copilot+GPT-4+无代码开发。

 

Ab Advany 表示他们原本以为 Hamid 大概能在 8 到 10 周内完成工作,而 Alex 可能要多花上 1、2 周时间。但最终结果却令他们大为意外!Hamid 在一周之内完成了此项目,端到端测试与测试覆盖率均达到 100%;Alex 则只完成了 7%。Hamid 的开发总成本为 3819 美元,Alex 的开发成本则为 3520 美元。

 

让不使用 AI 的老程序员出局?

 


具体来说的话,两位程序员都收到了 Figma 设计要求和详细规格。设计师会帮助他们获取所需资产,外加需要集成的现有代码。

 

Hamid 在一周之内就完成了首个版本,代码测试覆盖率和无代码部分的端到端测试均达到 100%。95%的工作量似乎已经完成,而且基本看不出有什么问题……

 

Hamid 在 @bubble 中构建了 UI 和前端工作流,使用 GPT-4 生成 Cloudflare Workers,使用 Copilot 集成现有代码,并使用 GPT-4 来生成测试。

 

Hamid 的开发成本细则:

 

GPT-4: 211 美元

Copilot: 20 美元

Cloudflare: 5 美元

Bubble: 134 美元

总计: 2460 美元 (共 41 个工时)

托管/运行成本:每月 139 美元

 

Alex 完成了总工作量的约 7%,成本为:

 

Vercel: 20 美元

总计: 3500 美元

开发所有内容的预期成本:4.5 万美元。预计额外还需要 1.1 万美元进行测试。

托管/运行成本:每月 20 美元

 

Ab Advany 的好友跟 Alex 交流了研究感受,对方的结论是“但纯手动开发的应用运行成本要低得多,而且一切都在自己的掌握当中。”Alex 显然没理解 13 倍的产品发布速度和 1/25 的开发成本到底意味着什么。

 

他们让 Alex 出局了:因为他只相信手动编码,而不愿借助无代码/AI 的力量……而 Hamid 则收到了该公司全职工作的邀请:他将培训其他程序员,让大家结合无代码+AI 进行编码……

 

拉仇恨?!

 

Ab Advany 将这个事情分享到了 Twitter,他很好奇这样的比对会带来怎么样的结果。

 

他还在 Twitter 线程里补充道:“我朋友所在的机构有 100 多位像 Alex 这样的开发人员。现在,他们打算对老程序员做重新培训,甚至用 Hamid 这种新兵取代他们……我觉得 Hamid 这类开发者五年之后也仍然不愁工作岗位,但 Alex 所代表的群体可能会被迫跳槽或者转行。大家怎么看?”

 

案例发布后,大家对他进行了更仔细的问询:

 

网友 A:“为什么 Alex 不想使用这些工具?我从 1986 年开始编程,我就很喜欢使用 Copilot、ChatGPT 这些,它们让我的生活更轻松……”

 

Ab Advany:“你阅读完这个 Twitter 线程的话,你会看到许多传统程序员对‘为什么不使用 AI’的答复。其中比较重要的一点是,当前的 AI 有上下文限制。因此,要使其工作,我们需要进行函数式编程。”

 

网友 B:“用 GPT-4 武装的 Alex(老程序员) 会是一个更好的解决方案。难道只有我这样觉得吗?”

 

Ab Advany:“Alex 不想使用 GPT-4。他认为会产生错误的代码。特别是这意味着 Alex 需要适应 AI,而不是 AI 适应 Alex。”

 

同时 Ab Advany 也收到了非常多的反方意见:

 

“当然,对于简单的项目、网站/应用程序等,你可以得出这个结论。但对于具有更高复杂度的新颖解决方案,你不应该运行你不理解的代码,它关乎到开发者的声誉。如果它们存在安全漏洞,甚至有相关法律责任,该怎么办?”

 

“对于构建可扩展和可维护的长期关键任务项目,我会选择 Alex。”“解雇 Alex 是错误的举动。”

 

“散布这样的谎言,你能得到什么?在营销吗?此外,这样的比较甚至没有提到代码质量。将来你肯定要为质量、性能和可维护性付费。”“可能有些人真不在乎代码质量吧?”

 

……

 

不出所料,仅两天后,他发了条新推文:“我的推文引起了程序员们的强烈不满。”

 

更要命的是他的推文配图,“RIP,传统程序员”。他坚持认为大家必须更好地评估问题并选择正确的前进方向。因为太过激进,所以他得到了网友们对他进一步的评价:“真是越来越让人讨厌了!”

 



抗拒 AI 辅助编程会是一场“必败仗”吗?

 

基于大型语言模型的 AI 工具,比如 OpenAI Codex ,或来自微软的 GitHub Copilot ,亦或来自谷歌 DeepMind 的 AlphaCode,已经开始改变许多开发者的工作方式。虽然目前它们只可以用来编写代码片段、发现错误、编写注释、提供建议等,但这并不妨碍让大家见识到它的威力。

 

去年,谷歌的研究人员发现,人工智能将“编码迭代时间”减少了 6%,这份研究主要针对谷歌内部的 10,000 名开发人员。

 

GitHub 去年也调查了 2,000 名程序员,了解他们如何使用 GitHub 的 AI 编码助手 Copilot。大多数人表示 Copilot 帮助他们减少挫折感并增加成就感;88% 的人表示这提高了他们的工作效率。在报告中,GitHub 说道:“使用 Copilot 辅助编程的开发人员完成任务的速度明显更快——比不使用它的快 55%。”

 


虽然生成式 AI 模型和工具还在改进中,但一点也不影响其普及速度,越来越多的开发者开始使用它们。以 GitHub Copilot 为例,微软于 2022 年 6 月首次面向个人推出该工具时,平均有超过 27% 的开发人员代码是由 GitHub Copilot 生成的。到了今年 5 月,微软再次统计时,这个数字已经变成了 46%——而在 Java 编程语言环境中,这个数字跃升到了 61%。

 

所以 GitHub 大胆断言,“鉴于这项技术可以帮助开发者加快构建速度,所以展望未来,不采用生成式人工智能工具的科技公司将在生产力方面处于明显劣势。”

 

Ab Advany 分享的案例,也许这并不是让我们单纯地比较哪个方案更好,而是让我们明白,我们已经有了很多选择,AI、低代码等工具都可以用来解决部分问题,那么该是时候让我们再次评估如何让开发人员进一步专注于核心业务逻辑、减少底层开发、让大家更高效更轻松地工作了。

 

至于 AI 辅助编程是不是未来发展方向?这就像一位网友给 Ab Advany 的评论中那样:“纯粹的非 AI 辅助编程工程师在这里是在打一场必败仗,这很明显……现在谁会在没有 Copilot 的情况下编写代码呢?”

 

参考链接:

https://twitter.com/advany/status/1664451798793584642

https://archive.ph/o21uE#selection-819.4-819.11

https://github.blog/2022-09-07-research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness/

https://github.blog/2023-05-09-how-companies-are-boosting-productivity-with-generative-ai/


相关阅读:

GPT-4 重磅发布,吊打 ChatGPT!编程能力牛到让我睡不着:10 秒做出一个网站,1 分钟开发一个游戏

集成 GPT-4 的编程神器来了,GitHub 发布 Copilot X:编程 30 年,突然就不需要手敲代码了?!

2023-06-05 16:1123495

评论

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

HashMap源码分析(三)

知识浅谈

HashMap底层原理 10月月更

Qt|模态窗口如何实现进入页面等待加载数据效果

中国好公民st

c++ qt 10月月更

Webpack中的高级特性

Geek_02d948

webpack

你知道Redis有哪些潜在的阻塞点吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

Webpack插件核心原理

Geek_02d948

webpack

【小程序】一文读懂微信小程序登录流程及获取手机号

言程序

小程序 前端 10月月更

深入浅出--Linux基础命令知识(总结,配图文解释)

木偶

Linux ubuntu 10月月更

React源码中的dom-diff

夏天的味道123

React

Vue虚拟dom是如何被创建的

yyds2026

Vue

在线问题反馈模块实战(七):安装部署swagger2

bug菌

springboot 项目实战 10月月更

在线问题反馈模块实战(九)​:实现图片上传功能(下)

bug菌

springboot 项目实战 10月月更

深度解读Webpack中的loader原理

Geek_02d948

webpack

CentOS 上安装 Sonatype Nexus 仓库

HoneyMoose

【资损】资损防控的系统规范-收单类服务设计

小明Java问道之路

架构 安全 金融 10月月更 资损

Vue中的diff算法深度解析

yyds2026

Vue

在线问题反馈模块实战(八)​:实现图片上传功能(上)

bug菌

springboot 项目实战 10月月更

Webpack中的plugin插件机制

Geek_02d948

webpack

Visual Studio (VS2017)提交代码到Git服务器流程(GitCode)

DS小龙哥

10月月更

从零到一搭建一个属于自己的博客系统(弌)

木偶

django 前端 10月月更

“程”风破浪的开发者|慢慢踏上算法学习之旅

Aion

学习方法 算法 10月月更 “程”风破浪的开发者

CentOS部署Harbor镜像仓库

程序员欣宸

Docker 10月月更 habor

IP报文在阿里云上的神奇之旅:同地域内云上通信

阿里技术

通信 IP 路由

【一Go到底】第二十一天---defer

指剑

Go golang 10月月更

Sonatype Nexus 管理员初始密码

HoneyMoose

Webpack完整打包流程分析

Geek_02d948

webpack

“程”风破浪的开发者|镜像仓库迁移的方法

琦彦

学习方法 Harbor 10月月更 “程”风破浪的开发者

数据量剧增怎么办?Redis切片集群了解一下

芥末拌个饭吧

后端 redis 底层原理 10月月更

Python继承还不会,看这篇就够了

芥末拌个饭吧

继承 python 3.5+ 10月月更

Fabric8 Docker Maven Plugin 如何让部署的时候执行 Docker 打包推送

HoneyMoose

Maven docker-maven-plugin 插件 Push 413 错误

HoneyMoose

ScheduledThreadPoolExecutor踩过最痛的坑

小小怪下士

Java 程序员

抗拒使用GPT-4和Copilot写代码,拥有19年编程经验的老程序员“面试”被淘汰_语言 & 开发_Tina_InfoQ精选文章