AI编程助手如何重塑软件开发:生产力提升与新挑战
近日,一家拥有12年历史的成熟SaaS产品公司对其约40名开发人员进行了一个非正式调查,探讨当前人工智能编码工具(Cursor和Claude Code)的应用情况及其对公司生产力的影响。这些工具旨在通过生成代码来提高开发效率,减轻开发人员的工作负担。调查显示,有8名开发人员表示他们大部分或全部时间都在使用这些AI工具,而另有11人则在部分任务中交替使用AI和传统方式,占比约为50%。 该公司的主要编程语言是Ruby on Rails,这一成熟的代码库为AI工具的测试提供了良好的基础。尽管个人偏好不同——其中一位资深开发者因为对Sublime Text编辑器的痴迷而倾向于使用Claude Code——但总体而言,Cursor的使用率略高一些。这主要是因为Cursor可以更自然地集成到开发者的现有环境中,而不像Claude Code需要独立运行在终端中。 两种工具的功能差异也值得关注。Claude Code特别擅长根据提示生成整个功能模块,有时甚至会过度“创造”,需要开发者进行精细控制。而Cursor则更倾向于进行小范围、自包含的修改,更加注重细节,避免未经许可的大规模代码提交。例如,该公司近期的一项任务是将一组React屏幕转换到新的基于Hotwire的设计系统中。Claude Code在接到提示后生成了一个几乎正确的计划,几经微调后成功地完成了任务。这一过程不仅节省了开发者的时间,还减少了枯燥的工作量,使其能够更快地完成任务。 不过,AI工具并非万能。特别是在处理复杂任务时,它们可能提出多种架构解决方案,开发者需要仔细评估以选择最佳方案。公司尝试过让AI工具与Linear或Sentry等项目管理工具连接,以实现自动化的拉取请求(PR)生成,但效果不佳。很多情况下,生成的PR虽然所有测试都通过了,但实际上这些测试本身存在问题,导致bug修复不准确。为了防止这种情况发生,目前公司仍避免推广这一做法。 Claude Code在重构方面表现尤为出色,特别是在处理前端代码时。不久前,一位开发人员利用Claude Code成功地完成了对现有React界面的重构,使之适应新的服务器端渲染设计。这一过程原本可能需要几小时,但通过AI工具的协助,实际只用了大约一小时。尽管有些细节问题在测试时才被发现,但这已经显著提高了开发效率。 业内人士普遍认为,AI编码工具的引入确实提高了工作效率,尤其是对于重复性和琐碎的任务。然而,对于一些需要高度创新和深度理解的任务,目前AI仍无法完全取代人类开发者的角色。此外,公司财务负责人指出,即便每月为每位开发人员投入100美元的AI工具费用,只要能带来20%以上的生产力提升,这笔投资就是值得的。 尽管AI工具在提高生产力方面表现出色,但它们在编写优雅代码和个性化编程风格方面仍有不足。目前尚未发现任何一种工具能够完美地写出既正确又优美的代码,过度依赖注释是一个常见问题。这种现象可能会导致某些情况下必须重写AI生成的代码。不过,编写高效的提示并与其互动仍有助于加深对问题的理解,从而设计出更好的架构。 综上所述,尽管AI编码工具在特定任务中极大地提升了开发效率,但它们仍然需要与人类开发者紧密合作,特别是在处理复杂任务和保持代码质量方面。公司未强制要求使用这些AI工具,而是鼓励开发人员根据自身需求和兴趣自主选择,相信随着技术的不断进步,更多高效、精准的AI辅助工具将会出现在未来。
