人工智能在软件开发中的应用:提升还是降低你的生产力?
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
Dev.to社区的各位朋友,大家好!
本文将基于最新的 METR 研究、2025 年 Stack Overflow 调查以及我自身的经验,探讨人工智能在软件开发中的真实效用。我们还将讨论“氛围编码”这一新兴趋势及其对开发流程的变革。
介绍
如今,人工智能对软件开发的影响不容忽视。你不再需要像以前那样在谷歌上搜索信息,现在只需向 ChatGPT 提问即可。更棒的是,你可以提出更具体的问题,获得更详细的信息,而无需像以前那样在互联网上漫无目的地搜索,试图像拼图一样拼凑出完整的信息。说实话,我已经记不清上次访问 Stack Overflow 是什么时候了,而 2018 年的时候,我经常同时打开 10 到 15 个标签页来查找所需信息或帮助他人解答。除了信息之外,人工智能还可以帮助你分析从服务器收到的大型日志,或者查找 500 多行配置文件中的错误——这些工作如果交给人类,需要花费更长的时间。
人工智能还可以辅助编写技术文档。在我开发开源库时,ChatGPT 生成了 80% 的 XML 文档,还帮助我为 GitHub 代码库创建了一份优秀的文档文件。
但最重要的是,人工智能可以编写代码。大约六个月以来,我每月支付 20 美元订阅 Anthropic 公司的 Claude Code,因为它提高了我的工作效率,让我能够更快地完成一些日常任务。此外,我还使用 ChatGPT 进行快速信息搜索或编写技术文档。
根据 StackOverflow 的数据,约有 51% 的专业开发人员每天都会使用 AI 工具,这是一个相当可观的数字。
氛围编码
最近,“直觉式编程”(vibe coding)一词变得非常流行。它指的是一种新型的编程方式,即由人工智能(AI)为你编写代码。最初,AI被用于解决算法任务,但如今它已经发展到即使是不懂编程的人也能尝试独立创作的地步。随着更强大的模型和代码编辑器(例如Cursor)的出现,这种趋势的热度与日俱增。现在,只需一个提示,AI就能生成大量代码,涵盖从设计到业务逻辑的各个方面,并解释其工作原理。
根据 StackOverflow 的一项调查,只有 12% 到 15% 的开发者对 Vibe 编码感兴趣。虽然这个数字目前还很小,但这种趋势已经形成,并且未来会继续增长。
在我刚开始做创业项目的时候,我经常需要编写前端代码,说实话,除了使用 Angular 之外,我并不太喜欢写前端代码。在这种情况下,Claude 帮我创建了基本布局,包括移动响应式设计,并将其与框架连接起来。之后,我会手动改进组件,调整外观,并确保所有功能正常运行。
这里的风险极小。人工智能不涉及业务逻辑、数据库或支付系统。最糟糕的情况无非是人工智能没有给出预期结果,我浪费几个小时而已。
但是,只有当你了解正在发生的事情并试图优化流程时,才应该进行氛围编码,而不是依赖人工智能去做你不完全理解或自己无法完成的事情。
人工智能的效用如何?
今年夏天,人工智能研究小组 METR 发表的一项研究质疑人工智能编码工具是否真的能帮助经验丰富的开发人员提高生产力。
在这项研究中,METR 邀请了 16 位经验丰富的开源开发者,让他们在大型代码库上完成 246 项任务。其中一半任务允许他们使用 Cursor Pro 等 AI 工具,而另一半则不允许。
在开始之前,开发人员认为人工智能可以帮助他们提高24%的任务完成速度。但结果却出乎意料:“使用人工智能实际上使他们的速度降低了19%,”研究人员表示。
值得注意的是,研究中只有 56% 的开发者有使用 Cursor(本研究的主要人工智能工具)的经验。虽然几乎所有开发者(94%)都有在编码工作流程中使用某些基于 Web 的语言学习工具的经验,但对于部分开发者而言,这是他们首次专门使用 Cursor。研究人员指出,为了参与本研究,开发者们接受了 Cursor 的使用培训。
这些结果引发了人们对人工智能工具是否总能提升开发者效率的质疑。研究人员认为,开发者会花费大量时间向人工智能寻求帮助并等待响应,这会降低他们的开发速度。此外,人工智能在处理大型复杂代码库(例如本次测试中使用的代码库)时也面临挑战。
该研究的作者谨慎地表示,他们并未从这些发现中得出任何确切的结论,并明确指出,他们并不认为人工智能系统目前无法提高大多数软件开发人员的工作效率。其他大规模研究也表明,人工智能编码工具确实能够加快软件工程师的工作流程。
资料来源:METR 2025年研究报告
与此同时,在Reddit上,开发者们分享了他们使用人工智能的经验。例如,在一篇题为“我们在FAANG公司如何高效地编写代码”的帖子中提到,人工智能将功能开发效率提高了约30%,而这并非发生在小型创业公司,而是在一家大型IT公司。除了编写代码之外,人工智能还帮助编写测试并加快了代码审查速度。
正如你所见,在工作中使用人工智能并非万能灵药,它并不能解决所有问题。它主要是一种工具,即使是经验丰富的开发人员,它也能提供帮助,但也可能拖慢速度。就我个人经验而言,人工智能非常适合简单、局部性强的任务,这类任务不需要独特的解决方案。但任务越复杂、规模越大,它就越容易拖慢你的速度。
利用人工智能进行学习
2017 年,我还是个学生的时候,我的 C++ 老师教我们只凭记忆和知识编写代码。我们不把代码写在纸上或记事本里;那时我们用的是 Visual Studio 2015,IntelliSense 功能还不完善,我们也不知道像 ReSharper 这样的插件。你知道我们当时最大的发现是什么吗?快捷键。就是输入一个关键字(比如“for”或“switch”)然后按下“Tab”键,IDE 就会自动生成代码——虽然不是全部代码,而是生成一个模板结构来加快开发速度。我们当时觉得这很酷,但很快就放弃了。为什么呢?因为我们开始学习独立编写代码了。
你可以读读像Jeffrey Richter 的《CLR via C#》或者 Steve McConnell 的《代码大全》这样的书,但除非你写过成千上万行(甚至数万行)代码,否则你学不会如何正确编程,或者只会写得很糟糕。在我们学习 C++ 的时候,我们写过链表、二叉树,大量使用内存,甚至还在 Windows 控制台里创建过井字棋和十五点棋之类的游戏。你知道那种所有代码都是你自己写的,没有任何帮助或人工智能辅助的感觉有多棒吗?
根据 StackOverflow 的年度调查,在18-24 岁刚开始学习编程的人群中,约有70%的人使用人工智能。
我认为,人工智能可以帮助你用简单的语言解释复杂的知识,这是一大优势;如果你没有导师,还可以像和导师交流一样与它对话。但是,你仍然需要自己编写代码,并花时间去理解为什么某些代码无法正常运行。只有这样,知识才能真正被掌握并产生实际效果。因此,尽量减少人工智能对你学习的影响。不要完全依赖它提供的代码。它常常会给出错误的信息,只会让你更加困惑,所以一定要参考其他资源。
一旦你学会独立编写代码、使用人工智能,并了解在哪些方面能最好地运用它,它必将真正提高你的工作效率。
结论
ChatGPT、Claude、Cursor 等工具的出现对软件开发行业来说是一大福音。它们有助于减少重复性工作,加快开发速度,并简化程序员的开发流程。然而,人工智能仍然无法很好地处理所有任务。因此,首先,你应该依靠自己的知识,并不断学习。
感谢您阅读本文至此。请在评论区分享您对人工智能的看法——您在哪些方面使用人工智能?它对您的效率提升了多少?
文章来源:https://dev.to/empiree/ai-in-software-development-boosting-or-slowing-your-productivity-fkl




