人工智能将如何改变软件开发者的世界?

随着越来越多的企业尝试使用AI基础模型(例如OpenAI的ChatGPT),但与此同时,自动化平台给软件开发人员带来的影响越来越明显。

一方面,这些平台可能会彻底改变开发人员的工作方式;另一方面,这些平台也威胁到业内人士的工作,与既定流程形成鲜明对比。

这个标题瞄准了开发者这个特定的受众,而且将话题放在了人工智能上。下面会仔细探讨人工智能对软件开发者的影响。

也就是说,毫无疑问地,像ChatGPT这样的平台是一股颠覆性的力量,受到了风险资本家的热烈欢迎。根据研究公司Gartner的数据显示,过去三年中生成式AI解决方案获得了超过17亿美金的投资,其中很大一部分投入在AI软件编码上。

自动化对软件开发还有其他很多潜在影响,尤其是所生成代码的质量和多样性。

行业分析师Dave Vellante写道:“大型语言模型可以降低复杂性并加速企业自动化平台的采用,但不利的一面是,软件机器人旨在通过智能自动化提高人类生产力,而GPT模型可能会蚕食一些(如果不是很多的话)最初由RPA供应商瞄准的用例。”

这一新的现实,正在促使客户重新考虑他们的自动化战略,促使厂商完善他们对外传递的信息,将基础模型定位为他们平台的催化剂。

那么这项新技术将如何改变开源开发者社区?新兴的自动化平台为何是一把双刃剑?最后,这将如何给这个行业带来永远的改变?

AI的实际应用

在AI呈现爆炸式发展之前,自动化已经达到惊人的发展速度。根据世界经济论坛最近预测,到2025年自动化和技术进步预计将取代8500万个工作岗位,但“随着人类、机器和算法越来越多地协同工作”,将创造9700万个新的角色。

开源的生成式AI——例如OpenAI开发的自然语言处理模型GPT-3,可能会颠覆大多数技术领域,软件开发者也不能幸免。

例如,GPT-3可以自动生成代码,一些初创公司如Hugging Face,已经开始为此做好了准备。

Hugging Face公司首席执行官Clement Delague表示:“Hugging Face是全球初创企业和其他企业的资源,我们可以帮助他们构建几乎任何自然语言处理应用,其时间、成本和复杂性,是他们自己开发所用的很小一部分,从而帮助组织将他们的解决方案快速推向市场。”

GitHub首席执行官Thomas Dohmke在最近的一篇博客文章中表示:“我们内部正在测试新的功能,GitHub Copilot将在开发人员通过动态提取有关代码更改信息创建拉取请求时,自动提出关于句子和段落的建议。”

AI技术已经被用于优化代码,提出改进建议并降低出错的可能性,此外还被用于自动化测试。尽管ChatGPT在技术领域实现了“类似Netscape”的高光时刻,但目前尚不清楚IT决策者将如何在他们的组织中直接实施这项技术。

Vellante在一份分析中,引用了最近一次CIO圆桌会议的内容。在谈到机器人过程自动化、机器学习和人工智能时,一位CIO表示,这三者本质上都是在尝试解决相同的业务场景,即消除多余的资源,无论是人力资源还是其他资源。

这位CIO表示:“OpenAI通过ChatGPT展示了,你可以避免很多‘开销’,围绕典型的RPA构建复杂的工件。我认为这是一个非常有趣的价值主张——能够取代‘经典’RPA中的一些工作台,这些工作台需要很长时间才能掌握,并且需要很长时间才能获得超过常规用例的任何价值。”

其他人则试图让这些技术更容易获得。Red Hat致力于创建社区驱动的AI作为其Project Wisdom计划的一部分,以简化基础设施的自动化。

Red Hat公司副总裁、Ansible业务部门总经理Tom Anderson表示:“现在这是社区之旅的开始,我们将通过Discord之类的渠道合作开展这项工作,吸引人们参与进来。”

对人类开发者的担忧

问题的另一面涉及这种新兴技术将可能完全取代人类开发者。事实上,高盛集团等公司已经开始在内部尝试使用生成式AI来协助编写代码了。

如果组织过于依赖AI生成的代码还会引发其他问题,例如如果针对不同任务有不同的基础模型,就会出现碎片化的问题,这可能会导致开发者难以有效协作。另外,如果没有对AI生成的代码进行制衡也会可能出问题,特别是考虑到当前ChatGPT仍然可能出现所谓的“幻觉”。

