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

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

3天内不再提示

AI来编程 码农何去何从?

Gv1N_smartman16 来源:yxw 2019-06-12 14:29 次阅读

还记得软件席卷世界的时候吗?一个最近比较流行的观点是,人工智能正在席卷各类软件。

过去,谷歌的首席执行官桑达尔·皮查伊(Sundar Pichai)谈到了“自动编写自己”的软件。有些人认为软件开发的工作只是比创造不断重复代码片段复杂一点,那么现在,人工智能的快速发展可能会让软件工程师们集体失业。

传统上,开发人员编写软件有着一系列固定的规则,例如:如果a发生,那么就进行b操作。

人类码农指导着机器,这是软件1.0时代。但在软件2.0时代里,人们认识到,基于深度学习研究的进步,我们可以构建一个神经网络,来学习需要哪些指令或规则才能获得预期的结果。特斯拉人工智能总监安德烈·卡帕西(Andrej Karpathy)等人是2.0时代的支持者,他们提出的论点是,未来里,我们将不再需要亲手编写代码。我们只需要找到数据并将其输入机器学习系统,一切就完成了。在这个场景中,软件工程师的角色将转变为“数据监管员”,或是“数据赋能者”。

然而,软件工程不会很快消失。即使软件工程师2.0、数据科学家2.0这样的新职业正得到不断的发展,人工智能技术也会反过来增强软件1.0时代工作者的能力。事实上,我们还不能确定软件工程在不久的将来,是否会变得和今日完全不同。深度学习神经网络系统中将会为我们提供帮助,但它不会完全取代我们。

机器学习将如何塑造软件开发?

这将是一个全新的世界,但我们并不是活在电视剧里。事实上,一般的智能办公室助理已经能安排一天的日程,并启动电话会议。甚至有些AI支持的系统,可以为企业生成商标,并根据反馈自动改进商标。

今天,手机会自动检查拼写并提示下一个单词。在编写代码时,类似的工具也会高亮潜在的错误。例如,从事结对编程(Pair programming)的人自然会预想到软件2.0对他们工作方式的影响。考虑到机器学习和会话接口方面的进步,可以想象,未来的一台机器就能撑起结对编程任务的半边天。

多年来,我们一直使用自动化工具来节省编写模板代码的时间。现在,AI驱动的助手工具也越来越频繁地出现在更加复杂的软件开发中。它们以增强式集成开发环境的形式出现,为人们推荐更好的代码组合。

人工智能的角色

让我们想象一个更高级的人工智能助手在未来发挥的巨大作用。在进行编码工作时,你的AI同时会通过分析确定你正在编写的是哪种代码,并且根据你的风格来自动完成其余的代码撰写。

本质上,人工智能助手更像是获得你的授意,为你完成剩下的工作。

另一个人工智能助手将大有作为的领域是测试驱动开发。与人类工作速度形成鲜明对比的是,一个机器同事可以快速进行数百万次的迭代,来找到解决测试的正确代码段。拥有一个AI同事意味着,测试验证这项任务将交由AI完成。我们不用同时应对编写测试和测试验证这两项工作,从而节约了在编码上花费的时间,让我们有更多的时间用于理解和解决业务问题。

将来,软件2.0甚至可能会帮助指导测试驱动开发,为测试提出建议,并给出它自己的原因。

让我们想象一下,营销人员来到开发团队,说他们想要这样或那样的功能。如果他们能以机器能够理解的方式表达他们想要的东西,机器就能自动选择必要的测试,并提出下一步的建议。

强化,而不是代替

这引发了一个终极问题:机器会完全取代软件工程师吗?现实情况是,我们最多只能达到百分之九十几的能力,而这仍然意味着1%的失败和不可预测性。一个监控系统需要用来确保所写的代码能够正常工作。也许软件工程师的新角色就是监控代码并帮助机器学习系统达到接近100%的准确率。

既然我们已经概述了可以想象的好处,下一个问题就出现了:软件编程的哪些部分可以转移到深度学习2.0框架中,哪些部分应该保留在传统的1.0框架中?时至今天,我们得到的结论是,这些深度学习神经网络在监督学习环境下表现得很好。如果向它们提供训练数据,提供好的和坏的实例,那么它们就能学会正确地输出。

但这些系统的好坏取决于训练数据的质量。正如我的一位同事所指出的,改进模型的性能常常包括改进底层代码、部署环境,以及改进训练数据。事实上,一些机器学习系统因为过于优秀,以至于它们实际上被训练数据中的人为缺陷所耽误。

最终的一点想法

我们需要设计神经网络来处理其他解决方案。软件开发的某些部分能够很好地进行深度学习,而另一些部分则不能。如果我们再看看结对编程,通过与他人共享控制权,会有许多不同的方法来完成问题。软件开发是一个不断与其他同事协作的过程。每一对新的工作伙伴都会带来不同的经历和解决问题的不同方法。组合越多,得到的解就越多。

在软件2.0中,我们得到了一个新的AI伙伴来帮助开发人员更好地完成他们的工作。我们展望一个更有活力的人机合作环境,它将带来更多、更有效的解决方案。这对每个人都有好处。

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

    关注

    27

    文章

    6099

    浏览量

    104766
  • AI
    AI
    +关注

    关注

    87

    文章

    29332

    浏览量

    267622
  • 机器学习
    +关注

    关注

    66

    文章

    8315

    浏览量

    132161

原文标题:AI来编程,码农何去何从?

