ChatGPT 和其他生成式人工智能工具的大规模采用正在迅速重塑我们的社会。当前的人工智能热潮将影响几乎所有经济部门,其影响仍难以预见。
软件开发和数据科学领域也不例外。事实上,随着 ChatGPT、GitHub Copilot 和其他人工智能工具的出现,业界正在引发对编码未来的猜测。
AI会取代编程吗?我们无法预测未来,但简短且最有可能的答案是,至少在不久的将来不会。
然而,随着开发人员和数据专业人员将这些人工智能工具纳入他们的工具箱,他们作为程序员的角色很可能会永远改变,他们的任务性质也可能会永远改变。
人工智能对编程的影响越来越大
下一代人工智能工具已经在软件开发和数据分析方面提供了许多机会。随着新的人工智能工具进入市场并且开发人员逐渐熟悉它们,用例的数量正在快速增长。以下列出了程序员已经使用人工智能的一些方式:
任务自动化
AI 工具可以无缝地自动执行重复性和日常任务,例如执行基本 SQL 查询、执行数据探索性分析以及简化数据科学项目(如使用ChatGPT 进行数据科学的说明性指南中所示)。这可以帮助程序员跳过耗时的任务,专注于更复杂和更具挑战性的工作。
错误修复
调试通常需要相当长的时间并且可能具有挑战性,特别是在处理具有数百行代码的复杂项目时。人工智能是加速这一过程的完美盟友,它可以在几秒钟内扫描您的代码并提供代码和结构建议来修复它。GitHub Copilot等工具对于此过程特别有用。
项目交付估算
对新项目所需的时间、成本和资源进行切合实际的估计对于提高生产力和确保成功至关重要。人工智能模型可以通过考虑项目复杂性、资源可用性和开发团队资历等多种因素来支持项目交付估算。存在一系列此类人工智能项目管理工具。
代码优化
在处理需要大量计算资源的复杂项目时,效率是必须的。代码的编写方式会严重影响效率。人工智能工具可以帮助重写您的代码以提高效率,从而节省您的时间、资源和金钱。您可以使用ChatGPT 的代码解释器等工具来编写和执行代码,以帮助您找到最佳解决方案。
代码翻译
开发人员有时必须使用多种编程语言,无论是出于互操作性目的,还是移植用过时或已弃用的语言编写的代码库。翻译过程通常非常耗时,并且需要源语言和目标语言方面的专业知识,这使得代码翻译项目成本高昂。幸运的是,创新的人工智能技术和工具(例如CodeMorph)使这项任务变得更容易且更具成本效益。
代码可解释性
有时,理解他人的代码可能很困难,尤其是对于初级程序员而言。尖端的人工智能工具不仅可以提出代码改进建议,还可以对某段代码提供详细的解释,从而帮助您更快地学习。例如,这是DataCamp Workspace AI 助手的功能之一,如另一篇文章中所述。
DataCamp 的 AI 助手在工作
人工智能在编程中的局限性
尽管生成式人工智能工具取得了突破性的成果,但该技术尚未成熟到足以取代程序员。换句话说,虽然像 ChatGPT 这样的生成式人工智能可以用于广泛的下游任务,但让我们更接近人工智能的想法(人工智能的假设水平,可以完成人类或动物可以执行的任何智力任务) ,它仍然无法像人类一样思考或行为。
最先进的人工智能仍然缺乏编程所急需的人类创造力、直觉和领域专业知识。虽然人工智能可以帮助完成许多编码任务,甚至提高创造力,但它是为了人类概念化复杂的系统、理解业务问题并做出战略决策。
此外,尽管人工智能取得了令人印象深刻的成果,但人工智能也存在一些与人类相关的风险和挑战,这些风险和挑战使得人类监督成为强制性的,特别是当人工智能支持的决策可能对个人和社会产生重大影响时。
我们的生成式人工智能概念课程是了解更多关于采用人工智能的风险和道德考虑的重要资源,我们关于生成式人工智能伦理的文章涵盖了其中的一些问题。
最后,人工智能系统是根据历史数据进行训练的,这意味着它们可能无法始终跟上软件开发和数据科学快节奏领域的最新发展。因此,虽然人工智能可以成功地掌握综合知识,但人类却可以扩展知识的边界,开发新的工具、技术和范式。
编程的未来:人工智能与程序员之间的协作
人工智能不会取代开发人员,而是可能会重塑他们的角色。合作是未来最有可能出现的情况。
配备下一代人工智能工具后,开发人员将从平凡、耗时的日常工作中解放出来。这种转变将使他们能够专注于更具创新性和挑战性的任务。
总体而言,采用人工智能将加快软件和数据开发流程,提高生产力和效率。
人工智能将带来的“增强”开发运动有可能简化编程并使其更易于访问,因为现在可以使用简单的人类语言在几秒钟内执行各种编程任务。
这种增强可能会导致入门级编程工作的减少,因为传统上由初级程序员完成的许多任务将通过 ChatGPT 或 GitHub Copilot 等生成式 AI 工具实现自动化或简化。
但人工智能工具远非完美无缺。人类监督对于确保它们只带来积极成果至关重要。这将为开发人员带来新的机会,他们的职责将部分转向监督和管理人工智能系统。从这个意义上说,具有机器学习和人工智能道德技能的开发人员和数据科学家可能会受到很高的需求。
最后的想法
那么AI会取代程序员吗?总体而言,当前的人工智能热潮有可能彻底改变科技行业,而不是让专业人士变得过时。这项技术很可能从根本上改变那些从事编程、软件和数据职业道路的人的就业市场。
他们不仅在所有这些中幸存下来,而且该行业始终在创造性破坏过程中蓬勃发展,产生新的角色和专业化。由于软件和数据专业人员的需求量很大,而且未来没有任何下降的迹象,该行业已准备好迎接人工智能革命。
人工智能将提供新工具,而不是威胁,这将成为未来几年程序员工具包中的新常态。改变已经在路上。例如,根据2023 年 Stack Overflow 开发者调查,70% 的受访者今年正在使用或计划在开发过程中使用人工智能工具。
同样,美国劳工统计局预测未来几年软件开发人员的就业人数将增长 25%,远高于所有职业的平均水平。
所以,无论你是行业新人,还是经验丰富的程序员,拥抱人工智能都是提升你在数据行业职业前景的明智而及时的选择。