Neuroflash联合创始人、首席营销官Henrik Roth说:“这些技术会非常有说服力地告诉你它‘认为’是对的,不管它有多少错误。”Roth说,ChatGPT是用于创意写作和广告的绝佳工具,但“如果是在那些事实更重要的领域——例如新闻和科学领域——人们应该对每一个声明进行事实核查。”

企业如何看待未来之路

自动化平台将不可避免地改变软件开发者的游戏规则。大型企业,尤其是那些处于机器学习、人工智能和自动化交叉领域的企业,正在使用RPA作为一种替代工具,包括微软、AWS和谷歌。

Vellante表示:“微软在收入份额方面处于有利地位,观察家可以预期,微软于OpenAI的关系将成为微软AI战略的关键。从技术角度来看,微软在AI方面可以说落后于AWS和谷歌,但在商业模式方面,微软似乎已经跃居领先地位。”

在他关于企业技术的研究中,询问了客户是否正在评估GPT模型以及针对哪些用例。令人惊讶的是,有56%的客户表示他们没有对此进行评估,而除此之外,另外大部分客户正在评估将这项技术用于客户聊天。

“从表面上看人们会得出结论,RPA和自动化平台可以从GPT模型中受益,并且这些用例在很大程度上是互补的。例如,基础模型可以编写代码或者加速指导软件机器人的自动化代码开发,但与此同时,大型语言模型的功能与一些早期RPA用例之间存在重叠,随着时间的推移,这种重叠很可能会进一步增加。”

接下来何去何从?

对于开发者来说,机遇和挑战都迫在眉睫,因为AI基础模型有可能会彻底改变他们的工作方式,即使对工作安全性和既定流程仍然存在威胁。

这个市场仍然是两极分化的:在艰难时期,公司会想办法削减成本,寻找自动化技术可以发挥作用的方面。但同时,企业必须花钱才能赚钱。

“GPT模型正在催生新的思想,买家和卖家都在努力将基础模型转化为机会,GPT模型的早期用例很有趣,但不能直接替代企业自动化平台。然而,低端自动化存在风险,毫无疑问,这里有一个维恩图与基础模型和自动化平台相交。”

事实上,生成式AI会蚕食一些RPA的用例。另一方面,这两种技术可以协同工作以便对更广泛的任务进行自动化。

“尽管如此,我们认为所有厂商都必须利用GPT模型来简化和加速采用;买家必须退后一步,试水一下,看看他们如何部署这些新的创新来为他们的业务增加价值。”

与AI进步颠覆了大多数技术一样,自动化平台也在不断变化中,只有时间才能证明未来会是什么样子的。



人工智能将如何改变软件开发者的世界?
更高效的代码测试
人工智能可以在开发和测试过程中扮演极其重要的角色。它可以在相对短的时间内执行大量的测试,从而找出代码中的漏洞和错误。这不仅可以加快测试速度并降低人力成本,还能保证代码的质量和稳定性。
更高质量的自动化数据分析
软件开发者在开发过程中经常会遇到大量的数据。人工智能可以通过机器学习和自然语言处理等技术来分析这些数据,从而更加精准地为开发者提供有用的洞察。此外,人工智能还可以通过预测模型来为开发者提供更好的资源和时间管理,从而提高开发效率和质量。
更加适应性和灵活性的开发流程
在过去,软件开发者需要通过人工方式处理大量的数据和技术,然而现在随着人工智能的应用,开发者可以更加灵活和高效地开发出更加适合不同环境的应用程序。例如,通过使用人工智能在不同的平台和设备上自动识别和调整应用程序,开发者可以预测并迅速适应变化的市场趋势和用户需求。
更加智能和创新的应用程序
随着人工智能的应用,开发者可以开发出具有更高级别的智能和自我学习功能的应用程序。例如,通过使用人工智能和机器学习技术,开发者可以为用户开发出智能程序,从而为用户提供更加个性化的服务和用户体验。这些高级应用程序还可以通过开发新的算法和技术,开发出全新的颠覆性软件解决方案,从而推动软件开发行业的进步。
人工智能的不断发展将会重新定义软件开发者的工作流程和技能要求。但是,这也将为开发者创造无限的机遇和创新空间。因此,开发者需要意识到并积极学习新的人工智能技术和工具,以充分发挥人工智能在其日常工作中的最大潜力和影响。