50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

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

关注

评论 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 · 浙江
回复
没有更多了
发现更多内容

稳定币迎来ChatGPT 时刻,如何驱动DeCloud?

PowerVerse

defi 稳定币 DeCloud

金仓数据库:在网信领域持续打造有竞争力的产业生态

科技热闻

谷歌云 | AI驱动医疗健康变革:智能代理、增强搜索与关键平台深度解读

Cloud Ace 云一

人工智能 生命科学 谷歌云 健康医疗

企业级私有化部署,内部聊天软件

BeeWorks

即时通讯 IM 私有化部署 企业级应用

文献解读-The chromosome-scale genome of the raccoon dog: Insights into its evolutionary characteristics

INSVAST

生物信息学 Sentieon 变异检测 全基因组测序 生物信息分析服务

Msty一键搞定:让Qwen3带着知识库在你的电脑上奔跑

JustYan

人工智能 本地部署 RAG知识库 Qwen3

Java 开发效率天花板被打破!飞算 JavaAI 如何做到「代码生成即生产级」?

飞算JavaAI开发助手

最佳实践:RunnerGo API性能测试实战与高并发调优

数据追梦人

SQLShift 全新上线:Oracle→OceanBase 迁移利器

爱可生开源社区

oracle dba 存储过程 oceanbase

通义灵码 CCF 算法大会首秀,解码研发智能落地「黄金三角」| 文末领取PPT

阿里云云效

阿里云 云原生 通义灵码

iVX 引领软件开发进入 “可视化逻辑时代”

代码制造者

实力 “出圈”:龙蜥新增多个行业标杆,富滇银行、小红书、国网蒙东电力等在列

OpenAnolis小助手

操作系统 龙蜥社区 OpenAnolis

什么是DNS缓存?怎么清理DNS缓存?

国科云

通义灵码 CCF 算法大会首秀,解码研发智能落地「黄金三角」| 文末领取PPT

阿里巴巴云原生

阿里云 云原生 通义灵码

蚂蚁数科发布金融智能体开发平台Agentar 内测上线超百个金融MCP服务

Lily

自己写插件-实现时间戳自由

京东科技开发者

45分钟从零搭建私有MaaS平台和生产级的Qwen3模型服务

GPUStack

大模型 模型推理 Qwen GPU集群 Qwen3

数据可溯破局!iVX 可视化调试如何改写 AI 编程规则

代码制造者

AI编程

局域网视频会议软件BeeWorks Meet

BeeWorks

即时通讯 IM 私有化部署 局域网视频软件

详细剖析Java动态线程池的扩容以及缩容操作

电子尖叫食人鱼

Java

中国联通网络资源湖仓一体应用实践

Apache Flink

大数据 flink 实时计算 实时湖仓 实时分析

呼声超高的 TiDB 性能调优最佳实践来啦,这些“绝招”让你事半功倍!5 月 29 日,TiDB vs MySQL 线上 Meetup 第四期,欢迎 TiDBer 们参与!转发海报参与 TiDB Chaos Mesh 马克杯抽奖!

TiDB 社区干货传送门

MySQL 数据库 SQL优化 TiDB

云交易技术对接全景

京东科技开发者

国内首个「混合推理模型」Qwen3深夜开源,盘点它的N种对接方式!

王磊

深入解析 Spring AI 系列:解析函数调用

不在线第一只蜗牛

人工智能 spring

怎么用drawio一键生成图表?drawio必备的使用技巧盘点!

职场工具箱

人工智能 drawio 办公软件 AIGC Ai绘图

一文搞懂国际化:架构设计

量贩潮汐·WholesaleTide

架构 国际化

龙蜥大讲堂浪潮信息专场精彩预告来袭,解锁AI解决方案、安全、eBPF等技术新进展

OpenAnolis小助手

操作系统 龙蜥社区 龙蜥大讲堂 OpenAnolis

点面结合发展 龙蜥社区第 32 次运营委员会会议圆满结束

OpenAnolis小助手

开源 操作系统 龙蜥社区 OpenAnolis

A2A与MCP:理解它们的区别以及何时使用

数据追梦人

Taro on Harmony :助力业务高效开发纯血鸿蒙应用

京东科技开发者

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