阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

AI 编程成本只有人类程序员的万分之一,速度却快了 10000 倍,再雇人类来写代码就离了大谱?

  • 2023-02-02
    北京
  • 本文字数:2672 字

    阅读完需:约 9 分钟

AI编程成本只有人类程序员的万分之一,速度却快了10000倍,再雇人类来写代码就离了大谱?

人工智能将变得非常非常擅长编写代码,其成本只有人类的几千分之一乃至几万分之一,这对软件行业意味着什么?


本文是我最近的 CACM 文章《编程的终结》的姊妹篇。在那篇文章中我讨论了当编写代码这项工作被训练出来的 AI 取代时会发生什么事情。在这一篇文章中,我要研究的是 AI 在不久之后变得非常擅长为我们编写软件的话,会给我们带来哪些影响。


很明显,用于生成、调试和重构代码的 AI 在未来几年只会变得非常出色。我不认为这个结论有什么争议,但为了支持这个论点我提两点:(1)CoPilot 在给定适当的上下文和提示的情况下生成的新代码已经非常棒了;(2)让 CoPilot 的性能提升一个数量级之 u 需要更多数据和更大的模型即可。


在频繁使用 CoPilot 之前,我认为它只会鹦鹉学舌地给出相当于本科家庭作业水平的玩具解决方案。结果我发现,在实践中 CoPilot 能更频繁地读懂我的想法,出乎意料。比如说我要写一个单元测试,或写几行代码来处理一些数据结构或其他什么东西——CoPilot 就能神奇地写出我准备打出来的代码,太惊人了。

那么,当 AI 的代码生成能力比现在好 100 倍时会发生什么呢?

在 0.001 秒内 把 PRD 变成代码


我听到有很多人怀疑 AI 编写代码、审查代码或修复错误的能力——他们觉得这是很难解决的问题,而且 AI 工具目前表现不佳,以后也不会有什么改善。我认为这是一个典型的例子,说明人类真的很不擅长依据最近的数据点来判断问题。


我的猜测是,在不久的将来——也许是 3 年——我们将有可能指示 AI 获取软件的高级自然语言规范——比如说 PRD,或错误报告,或者一个 Slack 帖子——并从中生成“非常棒”的代码。“非常棒”是什么意思?首先我们来认真思考一下典型的人类开发团队生成的代码质量。我曾在谷歌和苹果这样的地方工作过,其实那里的代码质量并不总是最好的。即使在谷歌,代码审查是一种信仰,风格指南是福音书,每个团队的代码都接受审查,有时甚至被公司其他工程师找出漏洞——我也得承认,这样的地方也会有很多糟糕的代码。


我们需要摒弃这样一种想法,就是认为人类软件团队只要投入足够的时间和精力,就可以在某种程度上编写出正确且高性能的代码。其实在任何重要的软件项目中都不是这样的。在现实世界中,我们容忍了人类生产的软件中的大量草率和错误,那么为什么要对人工智能生成的代码设定不一样的期望呢?


到 2026 年,我们是否能完全信任 AI,可以让它在没有人类的任何输入的情况下喷出代码呢?可能暂时不会,但还好我们可以让人类审查人工智能生成的代码,并对其进行迭代(在人工智能的帮助下)。即使 AI 生成的代码比人类编写的代码更难审查,这也比依赖手速较慢的人类来编写代码有着更好的成本效益和时间效率。


人工智能比人类便宜得多。


人工智能驱动的“软件团队”需要多少钱?


我们可以使用 GPT-3 davinci 模型的当前定价——0.02 美元 /1K token——作为一个保守的基准(这个价格肯定会随着时间的推移而下降)。假设一名典型的人类软件工程师每天输出大约 100 行 cheked in 的新代码或更改代码。(我没有计算所有从未落在主分支上的废弃或实验代码。)是的,这个数字完全是虚构的,但即使我偏离了 10 倍,甚至 100 倍,我的观点也依旧成立。一个典型的源代码行大约有 10 个 token,因此相当于每天大约 1,000 个 token。


(为了进一步说明这一点,我从我们的代码库中提取了一个典型的源文件,该文件由几百行非常紧凑的 Python 代码组成,并使用 OpenAI 的 Codex tokenizer 对其做了 token 分析,结果平均每行产生 9.55 个 token。所以我猜一行 10 个 token 应该是个合理的估计。)