文章出处:【微信号:smartman163,微信公众号:网易智能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    昇腾APN最佳伙伴—英科技AI算力计算产品亮相WAIC 2024

    WAIC2024的成功举办,必将推动人工智能技术的发展实现新的跨越,英科技也从中收获满满!未来,英科技将继续深耕人工智能领域,持续为行业打造创新产品和AI技术服务,为人工智能产业发展贡献力量
    的头像 发表于 07-09 16:50 368次阅读
    昇腾APN最佳伙伴—英<b class='flag-5'>码</b>科技<b class='flag-5'>AI</b>算力计算产品亮相WAIC 2024

    精准赋能,效率升级:星宸科技工业AI解决方案

    星宸科技推出两档具有竞争力的工业AI解决方案——SSC377系列和SSU938X系列,为工业领域的数字化转型提供了强有力的支持。
    的头像 发表于 05-07 14:16 437次阅读
    精准赋能,效率升级:星宸科技工业<b class='flag-5'>AI</b>扫<b class='flag-5'>码</b>解决方案

    基于昇腾AI | 英科技EA500I使用AscendCL实现垃圾分类和视频物体分类应用

    现如今,人工智能迅猛发展,AI赋能产业发展的速度正在加快,“AI+”的需求蜂拥而来,但AI应用快速落地的过程中仍存在很大的挑战:向下需要适配的硬件,向上需要完善的技术支持,两者缺一不可。基于此,昇腾
    的头像 发表于 05-01 08:26 563次阅读
    基于昇腾<b class='flag-5'>AI</b> | 英<b class='flag-5'>码</b>科技EA500I使用AscendCL实现垃圾分类和视频物体分类应用

    基于昇腾AI | 英科技EA500I使用AscendCL实现垃圾分类和视频物体分类应用

        现如今,人工智能迅猛发展,AI赋能产业发展的速度正在加快,“AI+”的需求蜂拥而来,但AI应用快速落地的过程中仍存在很大的挑战:向下需要适配的硬件,向上需要完善的技术支持,两者缺一不可
    的头像 发表于 04-26 08:38 321次阅读
    基于昇腾<b class='flag-5'>AI</b> | 英<b class='flag-5'>码</b>科技EA500I使用AscendCL实现垃圾分类和视频物体分类应用

    阿里云内部全面推行AI写代码

    阿里云正在内部全面推行 AI 编程,使用通义灵辅助程序员写代码、读代码、查 BUG、优化代码等。
    的头像 发表于 04-07 09:22 500次阅读

    使用NVIDIA Triton推理服务器加速AI预测

    这家云计算巨头的计算机视觉和数据科学服务使用 NVIDIA Triton 推理服务器加速 AI 预测。
    的头像 发表于 02-29 14:04 503次阅读

    sim卡pin怎么设置 pin和puk有什么区别

    可以设置一个PIN以及一个PUK。PIN是个人识别(Personal Identification Number),PUK是个人解
    的头像 发表于 02-19 16:20 3778次阅读

    基于相机技术的工业级多器——DC200读

    作为一款基于相机技术的工业级多器,IDC200读器可以识别各种传统的一维和二维,包括各种材料上的印刷条码、点针打标
    的头像 发表于 01-26 14:34 812次阅读
    基于相机技术的工业级多<b class='flag-5'>码</b>读<b class='flag-5'>码</b>器——DC200读<b class='flag-5'>码</b>器

    电脑的pin是什么?PIN和密码有什么区别?电脑如何设置pin

    电脑的pin是什么?PIN和密码有什么区别?电脑如何设置pin? 电脑的PIN是个人识别号码的简称,是一种用于验证身份或访问控制的数字码。PIN
    的头像 发表于 01-17 11:17 2.6w次阅读

    DataMan 380大视野高速AI硬实力概述

    随着读器技术的不断更新迭代,大视野高速应用成为当前工业读领域的关键发展方向。
    的头像 发表于 01-11 10:37 436次阅读
    DataMan 380大视野高速<b class='flag-5'>AI</b>读<b class='flag-5'>码</b>硬实力概述

    AI引擎内核与计算图编程指南

    电子发烧友网站提供《AI引擎内核与计算图编程指南.pdf》资料免费下载
    发表于 01-03 10:50 0次下载
    <b class='flag-5'>AI</b>引擎内核与计算图<b class='flag-5'>编程</b>指南

    c语言如何把字符变成ascii

    C语言是一种广泛应用的编程语言,用于开发各种类型的程序。在C语言中,字符可以表示为ASCII(美国信息交换标准)的整数值。ASCII是一种最常用的字符编码方案,其中每个字符都被赋
    的头像 发表于 11-26 10:34 5069次阅读

    c语言怎么输出ascii对应的字符

    C语言是一种广泛应用于系统编程的高级编程语言,它可以用于处理各种数据类型,包括字符类型。ASCII是一种广泛用于计算机系统中表示字符的编码方式,通过将字符映射到对应的数字,可以在计算机系统中进
    的头像 发表于 11-26 10:32 8075次阅读

    C语言将字母转化为ASCII

    C语言是一种非常强大和广泛使用的编程语言,它具有丰富的功能和灵活性,可以用于各种不同的应用程序。其中一个常见的用途是将字母转化为ASCII值。在本文中,我将详细介绍如何在C语言中实现这一功能,并提
    的头像 发表于 11-26 10:31 5547次阅读

    20余家公司研发1号位畅谈对亚马逊云科技生成式AI辅助编程的看法

    生成式AI技术正在为开发工作提供更加智能、高效的辅助。据InfoQ最新调查显示,在采用生成式AI技术辅助编程的过程中,大多数开发者会使用多种AI编程
    的头像 发表于 11-17 14:53 623次阅读