0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AI会让程序员职业消失吗

云脑智库 来源:云脑智库 2023-02-13 14:33 次阅读

程序员这个职业会消失吗?OpenAI的大型语言模型GPT-3展现出了由简单书面指令创建HTML网站的能力,震惊了所有人,此后这个问题就一直在计算机编程社区广受关注。

那之后的几个月里,飞速的发展使系统能够根据自然语言(口头或书面人类语言)描述来编写简单但完整的计算机程序,还可以实现自动化辅助编程,提高计算机程序员的工作速度。人工智能(AI)将在多大程度上取代或扩展人类程序员的工作?

根据《科技纵览》咨询专家的看法,坏消息是我们当今所知道的编程确实可能会消失。但好消息是,在可预见的未来,计算机编程和软件开发仍将是一项需要人来完成的工作。同时,AI自动代码生成系统将在更短的时间编写更多的代码,加快软件开发速度。

这些专家表示,如果有人想要成为软件开发者,他们并不一定需要学习某种编程语言。虽然向自然语言编程转换的时限仍然没有明确的答案,但预计这个方向在几年内将有重要发展,而不会是几十年。这些未来的程序员将不需要学习C++Python或Ruby,而是需要理解构建计算机程序的语义学、概念和逻辑序列。软件开发将向更广泛、更多样化的人群开放。

亚马逊副总裁、机器学习和AI总经理瓦西•菲洛明(Vasi Philomin)说:“我不认为AI会取代人类开发者。”同时他补充道,AI工具会将程序员从常规任务中解放出来,但程序员依然会保留创造性的计算机编程工作。

电子计算机的编程始于20世纪40年代,当时程序员用数字机器代码编写程序。直到1950年代中期,格蕾丝•霍珀(Grace Hopper)和她的团队在雷明顿•兰德公司开发出Flow-Matic,借助这种语言,程序员可用受限的英语词汇来编写程序。

从那之后,编程就迈上了一个新台阶,程序语言的效率越来越高,程序员的工作效率也在提高。

AI编程是如今的前沿运动,将允许人们在编写软件时完全不用编码,目前,通过Akkio等平台,人们已经可以使用简单的拖放和按钮点击功能来构建机器学习模型。微软的Power Platform包含了一系列低代码产品,用户只需要通过描述即可生成简单的应用程序。

2022年6月,亚马逊发布了面向程序员的编码助手CodeWhisperer,它与GitHub在2021年6月首次发布的限量预览版Copilot类似。这两款工具都以经过大规模代码资源库训练的大型语言模型(LLM)为基础。在程序员编写代码时,程序能够提供自动完成的建议,或根据简单的自然语言短语给出可执行指令建议。

不过,要想在自动完成的基础上更进一步,还要解决向计算机传授意图的问题。软件需求本身并不总是精准的标志;众所周知,自然语言自身也是不精确的。

“要解决英语书写技术规范中的所有歧义,需要越来越高的精准度,也需要进行人机对话。”Diffblue的联合创始人彼得•施拉梅尔(Peter Schrammel)说。Diffblue可自动编写Java测试单元。

最近,为了解决这些问题,微软的研究人员计划在基于LLM的代码生成系统中添加一个反馈机制,在生成代码之前,让计算机询问程序员,从而澄清歧义。

名为TiCoder的交互式系统则尝试使用迭代反馈,进而推测程序员的算法意图,然后生成与表达意图一致的代码。

根据研究人员的论文,TiCoder采用主要基础编程问题(MBPP)基准进行评估,能够将自动生成代码的准确率从48%提高到85%。MBPP由入门级程序员也能解决的Python编程问题组成,旨在评估机器生成的代码。

一个代码单元可以长达几百行,是程序可独立维护和执行的最小部分。一套单元测试通常包含几十个单元测试,用于检查单元是否按预期执行;当将单元堆叠在一起时,程序就可工作了。

Diffblue的一项调查表明,开发人员有约35%的时间用于编写质量控制测试代码,而不是编写用于生产的代码,因此实现这部分工作的自动化将显著提高生产率。

单元测试适用于调试单个功能函数,以及检测人工修改代码的错误;同时,单元测试也可作为代码单元的技术规范,用来指导程序员。不过真正追求测试驱动开发的程序员并不多,测试驱动开发时要先编写单元测试,有时也会同时编写单元测试和代码单元。

GitHub的Copilot、亚马逊的CodeWhisperer和AI编程助手包都可以用作编写单元测试的交互式自动完成工具。程序员得到建议后,可以选择自己认为效果最好的一个。Diffblue的系统名为Diffblue Cover,它使用强化学习来自动编写单元测试,不需要人工干预。

2022年早些时候,位于英国的谷歌人工智能实验室DeepMind采用AlphaCode在全自动代码生成方面向前迈进了一步。AlphaCode是一种能够根据自然语言指令编写简单计算机程序的大型语言模型。

该模型首先经过了GitHub的在线代码库的训练,直到能够生成看起来合理的代码。为了优化调整该模型,DeepMind使用了1.5万对数据,每对数据包含自然语言问题描述和以往编程竞赛中的成功代码方案,创建一个专用的输入-输出样本数据资源库。

最后一步是生成多种解决方案,并使用筛选算法选择最佳方案。“我们通过语言模型进行大约100万次取样,创建了很多不同的程序可能性。”领导DeepMind深度学习团队的奥利奥尔•温亚尔斯(Oriol Vinyals)说。

温亚尔斯说,为了优化样本选择过程,DeepMind使用一种聚类算法将有效的解决方案分组,选出与人类程序员编写的解决方案效果一样的候选方案。

为了测试该系统,DeepMind提交了10个由AlphaCode编写的程序,参与热门平台Codeforces上的程序员编程竞赛,其方案排名前54%。

