关于“氛围编码”的残酷真相

目前 AI 的热潮可能让许多人认为“氛围编码”让一切变得非常容易,但现实是,它也有自己独特的障碍,开发者必须学会应对。

关于“氛围编码”的残酷真相

AI 编码助手和代理无疑使应用程序开发变得更快、更容易。这可能会让人觉得这项技术即将完全取代开发者,尽管这是一个合理的担忧,但我认为现实更为复杂。让我们深入探讨一下。

1、AI 驱动的编码崛起 🚀

“AI 氛围编码”这一概念引发了广泛关注,这是有充分理由的。它是一个改变游戏规则的技术,我个人在减少开发时间方面受益匪浅。像编写单元测试这样的任务,曾经既繁琐又对代码完整性至关重要,现在变得简单多了。

Exploding Topics 报告称,2025 年 3 月之后“氛围编码”的搜索量激增,这表明其重要性正在上升。特别是 Claude 和 OpenAI 的 AI 模型,在软件工程基准测试中展示了显著的效率提升。《福布斯》甚至指出,Y Combinator 当前团队中有四分之一的初创公司代码库有 85% 或更多的代码是 AI 生成的。这一切都表明我们构建软件的方式正在发生巨大变化。然而,这里有一个隐藏的问题。

2025 年 3 月后“氛围编码”的搜索量激增。来源

2、为什么 AI 氛围编码可能是一把双刃剑 ⚔️

虽然 AI 明显提高了速度,但它也给开发者带来了新的复杂性和挑战。

2.1 不切实际的期望 😬

经理们甚至非技术人员也开始产生不切实际的期望。他们可能会认为,原本需要一周的工作现在只需一天就能完成,而且几乎不需要努力。我听说过一些产品经理(PMs)不仅构思想法,还生成代码原型,然后质疑为什么软件工程师需要一整天的时间来做 AI 只需半天就能完成的事情。

他们往往忽略了原型生产就绪代码之间的关键区别。AI 可以快速生成代码,但将其变成生产就绪代码仍然需要仔细注意以下几点:

  • 日志记录: 确保正确跟踪应用程序行为。
  • 错误处理: 实现稳健的机制来优雅地处理问题。
  • 可观测性: 建立系统来监控和理解应用程序的健康状况。
  • 测试: 建立全面的测试套件以防止回归。

2.2 代码审查负担 🧐

准备好花更多时间审查代码吧。如果你之前跳过了拉取请求的审查,那么在面对 AI 生成的代码时你将面临巨大的挑战。除非你想在半夜调试问题,否则代码审查是必不可少的。

虽然 AI 模型可能比人类犯的错误更少,但它们常常以自信的方式犯错。这可能导致一种虚假的安全感,让你盲目信任 AI 的输出而缺乏批判性思考。这种依赖可能会逐渐侵蚀你的批判性思维能力。

2.3 不想要且不必要的 AI 建议 😤

最让我烦恼的是,像 Copilot 这样的工具会在每一行代码上不断给出建议。很多时候这些建议是错误的,导致令人沮丧。感觉就像被挑衅去采取错误的行动,因为建议无关或“垃圾”。

2.4 更短的时间压力⏰

AI 生成代码的便捷性导致了项目周期变短。虽然你可以更快地生成代码,但你仍然需要运用自己的创造力解决问题,使其适合生产环境。企业看到 AI 减少了上市时间,但必须记住,这是人与 AI 之间的协作努力。

审查由他人(或某物)生成的数千行代码远非易事。你可能会想:“如果我们创建一个代码审查代理呢?” 虽然听起来很有前景,但你能真正相信 AI 能像你一样理解项目的复杂细节和复杂依赖关系吗?通常有很多内部术语和特定于项目的上下文,AI 模型很容易犯下幼稚的错误。你还需要花时间设计详细且精确的提示,以有效地引导 AI。对于复杂的项目,这意味着分解任务并拼接多个 AI 输出以创建一个连贯的端到端解决方案。正如研究“Break-The-Chain: Reasoning Failures in LLMs via Adversarial Prompting in Code Generation”和“The Illusion of Thinking: Understanding the Strengths and Limitations of Reasoning Models via the Lens of Problem Complexity”  所示,混淆或复杂的提示会显著降低 AI 的性能,准确率下降高达 42.1%。

这张图片显示了一个复杂且混淆的提示如何阻止 AI 解决一个简单的编码挑战。来源
这张图片说明了在汉诺塔问题中,增加磁盘数量会使任务超出模型的训练范围——导致其准确性急剧下降。来源

3、“AI 使能”的开发者 💡

因此,尽管 AI 显著提升了开发速度,但也引入了一套新的挑战。在职业生涯中“具备 AI 能力”不仅仅是知道如何使用 AI 提高生产力。这意味着你必须能够:

  • 批判性地评估 AI 的输出。
  • 理解 AI 生成的代码。
  • 提出有洞察力的问题。
  • 进行彻底的审查,以确保一切正确无误并适合生产环境。

至关重要的是,你仍然需要扎实的基础知识。如果你一直依赖 ChatGPT 来通过数据结构或算法作业,那么在现实世界中你将面临巨大困难。目前 AI 的热潮可能让许多人认为“氛围编码”让一切变得非常容易,但现实是,它也有自己独特的障碍,开发者必须学会应对。


原文链接:The Brutal Truth About Vibe Coding — From a Software Engineer Who’s Tried It

汇智网翻译整理,转载请标明出处