如果让你来考虑一下,这个问题似乎有点讽刺。新的创造者-(人工智能)是否会在将来替换或替代其创作者(程序员)?听起来像是科幻电影的情节,不是吗?不过,更重要的问题是:这是真的吗?
近期的就业研究报告预测,到2030年,美国将有近50%的工作岗位实现自动化。如果我们将这一发现作为事实,那么不久的将来的确有些黯淡。但是,在考虑“厄运与失败”场景之前(机器人负责我们的所有工作),让我们首先了解一下AI如何使程序员受益。
AI如何帮助程序员
甚至在传统的软件开发周期开始之前,程序员就已经需要确定他们要创建的产品的技术规格或功能特性。只有这样,他们才能开始实际的设计和开发,然后进行测试,部署和维护。
当然,从一个步骤过渡到另一个步骤,会发现需要修复的错误和需要解决的漏洞。任何软件在发布之前都需要经过几轮测试和增强。软件开发过程可能很繁琐,昂贵且耗时。对于人类来说,这可能令人沮丧。程序员需要帮助,请输入AI。
1.程序编写协助
AI技术允许程序员在编写代码时确定其错误。法国软件开发商Ubisoft是该领域的先驱。它创建了AI工具Commit Assistant,以使用以前项目中遇到的常见编码错误的软件库来检查错误代码。因此,Commit Assistant可以防止程序员犯下曾经犯过的同样的错误,从而节省了他们在稍后的过程中纠正错误所花费的时间和精力。
简化程序员生活的AI工具的其他示例包括智能编程助手,该助手可在程序员编写代码时为他们提供自动完成的建议。程序员为什么不使用它们呢?面对现实吧,阅读数百页的文档可能很累。
2.错误修复
软件中的许多弱点只有在已经被使用时才会出现。这很正常,因为制造商通常需要赶紧进入市场以击败竞争对手。因此,几乎没有任何程序没有可利用的漏洞。
AI和机器学习(ML)算法可以解决这个问题。他们可以配置计算机以分析程序中的错误,并在上市之前进行相应的修复。
3.准确的项目交付估算
软件开发项目甚至在开始之前就几乎没有达到为其设置的时间表和预算。
但是,在AI的帮助下,使用以前项目的历史数据可以使程序员(或更准确地说,其项目经理)在考虑所有可能的情况和潜在挑战的同时,为管理人员提供更准确的进度表和资金需求。
AI系统能否取代程序员的位置?
软件开发人员现在可以轻松呼吸,因为对更重要问题的答案是(我们最初问的问题):不一定。尽管已经存在可以编写简单代码的AI工具,但是它们无法确定要优先考虑的功能或开发中的软件要解决的问题。
目前只有精明的程序员才能基于对精确规范和要求的理解来编写代码。程序员仍然需要帮助AI系统理解他们需要集成到开发中的软件中的复杂应用程序编程接口(API)。
实际上,研究人员认为,随着AI系统的进一步改进,程序员的角色可能只会发生变化。他们将不负责编写实际代码,而是负责分析和整理数据,以用作AI算法的输入,然后AI软件将创建软件。
程序员应该画出AI提供的好处,而不是描绘出令人沮丧的场景。各个行业已经在采用该技术来提高生产率和降低成本。这种趋势是不可避免的,因此与其害怕它,不如更好地增强他们的技能以适应不断变化的形势。