AI 与软件生产力的幻觉

生产力悖论:代码更多,公司却没变多

生成式 AI 显著提高了编写代码的速度,但这种速度并没有转化为革命性科技公司的成比例增长。虽然支持者认为,开发速度 10 倍的提升应该会催生出像 Airbnb 或 Stripe 这样新一波的独角兽公司,但现实情况是,GenAI 的主要受益者是 GenAI 公司本身。

这种差异之所以存在,是因为编写代码行并不是软件开发的主要瓶颈。AI 辅助编程被视为“银弹”的认知往往忽略了产品市场契合度(product-market fit)、网络效应以及构建安全、可扩展系统所需的严谨工程实践的复杂性。正如一位评论员所指出的,Airbnb 和 Stripe 等公司受限的并不是代码生产速度,而是营销和网络效应。

“氛围编程”与智力依赖的危险

目前出现了一种“氛围编程”(vibe coding)的趋势,即非技术背景的创始人使用 AI agent 来构建最小可行产品(MVP),而无需首席技术官(CTO)或深厚的技术专长。这种方法创造了一种危险的能力幻觉,导致了几个关键风险:

  • 安全漏洞: 非专家可能会生成可以运行但未针对常见攻击进行“安全加固”的代码,从而可能暴露敏感的用户数据和信用卡信息。
  • 架构脆弱性: AI 经常推荐次优的架构——例如将 Web 应用、数据库和后台进程托管在单个服务器上——这并不适用于具有大量流量的生产环境。
  • 智力依赖: 存在“游戏化大规模智力依赖”的风险,即开发者依赖 AI 提供答案,而不是对问题进行批判性思考。

AI 编程的“锯齿状智能”

AI 对生产力的影响并非一成不变;它取决于用户现有的专业知识。这种现象被称为“锯齿状智能”(jagged intelligence),即 AI 在某些任务中非常有效,但在其他任务中却会遭遇灾难性的失败。

按专业水平划分的影响

  • 对于非专家: AI 提供了巨大的产出提升,让以前不会编程的人能够制作出可运行的应用程序。然而,他们缺乏识别 AI 是否在生成“小丑车”(clown car)代码的直觉——即代码可以运行但结构不健全。
  • 对于专家: 经验丰富的工程师经常发现,AI 在处理样板代码、重复性的 SQL 或 shell 脚本(bash)时最为有用,但在处理非平凡的、特定领域的复杂问题时,实际上可能会拖慢他们的进度。正如一位专家所言:“在我非常资深的领域,它产生的输出质量比我手动编写的更差,速度也更慢。”

质量与速度的权衡

AI 可以生成通过测试的代码,但不一定能通过代码审查(code review)。虽然它可以加速功能的交付,但同时也可能加速技术债务的积累。有一种观点认为,AI 对某些人来说可能实际上是一种教学工具,让学生比传统方式更快地遇到技术债务和可维护性问题。

综合 AI 开发中的人类因素

为了避免 AI 加速失败的陷阱,科技行业必须保持对人类专业知识和批判性监督的的关注。资深从业者的共识是,AI 是一个加速器,而非推理能力的替代品。

"AI 会让你在铲屎方面变得更快,如果你只会铲屎的话。"

将 AI 有效集成到工作流中需要一种“人机协作”(human-in-the-loop)的方法。例如,一些资深开发者正在使用 AI 来辅助审查初级开发者的 PR,通过标记特定行进行分析,同时要求初级开发者编写功能测试来证明其对代码的所有权和理解,而不仅仅是简单地接受 AI 生成的修复方案。

Sources

相关