AI编程:从辅助驾驶到自动驾驶,技术的未来飞跃|TodayAI

PonderAI-智能助手

AI编程:从辅助驾驶到自动驾驶,技术的未来飞跃|TodayAI

一种新型的AI编程工具正在登上舞台,它们宣称比GitHub Copilot、Amazon CodeWhisperer和Tabnine等早期助手更加自主。其中一个新入场者,被其开发者——应用人工智能实验室Cognition称为“AI软件工程师”的Devin AI,据称可以独立完成所有这些任务:从头开始构建和部署网站、在代码库中找到并修复错误,甚至训练和微调自己的大型语言模型。

在Devin推出后,出现了一些开源的替代品,包括Devika和OpenDevin。与此同时,现有助手的开发者也没有停滞不前。微软的研究人员,GitHub Copilot的开发者,最近在预印本服务器arXiv上发布了一篇论文,介绍了AutoDev,它使用自主AI代理生成代码和测试用例,运行测试并检查结果,并在测试用例中修复错误。

软件公司Sonar的开发者和开发者倡导者Ben Dechrai表示:“看到更多具有新功能的AI编程助手版本令人兴奋。它们证实了开发人员工作流程中生成性AI工具的需求。” Dechrai补充说,这些编程副驾驶可以帮助软件工程师更快地编写代码,让他们能够专注于更具战略性和创造性的任务。普渡大学电气与计算机工程教授Saurabh Bagchi指出,这些编程工具的另一个优势是能够为代码创建模板。就像提示工程一样,开发人员必须为这些助手提供“正确的软件需求以产生模板,然后软件工程师可以填补空白”。

这些空白包括安全性和可靠性考虑。软件工程师必须警惕AI生成代码中的安全漏洞,以及可能导致程序崩溃的各种极端情况。Dechrai表示:“开发人员仍然需要确保在分析和审查使用生成性AI编写的代码时,有严格的质量标准,就像他们会对人类开发的代码做的那样。” 他警告说,自主编码者“还很新,开发人员才刚开始学习哪些用例最有益。” Bagchi说:“它们需要在现实世界中被‘熨平’,看看它们能在多大程度上兑现它们的承诺。”

AI编码器与人类

随着这些“AI软件工程师”的出现,关于取代人类软件工程师的末日预言也随之而来,但这在短期内不会发生。例如,Devin仅解决了GitHub问题子集中的14%。Bagchi说:“要想达到我可以盲目依赖的程度,还有很长的路要走。”

他指出,这些自主编程工具还有另一个盲点:软件开发是协作进行的事实。编码副驾驶试图做所有事情,而且可能做得相当不错。另一方面,不同的软件工程师有自己的专长——比如前端、后端、全栈或数据等等——他们共同合作构建一个连贯的产品。

Bagchi说:“要开发直观的系统,你需要一个迭代过程,让人类参与其中提供反馈。” “必须发挥人类的基本直觉、深度和想象力。”

这就是为什么Bagchi认为这些无人协助的版本至少目前不会主导编码助手所占据的领域。他说:“底层运行的模型在架构上相似,随着技术的不断发展,两者都会变得更好。” “但Copilot或CodeWhisperer模型似乎最有前景,更适合人类在AI协助下进行的复杂软件开发。”

然而,程序员“如果还没有开始使用这些工具,就应该开始使用,否则他们将面临落后的风险,”Dechrai说。 “如果你想知道AI编程助手是否真正有益,你必须亲自使用它,了解它,并看到它在哪里失败。”

Bagchi也有同样的看法:“尝试使用你有的用例,并用你正在创建的软件类型对它们进行压力测试。” 但由于无人协助的编码副驾驶是一项新兴技术,它们很可能会迅速改进。 “所以你必须跟踪它们,”他补充说。

此外,Dechrai说,软件工程师将不得不“始终确保代码在其生命周期内安全、可靠且可维护。” “开发人员始终需要正确理解输出及其生成方式。”

AI编程:从辅助驾驶到自动驾驶,技术的未来飞跃|TodayAI
© 版权声明

相关文章