我们不应将AI视为替代人类开发者或代码的存在,而要审视其转型的价值与风险。
译自 AI Will Create Demand and Empower Developers, Not Replace Them,作者 Tony Graham 是 Sonar 的产品营销经理。他在企业软件开发方面有近 10 年的经验,拥有丰富的背景,涵盖了报表程序生成器和 .NET 开发人员、信息系统管理员、谷歌软件的各种角色......
我们所有人都知道 AI 不仅是未来,也是现在。在软件开发的世界中,它已经来了。
与其害怕 AI 取代人类开发者甚至传统代码,不如看看这项技术在 DevOps 流程方面的变革价值和风险。然后,我们会明白,AI 需要开发者的专业知识来引领方向——从而创造更多,而不是更少的需求。它还带来了可以增强开发者职业生涯的好处。
生成式 AI 已经为开发者带来了许多好处,并且结合整洁代码的最佳实践,它有巨大的潜力帮助创建安全、可维护和可靠的软件。然而,我们必须权衡生成式 AI 工具的优劣。
自诞生以来,每个人一直在讨论生成式 AI 的利与弊。这是一场公平的对话。随着我们适应和采用这项技术,AI 的未来还有很多未知之处。事情是:在此期间,我们可以弄清楚在现在最好的使用方式。
AI 在开发方面可以发挥有用作用,这一点毫无疑问。来自布朗大学的这项研究表明,使用 AI 来构建软件具有前景。根据我们在 Sonar 的第一手知识,我同意这一点,但当涉及到编程方面时,我也谨慎地对 AI 的前景持保留态度,因为 AI 是为了速度而不是质量进行编写的,这带来了风险。下面会详细讨论。但是首先,让我们谈谈 AI 在支持人类开发者方面的益处。
AI 会处理那些可能否则会占用开发者大量时间的恼人、乏味、例行任务,这样他们就能更好地专注于手头的实际工作。事实上,92% 的开发者已经使用 AI 来减轻他们的负担。从这里开始,AI 可以在以下几个具体类别中最好地辅助开发者:
虽然 AI 可以节省开发者的时间去从事更高价值的项目,并帮助提高生产力,但它存在需要人类技能来控制的固有风险。这就是为什么在 AI 时代,对开发者的需求会增加而不是减少的原因。以下是需要注意的几个陷阱:
AI 有解锁广阔可能性的潜力,但前提是我们在利用其潜力的同时,把人的因素放在首位,检查技术的局限性。这对软件行业和软件开发有转型的潜力,但让它毫无检查地运行并不明智,特别是当现代商业成功依赖于支撑它的软件的优势时。
目前,我们的最佳行动方案是仔细监控和更好地理解 AI,以便我们可以负责任地将其付诸实践。在此过程中,关键是要牢记 AI 的工作原理,它不是用来取代传统编码,而是可以与之相辅相成的资产。
随着对 AI 的依赖性加强,组织还必须通过遵循整洁代码最佳实践,主动审查生成的代码并预防产后问题。当开发人员以“编码整洁”的方式处理代码(无论是人工生成还是 AI 生成)时,他们可以确保它适合开发和生产,并满足组织要求的标准。通过这种方式,开发人员可以对其软件充满信心,确信它是一致的、有意义的、可适应的和负责任的——易于理解和更改,运行顺畅并且没有技术债务,因此使其符合目的,并使软件成为长期业务资产。