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

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

3天内不再提示

AI会让程序员职业消失吗

QuTG_CloudBrain 来源:云脑智库 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
    +关注

    关注

    89

    文章

    38085

    浏览量

    296351
  • 程序员
    +关注

    关注

    4

    文章

    955

    浏览量

    30784
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136220

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    软通国际亮相2025沙中开源与AI科技峰会

    2025年11月11日,由沙特程序员协会(parmg)主办的"2025沙中开源与AI科技峰会"在利雅得盛大启幕。
    的头像 发表于 11-14 17:45 1279次阅读

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 410次阅读
    奔赴热<b class='flag-5'>AI</b>,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 466次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    【「AI芯片:科技探索与AGI愿景」阅读体验】+AI芯片的需求和挑战

    AI的应用多种多样。比如:DALL-E2、Midjourney、Stable Diffusion等,不仅包括对话功能,还包括生成图像、视频、语音和程序代码等功能。 竟然连代码都可以生成,取代
    发表于 09-12 16:07

    AI 芯片浪潮下,职场晋升新契机?

    职场、渴望在专业领域更进一步的人来说,AI 芯片与职称评审之间,实则有着千丝万缕的联系,为职业晋升开辟了新的路径。 AI 芯片领域细分与职称对应 目前,AI 芯片从技术架构上主要分为
    发表于 08-19 08:58

    生成式人工智能认证:重塑AI职业生态的底层逻辑

    重构了内容生产、设计、教育等领域的底层逻辑,更催生出对“AI原住民”职业能力的全新要求。当企业为争夺AI人才展开激烈角逐,当求职者因技能焦虑陷入内卷循环,一个核心命题浮出水面:在AI
    的头像 发表于 05-23 09:17 540次阅读

    AI时代:不可替代的“人类+”职业技能

    当生成式人工智能能够撰写报告、编写代码甚至设计产品时,一个根本性的焦虑开始蔓延:人类工作者是否正在被算法取代?这个问题的答案或许比简单的“是”或“否”更为复杂——AI确实在重塑职业版图,但真正的挑战
    的头像 发表于 05-20 16:13 501次阅读

    【「零基础开发AI Agent」阅读体验】+ 入门篇学习

    10.AI Agent开发模式走向了零代码可视化模式(需要我们程序员对此有着观念上的转变),但是掌握编程技术,有助于AI Agent的开发进阶
    发表于 05-02 09:26

    正点原子 AI BOX0 智能伴侣,1.54寸高清屏+长效续航,语音畅聊,情景对话,知识科普,多色可选,随身携带!

    高级,多色可选! ② 配件齐全:主机+定制拉链包,随身携带超方便! 用户故事:小智如何改变生活? ① “加班回家对着小智吐槽,它居然安慰我…突然觉得没那么孤独了。”—程序员@Leo ② “孩子跟着它学
    发表于 04-24 16:11

    首创开源架构,天玑AI开发套件端侧AI模型接入得心应手

    Studio提供了最优解。Neuron Studio可针对模型到应用,提供一站式、全链路、自动化的开发协助,不仅AI应用开发的全流程可视化,更带来整个多种工具的一站式开发能力,还支持神经网络自动化调优和跨
    发表于 04-13 19:52

    探索DeepSeek的Ai-WB2模组程序:功能强大

    DeepSeek是什么? DeepSeek,一家以代码编写能力为核心竞争力的 AI 科技公司,致力于通过高性能 AI 模型赋能企业智能化转型。公司拥有一支由顶尖程序员AI 专家组成
    的头像 发表于 02-11 09:37 948次阅读
    探索DeepSeek的<b class='flag-5'>Ai</b>-WB2模组<b class='flag-5'>程序</b>:功能强大

    阿里云升级通义灵码AI程序员,全面上线

    近日,阿里云宣布其备受瞩目的通义灵码AI程序员已正式全面上线,为开发者带来更为强大和便捷的编程辅助工具。 此次上线的通义灵码AI程序员,在功能上实现了全面升级。现在,它支持VS Cod
    的头像 发表于 01-09 11:16 953次阅读

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 1次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册