过去几年,人工智能稳步发展 已渗透到几乎每个部分全球经济。电子邮件程序使用它来即时纠正语法和拼写,并建议完整的句子来完善每条消息。数字助理使用它为用户提供类似人类的对话界面。当您联系任何企业的联络中心时,您都会遇到这种情况。当您用尽自动支持选项并需要人工客服时,您甚至可以让您的手机使用 AI 等待您。
因此,人工智能也已经出现在普通软件开发人员的工具包中也就不足为奇了。如今,有无数的人工智能编码助手可以减轻开发人员的负担。据其创建者称,这些工具应该帮助软件开发人员和团队更快地工作并产生更可预测的产品结果。然而,他们也做了一些不太理想的事情——引入安全漏洞。
这是软件开发公司和独立程序员所面临的问题才刚刚开始应对。现在看来,有一个二元选择。要么使用人工智能编码助手并接受后果,要么放弃它们并冒着落后于使用它们的开发人员的风险。目前,调查表明 大约 96% 的开发者已经选择了前者。但如果还有另一种选择呢?如果您可以在不损害输出的情况下降低使用人工智能编码助手的风险,该怎么办?这是一个简单的框架,开发人员可以使用它来实现这一目标。
仔细评估您的人工智能工具
减轻人工智能编码助手带来的风险的第一个方法是在生产中使用您正在考虑的任何工具之前对其进行彻底研究。做到这一点的最佳方法是将该工具与您的一些开发项目并行使用,以查看结果如何与您的人工创建的代码相结合。这将使您有机会评估该工具的优点和缺点,并查找任何可能使其无法满足您的特定开发需求的持续输出问题。
这个简单的审查程序应该可以让您选择适合您计划分配的任务的人工智能编码助手。它还应该在影响实际项目之前提醒您与该工具相关的任何重大安全编码缺陷。如果这些缺点无关紧要,您可以使用您学到的知识来清理该工具中的任何代码。如果它们很重要,您可以继续评估其他工具。
加强您的代码审查和验证流程
接下来,在开始在生产中使用 AI 编码助手之前,必须加强代码审查和验证流程。这应包括对您的所有代码传递的多个静态代码分析生成,尤其是任何包含人工智能生成的代码。这应该可以帮助您发现大多数无意中引入的安全漏洞。它还应该让人类开发人员有机会阅读人工智能生成的代码、理解它,并在继续之前指出任何明显的问题。
您的代码审查和验证流程还应包括动态测试。这将帮助您评估现实世界中代码的安全性,包括任何可能引入其他漏洞的用户交互。
让您的 AI 工具保持最新
最后,您应该创建一个流程,确保您始终使用所选 AI 工具的最新版本。 AI 编码助手的开发人员始终致力于做出改变提高其工具生成的代码的可靠性和安全性。这样做符合他们的最大利益,因为任何有缺陷的代码追溯到他们的工具都可能导致开发人员放弃该工具而转而使用竞争对手。
但是,您也不应该盲目更新您的工具集。跟踪 AI 编码助手更改的任何更新非常重要。您永远不应该假设您正在使用的工具的更新版本仍然适合您的特定编码需求。因此,如果您发现任何可能需要重新评估该工具的更改,这正是您应该做的。
如果您不能长时间没有选择的人工智能编码助手来重复您开始时的审查过程,请继续使用旧版本。但是,您应该让新版本执行相同的编码任务并比较输出。这应该可以让您清楚地了解更新的更改将如何影响您的最终软件产品。
底线
实际上,人工智能代码生成并不会消失。相反,用不了多久它就会成为每个开发团队工作流程中不可或缺的一部分。然而,我们还没有达到人类程序员应该盲目信任人工智能同行的工作产品的程度。通过采取谨慎的方法并深思熟虑地集成人工智能工具,开发人员应该能够获得这些早期人工智能工具的回报,同时避免其真正的缺点。