“要生成一个程序,只需用自然语言编写,不用编写代码,然后另一端就能得到解决方案?”温亚尔斯在最近的一次采访中反问道,“我认为是这样。”

温亚尔斯和其他人提醒道,要实现该目标还需要时间,可能需要几十年。“对于任意一个复杂的计算机程序,只要向计算机提出需求,就能自动完成编码,我们距离这样的场景还很遥远。”Landing AI的创始人兼首席执行官吴恩达说,他是AI领域的先驱人物,也是谷歌大脑的创始人。

不过,考虑到AI代码生成在短短几年的发展速度,AI系统最终能够根据自然语言指令编写代码似乎是不可避免的。手动编程软件开发将越来越像“手打毛衣”。

要向计算机发出自然语言指令,开发人员仍然需要理解一些逻辑和功能概念以及如何组建程序。即使不学习特定的编程语言或编写计算机代码,他们也还是需要学习基础编程。反过来,这会让更广泛的程序员创造更多、更多样化的软件。

“我不认为AI会取代人类开发者。”亚马逊的菲洛明说,“它将把人从不得不做的单调、样板式工作中解放出来,使其专注于价值更高的事情。”

Diffblue的施拉梅尔也赞同AI自动代码生成将让软件开发人员专注于更难、更具创意性的任务。但他补充道,至少还需要进行一次交互,让人确认机器理解了人的意图。

“软件开发人员不会因为被自动化工具取代而失业。”他说,“总是有很多软件需要编写。”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    26464

    浏览量

    264090
  • 程序员
    +关注

    关注

    4

    文章

    931

    浏览量

    29572
  • 机器学习
    +关注

    关注

    66

    文章

    8132

    浏览量

    130573

原文标题:人工智能正在改变编程工作

文章出处:【微信号:CloudBrain-TT,微信公众号:云脑智库】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    程序员消失”,李彦宏/黄仁勋都赞同,三大方向可“自救”

    电子发烧友网报道(文/吴子鹏)日前,百度创始人、董事长兼首席执行官李彦宏在央视《对话》•开年说的访谈中表示,以后其实不会存在“程序员”这种职业了,因为只要会说话,人人都会具备程序员的能力。“未来
    的头像 发表于 03-12 00:18 2805次阅读
    “<b class='flag-5'>程序员</b>将<b class='flag-5'>消失</b>”,李彦宏/黄仁勋都赞同,三大方向可“自救”

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员薪资
    发表于 03-06 21:32

    感觉我国的程序员前景一片灰暗,是这样吗?

    程序员也分为好几等,在现在看来大部分的Android、Java、前端等等开发。已经看不到希望了,很多人都在边缘挣扎;刚看到一位Android开发者,过完年回公司就通知被裁;可见每年都会有很多互联网
    发表于 02-20 20:52

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    的用户。从而导致Android、ios等市场减少,开发从业者逐渐减少。而我们程序员现在最好的办法就是进军“鸿蒙圈”,鸿蒙生态不仅包括了鸿蒙应用层,还有鸿蒙生态圈:智能家居、车载、家电、数码、硬件等等开发
    发表于 01-16 22:13

    程序员表白程序

    电子发烧友网站提供《程序员表白程序.rar》资料免费下载
    发表于 11-21 10:41 0次下载
    <b class='flag-5'>程序员</b>表白<b class='flag-5'>程序</b>

    程序员节 | 今年程序员们都想要的礼物竟然是……

    原文标题:程序员节 | 今年程序员们都想要的礼物竟然是…… 文章出处:【微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 10-24 10:35 269次阅读
    <b class='flag-5'>程序员</b>节 | 今年<b class='flag-5'>程序员</b>们都想要的礼物竟然是……

    移植ARM DHCP服务器版本1程序员指南

    这本书由ARM DHCP服务器服务器软件提供, 假定ARM DHCP服务器移植源可以作为参考, 也假设您可以访问程序员的 C 和 ARM 组装语言指南。 本程序员指南是为有经验的内嵌系统程序员编写
    发表于 08-18 06:46

    霓虹灯程序员指南

    如果您对ARM技术完全陌生,请阅读Cortex-A系列程序员指南,了解有关ARM架构配置文件和一般编程指南的信息。 ·霓虹灯技术是ARM高级单指令多数据(SIMD)扩展的实现。 ·霓虹灯单元是执行
    发表于 08-17 06:32

    最难被ai取代的职业

    最难被ai取代的职业 “最难被AI取代的职业”究竟是哪些?这是个众所周知的话题,因为随着人工智能技术的不断发展,它似乎已经到了任何职业都有可
    的头像 发表于 08-15 16:22 373次阅读

    ARMv8-A霓虹灯程序员指南

    程序员,如固件、设备驱动程序或android内核开发人员•希望为基于Arm的目标设备优化库或应用程序程序员•非常热衷于Raspberry Pi爱好者本指南涵盖了如何开始使用Neon,
    发表于 08-08 07:25

    ARM系统跟踪Macrocell程序员模型架构规范1.1版

    ARM 系统跟踪大型电池程序员示范建筑规格V1.1 建筑规格
    发表于 08-02 10:11

    61.[程序员小飞]如何在3分钟内安装好数据库MySql和Navicat,简单又易懂

    程序员
    充八万
    发布于 :2023年07月20日 09:16:19

    Neuron C 程序员指南

    Neuron C 程序员指南
    发表于 07-04 20:48 0次下载
    Neuron C <b class='flag-5'>程序员</b>指南

    打开 LNS 程序员参考

    打开 LNS 程序员参考
    发表于 07-04 19:50 0次下载
    打开 LNS <b class='flag-5'>程序员</b>参考