GPT-3 按输入和输出 token 计费,所以为了论证,我们假设未来 CoPilot 支持的软件创建代理的输入上下文将是最终代码输出大小的 5 倍。这相当于 5,000 个输入 token 加上上述 1,000 个输出 token,总共 6,000 个。换句话说,使用 GPT-3,以其当前的价格,生成与人类工程师一天相同数量的代码的成本高达 0.12 美元。


一名人类软件工程师每天要花多少钱?好吧,如果他们喝的健怡可乐和我一样多,那就已经超过 12 美分了。保守地假设年度总成本为 30 万美元(包括工资、福利、健怡可乐、停车场),一个自然年大约有 250 个工作日,算下来一名典型的软件工程师每天的成本约为 1200 美元,换句话说是 AI 的超过 1 万倍成本,做的却是相同的工作。


如果一个 AI 生成的代码水平与人类工程师大致相当,成本只有后者万分之一,而输出代码的速度要快大约 10,000 倍——也就是说大约 1 亿倍的成本效率——那我以后都会选择 AI 来干活儿了。这还只是取代了一名人类工程师的结果。(抱歉,前端团队的 Rob,你已经被自动化取代了!)一旦 AI 变得足够好,你再雇人类来写代码不就很离谱了吗。


编程艺术发生了什么变化?


哪怕上面的说法夸张了十倍,你也能看出来软件工程师是一个濒临灭绝的物种。但是,如果开发计算机软件的艺术和科学不再有人类参与,它们会发生什么变化呢?


任何软件系统都需要在代码复杂性、通用性、性能和完成时间方面做出权衡。因此,即使我们解雇了所有开发人员并用 CoPilot 2030 取而代之,我们仍然需要一种方法让(可能仍然是人类?)PM 和基于 AI 的开发团队在产品构建时就做好沟通,做出权衡,选择一个软件解决方案。


等等……我到底在说什么?!?如果编写代码的 AI,谁在乎它需要多长时间呢——无论你要求 AI 做什么,结果都是即时的。你可以获得完全通用的高性能解决方案,所需时间与人类生成粗略原型所需的时间是一样短的。于是代码的复杂程度无关紧要了,因为它不再需要传统意义上的可维护性了。如果你在星期二发布的代码在星期三没有很好地完成工作,只需启动 AI 并在几秒钟内做出来 1000 个新版本就搞定了。


关键是,当人类不再编写和维护代码时,我们所有以人为中心的软件工程艺术概念都会消失。作为程序员,我们所做的很多事情——花费最多时间的事情——都是为了让缓慢且容易出错的人类更容易做事而设计的:编写注释、为了方便以后的重构写下的代码、让代码更通用从而可复用的设计,等等。问题是,如果代码变成了主要由机器生成和维护,那么所有这些“额外”工作都是完全没有必要的。


显然,AI 编程技术要达到这一点还有很长的路要走,但我认为 AI 生成的代码在未来几年内成为常态这个预想并不怎么离谱。考虑到节约的大量成本和时间,就像 Stable Diffusion 冲击艺术界一样,类似的事件很可能很快就会冲击软件工业。我们需要弄清楚的是,后 AI 软件行业会是什么样子,以及我们现在可以做些什么来为此做好准备。


原文链接:


https://mdwdotla.medium.com/hey-lets-fire-all-the-devs-and-replace-them-with-ai-8a0c3011d12

公众号推荐:

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

2023-02-02 00:009259
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 492.9 次阅读, 收获喜欢 1966 次。

关注

评论 5 条评论

发布
用户头像
想起流浪地球中可以生成底层操作系统代码的 550W
2023-02-08 11:22 · 辽宁
回复
用户头像
AI提供后期的软件维护、架构升级、漏洞修复、需求功能变更、人员沟通、使用培训和技术支持吗?
2023-02-07 11:05 · 北京
回复
用户头像
没有使用就没有发言权,在体验了一个月的 chatGPT 后,我只能说用来写文章或者论文不错。用来当知识百科也很赞,有时候真的希望能实体产品化,加入 TTS 的技术和行走移动的功能真的就是一个智能家庭助理了。但是一说的编程,我想说还是醒醒吧,基本的入门还行,真的设计复杂业务处理,我只想说连:“小明的妈妈比小明大20岁,10年后小明的妈妈比小明大多少岁”这样的问题都回答不出来的 AI,你指望它能替代程序员?
2023-02-07 09:19 · 广东
回复
用户头像
软件行业里面,最不重要的就是生成代码了
2023-02-03 12:01 · 湖北
回复
用户头像
一名典型的软件工程师每天的成本约为1200美元
2023-02-03 10:52 · 浙江
回复
没有更多了
发现更多内容

