Linus Torvalds 炮轰 AI 神话

Torvalds见证了编程在每一次重大生产力变革中的演进:机器码、汇编器、高级语言、编译器。每一次变革都被称作革命性的。

Linus Torvalds 炮轰 AI 神话
AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

"我们99%的代码都是AI生成的。"Linus Torvalds说这是胡扯。

这个打造了Linux和Git的男人刚刚揭穿了软件工程领域最大的虚张声势。

在明尼阿波利斯举行的北美开源峰会上,Linus Torvalds在短短三十秒内就说出了足以击穿数月AI炒作的话。

当一位听众提到越来越多团队声称他们的大部分代码是由AI编写的趋势时,Torvalds毫不留情。他说这让他感到愤怒。

他的论点非常精准:按照同样的逻辑,这些团队也可以说他们100%的代码是由编译器编写的。这在技术上是事实,但没人会这么说,因为每个人都理解编译器是工具,而不是作者。

AI也是一样。它是一个非常强大的工具,但不能替代理解工具产出的工程师。

1、编译器的类比才是关键

Torvalds见证了编程在每一次重大生产力变革中的演进:机器码、汇编器、高级语言、编译器。每一次变革都被称作革命性的。每一次确实如此,而且每一次都提高了开发者构建软件的门槛下限,却没有降低对理解能力的要求上限。

他的估计是:编译器在几十年的时间里将编程生产力提升了大约1000倍。在他看来,AI在此基础上大约能带来10倍的提升。意义重大,但并非人类工程师的终结。

每个时代的规律都如下所示:

Programming Evolution:
──────────────────────────────────────────────────────────────
Era             Tool              Productivity Multiplier
──────────────────────────────────────────────────────────────
1950s           Machine code      1x (baseline)
1960s           Assembly          ~5x
1970s–80s       Compilers         ~100x
1990s–2010s     Higher-level      ~1000x (cumulative)
                languages + IDEs
2020s           AI coding tools   ~10x on top of above
──────────────────────────────────────────────────────────────

Key constant: Human understanding of systems required at every stage.

产出的跃升从未消除理解正在构建之物的必要性。这就是他的论点。

2、AI真正有用的地方(以及它制造麻烦的地方)

Torvalds并没有否定AI。Linux内核项目本身已经看到了可衡量的效果:在最近的发布周期中,提交量增加了约20%,其中很大一部分是AI辅助的。AI还在35年历史的代码中发现了真正的bug——这些bug已经沉寂了几十年。

但发现bug和修复bug是两回事。

AI Impact on Open Source — Two Sides:
──────────────────────────────────────────────────────────────

[ AI Tool ]
        │
        ├──▶ Bug Detection ──▶ Files report ──▶ PR submitted
        │                                           │
        │                              ┌────────────┘
        │                              ▼
        │                    [ Human Maintainer ]
        │                         reviews
        │                         validates
        │                         merges or rejects
        │
        └──▶ Bug Fix (patch) ──▶ Also reviewed by maintainer
                                        │
                    ┌───────────────────┘
                    ▼
          For kernel: manageable (resources exist)
          For small projects (1–3 maintainers): burnout risk
──────────────────────────────────────────────────────────────

对于拥有丰富资源和成熟审查流程的Linux内核来说,额外的负载是可控的。但对于成千上万个只有一两个人维护的项目来说,AI生成的bug报告浪潮——很多没有补丁,很多没有后续跟进——是一个真正的倦怠问题。

Torvalds指出了一种特定模式:公司用AI生成开源项目中的bug列表,公开发布这些列表,却不提供补丁。这制造了关注,但也为没有参与这个过程的维护者创造了额外的工作。

3、真正好的AI辅助开发是什么样的

富有成效的AI使用与噪音之间的区别,在于使用工具的工程师是否理解输出。Torvalds直言不讳:理解系统的开发者会用AI编写好的代码。不理解的人会用AI编写垃圾——这揭示了"提示词一敲就发布"的工作流程与"先理解再使用"的工作流程之间的差距:

# ──────────────────────────────────────────────────────────────
# Prompt-and-ship (what Torvalds is criticizing):
# ──────────────────────────────────────────────────────────────

# AI generates this memory allocation block.
# Developer ships it without understanding the lifecycle.

def process_data(data: list) -> list:
    results = []
    for item in data:
        results.append(transform(item))   # AI wrote this
    return results                         # No review of edge cases

# ──────────────────────────────────────────────────────────────
# Understand-then-use (what actually scales in production):
# ──────────────────────────────────────────────────────────────

def process_data(data: list) -> list:
    # Developer understands: large lists, generator preferred
    # AI suggested the pattern; engineer validated the tradeoff
    return list(
        transform(item)
        for item in data
        if item is not None          # Edge case: engineer added
    )

第二个版本之所以更聪明,不是因为有没有AI的参与。它更聪明是因为工程师对系统有足够的理解来审查AI的产出。

这就是全部要点。

4、维护者倦怠问题是真实的

这是AI编程热潮中最少被讨论的后果,Torvalds在这方面花了大量时间来阐述。

拥有数十年基础设施和社区积累的Linux项目,可以吸收AI辅助PR的激增。大多数开源项目做不到。一个在某个自己关心的库上花了十年时间的开发者,现在收到大量半成品AI bug报告需要分类处理,这不是在体验生产力提升,而是在体验一种以别人便利为代价的工作量转移。

PR Volume vs. Maintainer Capacity:
──────────────────────────────────────────────────────────────
                        Pre-AI      Post-AI surge
──────────────────────────────────────────────────────────────
Linux kernel PRs        high        ~20% higher (manageable)
Small OSS projects      moderate    often unsustainable
Drive-by reports        rare        increasingly common
Reports with patches    majority    declining %
──────────────────────────────────────────────────────────────

导致倦怠的不是工具本身,而是那种认为AI发现的bug就应该自动成为别人问题的期望。

5、真正的结论

Torvalds并不反对AI。他自己在用。Linux内核项目也在用。他承认AI确实发现了数十年人工审查遗漏的bug。

他所反对的是那种叙事框架——即认为AI工具生成的代码行数是一个有意义的指标,或者认为工程师在循环中是可选的。这种框架的错误在于,按照同样的逻辑,任何人都可以声称自己的代码库是"由编译器编写的"。

工具完成工作,工程师理解系统。两者缺一不可,假装并非如此才是让他愤怒的原因。


原文链接: "99% of Our Code Is AI-Generated." Linus Torvalds Says That's Nonsense.

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