代码自动生成Codex引发程序员恐慌?OpenAI:不信谣,不传谣

新闻 前端
随着 OpenAI 发布了强力代码自动生成模型 Codex,这种问题始终困扰着大家,但程序员失业那天也许还要很远很远。

随着程序员不断解放各个纯机械劳动的领域,现在失业的终于轮到程序员自己了吗?随着 OpenAI 发布了强力代码自动生成模型 Codex,这种问题始终困扰着大家,但程序员失业那天也许还要很远很远。

  今年夏天,人工智能公司 OpenAI 发布了 Codex,只需简单的提示就可以用自然语言自动编写软件代码。

  也就是说,你可以作为产品经理,给 Codex 提出各种需求,他就会给你生成一份代码。

  Codex 基于 GPT-3 进行训练,而 GPT-3 使用了在 2019 年之前对互联网上几乎所有公开的书面文本进行训练,所以它对于自然语言是有一定理解能力的。

  关于 Codex,最常见的问题是「人类程序员会被它取代吗?就像其他手工业被消灭掉一样。」

  因为各个国家在培训新的软件开发人员上都不遗余力,如果一下子人类程序员就被取代了,那投入的几十亿美元瞬间就成为泡影,所有的努力也都会付之东流。

  如果你是一名软件开发人员,或者你已经高价聘请了许多程序员,那你大可以放心。尽管 Codex 比人类更强大、高效和专注,但要说取代,可能那一天还远远没有到来。

  一个资深程序员分享了一段经历,几年前他与美国一家大型咨询公司的一位高级数据科学家(工资非常高)和软件开发人员一起参与了一个政府数据库项目。他们的任务是了解一个国家机构如何使用其数据库向各组织分配赠款,然后就如何改进数据库向该机构提出建议。

  当他第一次开始与开发人员同事合作时,对程序员的工作方式有很多先入为主的想法,例如会想象程序员整天蜷缩在笔记本电脑前敲打代码,或者用 Mathematica 编写精彩的公式来帮助我们更好地理解客户的数据库。或者在 windows 上用漂亮的思维方式疯狂地涂鸦,回归分析,以及在屏幕前花费大量时间,编写数千行 Python 代码。

  然而事实与想象截然相反,程序员与客户坐下来面对面交流,花几天时间了解他们的赠款发放流程,然后开始一系列数据约定,还包括与个别工作人员、利益相关者、机构成员等的会晤。

  经过几个月的这类工作,他终于坐下来分析该机构的数据,使用R和各种图形库。实际的写代码和分析只花了整整两天的时间。他的分析结果很准确,他的程序运行得很好,客户也非常激动。

  所以说实际上编写代码和运行分析只占用了程序员大约1% 的时间。剩下的时间用于与客户合作,了解他们的问题,确定要使用的正确软件和数学模型,收集和清理实际数据,并展示结果。在大多数情况下,写代码和数学本身是软件开发过程中很小的、几乎是死记硬背的一部分。

  当然1% 属于比较极端的例子。根据 TechRepublic 的说法,实际编写代码通常只占软件开发人员时间的不到一半,在许多情况下,只占 20%。

  这意味着,即使像 Codex 这样的系统工作得很好,它们也将取代典型人类软件开发人员最多一半的工作,而且通常不到四分之一。除非有人训练 Codex 与客户坐下来,赢得他们的信任,理解他们的问题,并将这些问题分解为可解决的组件,否则 Codex 很难威胁到熟练的开发人员。

  也就是说,一个非编码人员能够坐下来与 Codex 合作,编写一份规格表,并制作出一个软件的日子还很遥远。

  OpenAI 的研究人员在公布 Codex 的论文中也承认了这一点。

  用他们的话来说就是,工程师不会花一整天的时间写代码,相反,他们会把大部分时间花在诸如与同事讨论、编写设计规范和升级现有软件技术栈之类的任务上。

  Codex 的创建者认为该系统可以让开发人员更快地编写好代码。如果说与替代程序员这件事有什么不同的话,他们认为自动化与软件开发相关的繁重工作将为更多的人服务。

  它也可能创造一个新的专业:提示工程(prompt engineering),这是一个制作文本提示的复杂过程,让 Codex 等人工智能系统发挥其魔力。

  但其他人则不那么肯定。

  Wired 杂志的记者 Steven Levy 认为,Codex 可能不会作为一个代码生成工具,而是一个辅助代码生成工具。如果这能让每个开发者的效率大大提高,公司可能会决定,他们可以用更少的开发者。如果一个项目以前可能需要 10 名开发人员,那么如果这些开发人员得到 Codex 或类似 AI 系统的协助,则可能只需要 8 名开发人员,从而导致两个工作岗位的净损失。

  也许有一天这是真的,但那一天不会很快到来。

  考虑到 2020 年全球对开发者的需求增长了 25%,尽管出现了流感大流行,但像 Codex 这样的系统对就业的真正威胁似乎很小,至少目前是这样。如果说有什么区别的话,允许顶级公司用更少的开发人员生存可能会使这些开发人员能够为中端公司或初创公司所用,从而在技术生态系统的各个层面上都能产生更好的软件。

  目前,初创公司往往难以吸引有才华的开发人员。如果谷歌和 facebook 在世界范围内挖走的顶尖开发者更少,那么新兴的创新型公司可能会拥有更多的顶尖人才。

  同样重要的是,所有这些都是基于这样一个想法,即 Codex 或类似它的系统可以像人类软件开发人员一样编写代码。

  而目前,他还远远没有那个能力。

  OpenAI 承认,在发布时,Codex 的代码有 63% 的时间存在错误或根本无法工作。即使在 37% 的时间里编写完美的代码对机器来说也是一件困难的事。但是,一个非编码人员能够坐下来与 Codex 合作,编写一份规格表,并完成一个软件工作件的那一天仍然遥不可及。

  Github 推出的 Copilot 就是由 Codex 提供的技术支持,工作方式类似于代码自动更正,提供代码来完成整个功能,或者作为开发人员自动填充重复代码。

  不过在航空业,副驾驶(Copilot)是一名完全合格的飞行员,如果需要,他可以从机长手中接管飞机的控制权。另一方面,自动驾驶仪可以在某些情况下自动驾驶飞机(如直线和水平巡航),但在情况不稳定时(如在恶劣天气着陆时),必须将控制权交给人类飞行员。

  GitHub 的副驾驶更像是自动驾驶仪,而不是真正的副驾驶。当任务简单且重复时,它可以自己编写代码,但一旦任务变得更复杂,就需要人工干预。

  Github 在其关于副产品的页面上说:“作为开发人员,你永远是负责人。”

  在给定的商业航班上,飞机可能 90% 的时间处于自动驾驶状态。但至关重要的是人类飞行员总是在监督系统。如果没有他们 10% 的贡献,飞机就会频繁坠毁。

  除非 Codex 在未来几年内大幅改善,否则人类软件开发人员的工作是安全的。如果你是一名开发人员,复习一下诸如快速工程之类的技能,并申请使用诸如 Copilot 和 Codex 之类的系统,这样你就可以获得使用它们的早期经验。

  像 Codex 这样的系统在与熟练的开发人员较量时可能会失败。

  但随着 Codex 及其同类产品的改进,通过将自身技能与先进人工智能相结合很可能成为一股强大的、也许是不可阻挡的技术力量。

 

责任编辑:张燕妮 来源: 新智元
相关推荐

2015-08-25 15:54:17

程序员代码生成器

2021-03-08 08:42:05

程序员技术体力劳动

2023-03-29 09:44:37

OpenAI编程工具

2020-08-27 16:43:23

程序员加班工作

2021-01-28 15:16:09

程序员技能开发者

2013-04-18 09:55:05

程序员

2013-06-28 13:28:09

2020-11-17 10:10:45

程序员技能开发者

2011-11-18 13:44:40

2017-03-13 09:07:05

测定代码基因

2010-08-11 09:51:28

Flex代码

2019-07-25 15:29:26

程序员电脑Google

2013-07-10 10:30:12

程序员开发

2019-09-12 10:00:57

程序员技能开发者

2010-11-18 15:34:41

QQ助手微博腾讯

2012-03-06 09:22:46

程序员

2013-08-20 09:33:59

程序员

2019-01-02 07:50:02

程序员技能代码

2021-04-14 09:50:48

零日漏洞漏洞网络安全

2019-09-19 14:28:14

程序员分布式系统
点赞
收藏

51CTO技术栈公众号