BFS/DFS/DP 算法案例 LeetCode题目:传递信息

OpenHacker

LeetCode 动态规划 深度优先搜索 算法解析 广度优先搜素

新思科技最新报告显示97%的应用存在漏洞

InfoQ_434670063458

新思科技 应用安全

NFT盲盒商城游戏系统开发技术

薇電13242772558

NFT

C++学习网站

C语言与CPP编程

c++

用 python selenium 爬简书,Python自动化领域之 Selenium WebDriver 学习第2篇

梦想橡皮擦

Python 3月月更

联通实时计算平台演进与实践

Apache Flink

大数据 flink 开源 编程 实时计算

大数据培训_文科生的你到底适不适合学习编程

@零度

大数据开发 培训学习

虎符研究院关于 Manta Network平行链解决方案的分享

区块链前沿News

虎符交易所 币圈后浪

一文带你看懂HarmonyOS应用上架

HarmonyOS开发者

HarmonyOS 应用开发

应用数仓ODBC前,这些问题你需要先了解一下

华为云开发者联盟

数据库 GaussDB(DWS) 驱动 ODBC 驱动管理器

低代码平台设计探索,如何更好赋能开发者

雯雯写代码

低代码 开发平台 开发者,

2021年中国收藏玩具行业市场洞察分析

易观分析

盲盒 潮玩

融云 IM 在 Electron 平台上的设计实践

融云 RongCloud

用好这28个工具,开发效率爆涨|云效工程师指北

阿里云云效

云计算 阿里云 云原生 研发工具 研发

赋能金融领域,国密改造让安全合规更加牢固

电子信息发烧客

安全

数据系统提供商极道科技加入龙蜥社区

OpenAnolis小助手

Linux 开源 数据系统

Python 中 base64 编码与解码

AlwaysBeta

Python 程序员 编程语言 base64

活动预告 | DataOps + MLOps Meetup

第四范式开发者社区

人工智能 机器学习 开源 DevOps MLOps

星环科技ArgoDB 3.2正式发布,全面升级易用性、性能和安全

星环科技

数据库

云原生时代,政企混合云场景IT监控和诊断的难点和应对之道

华为云开发者联盟

微服务架构 混合云 华为云Stack IT监控 SDN网络

星环 KunDB 2.2 发布,为高并发事务与查询混合的业务系统提供一个新选择

星环科技

数据库

跨团队协作:提高团队生产力的 7 种策略

小炮

团队管理 知识管理 团队协作 办公效率

组件简介 - 大屏云极简使用手册

shulinwu

数据可视化 大屏可视化 智慧大屏可视化 大屏

布局说明 - 大屏云极简使用手册

shulinwu

可视化 数据可视化 大屏可视化 智慧大屏可视化 大屏

Nebula Graph 的 KV 存储分离原理和性能测评

NebulaGraph

图数据库 分布式图数据库

数据可视化大屏 - 大屏云极简使用手册

shulinwu

可视化 数据可视化 大屏可视化 智慧大屏可视化 大屏

易观分析对《关于银行业保险业数字化转型的指导意见》的解读

易观分析

银行 数字化

徐徐春风迎3月,月度更文活动准点发车啦!

InfoQ写作社区官方

3月程序媛福利 3月月更 热门活动

“碳中和”背后的创新科技!

青云技术社区

云计算 碳中和

Android包体积优化上篇- 资源混淆优化

百度Geek说

百度 前端 后端 优化 包体积

vivo全球商城全球化演进之路—多语言解决方案

vivo互联网技术

架构 后端 服务器

AI编程成本只有人类程序员的万分之一,速度却快了10000倍,再雇人类来写代码就离了大谱?_AI&大模型_Matt Welsh_InfoQ精选文章