NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

抗拒使用 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 年,突然就不需要手敲代码了?!

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-06-05 16:1113688

评论

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

Neo4j执行计划

脚动两轮男之漂流小王子

游戏夜读 | 数据整理的难题?

game1night

招联金融助力经济复苏 致力成为“智慧生活的消费金融专家”

极客编

1分钱秒杀!疫情季,如何为孩子的升学保驾护航?

极客编

DDD 实践手册(番外篇: 事件风暴-实践)

Joshua

领域驱动设计 DDD 事件风暴 事件驱动 Event Storming

《从0到1学习Flink》—— Flink JobManager 高可用性配置

zhisheng

大数据 flink 流计算

2020年4月云主机性能评测报告

博睿数据

云计算 百度云 ucloud 性能测试 公有云

北大学子手写实现《统计学习方法》书中全部算法!

GitHubDaily

人工智能 GitHub 学习 程序员

H2 的全文检索功能

Page

全文检索 lucene H2 内存数据库

Flink 从0到1学习 —— 如何使用 Side Output 来分流?

zhisheng

大数据 flink 流计算

如何参与开源项目

郭旭东

GitHub 开源

职场提问的“唐太宗”原则

大伟

Flink 从0到1学习—— 分享四本 Flink 国外的书和二十多篇 Paper 论文

zhisheng

大数据 flink 流计算

Deno会在短期内取代Node吗?

葡萄城技术团队

node.js SpreadJS deno

那个业务大拿死在了这个地方

小眼睛聊技术

Java 学习 高效工作 程序员 个人成长

k8s上运行我们的springboot服务之——k8s 1.16.0安装

柠檬

k8s

露营之美,在乎山水之间也

李冬梅

JVM源码分析之堆内存的初始化

猿灯塔

《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍

zhisheng

大数据 flink 流计算

《从0到1学习Flink》—— 你上传的 jar 包藏到哪里去了?

zhisheng

大数据 flink 流计算

Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)

donghui

DevOps jenkins jenkins-plugin

Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)

donghui

DevOps jenkins jenkins-plugin

一文搞懂RSA算法

somenzz

Flink 从0到1学习—— Flink 不可以连续 Split(分流)?

zhisheng

大数据 flink 流计算

重学 Java 设计模式:实战工厂方法模式

小傅哥

设计模式 小傅哥 重构 架构设计 工厂模式

k8s上运行我们的springboot服务之——上传服务到docker私服

柠檬

Docker springboot

如果你想做汽车开发,请先看看这篇。

水滴

自动驾驶 软件开发 开发

聊一聊采访外籍人员时需要注意的几点事项

李冬梅

态度 体验 感悟

你不知道的JSON.stringify(上)

前端黑板报

Java json

k8s上运行我们的springboot服务之——在linux安装docker并搭建docker私服

柠檬

Docker k8s

奈学教育分享:Hadoop分布式系统HDFS工作原理

奈学教育

hadoop hdfs 分布式

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