Linux之父以务实的态度对待AI编程
Linux之父Linus Torvalds对AI编程持实用主义态度:认为AI是强大的辅助工具而非取代者,能提升重复性任务效率,但强调"垃圾进垃圾出"的风险。他警告开发者必须严格审查AI生成代码,指出AI擅长生成平庸代码却难有创新。内核开发等复杂领域仍需人类工程师的"代码直觉",嘲讽"提示工程师"概念。Torvalds预测未来编程会更抽象,
很多在校CS专业的大学生会担心,”AI是否会取代程序员?”,”如果AI必将取代程序员,那我们的学习又有什么意义”,“AI不会取代程序员,那AI又将扮演什么样的角色,我们又该扮演什么样的角色”。今天,我们不妨看看 Linux 之父 Linus Torvalds,他是如何看待AI 编程(特别是像 GitHub Copilot、ChatGPT 等代码生成工具)。或许我们从中可以得到启发。

Linus 的观点可以概括为:实用主义、积极乐观、但带有强烈的“工程师式”的谨慎和警告。 他不是盲目追捧,也不是彻底否定,而是将其视为一个强大的、需要正确使用的工具。以下是他的核心观点,主要来源于他在公开活动(如 DebConf 2024)和 Linux 内核邮件列表中的讨论:
1. AI 是一种强大的辅助工具,而非取代者
-
类比为高级“拼写检查”或“自动补全”: Linus 多次将 AI 编程工具比作更智能的语法高亮和自动补全。他认为,就像没有人会声称拼写检查器“写”了一封邮件一样,AI 也没有“写”代码,它只是在辅助开发者。
-
能极大提升效率: 他公开表示自己已经在使用类似工具,并认为它们对于处理一些样板代码、重复性任务、查阅文档或生成简单函数非常有用。这能让开发者更专注于真正复杂和需要创造性的架构设计部分。
2. 对代码质量的强烈警告——“垃圾进,垃圾出”
这是 Linus 观点中最核心、最尖锐的部分。他反复强调:
-
AI 生成的是“平均化”的代码: AI 模型基于海量现有代码训练,其输出是统计上最可能的结果。这意味着它擅长生成常见、普通甚至平庸的代码,但很难产生真正优秀、创新或针对特定问题高度优化的解决方案。
-
会放大训练数据中的错误: 如果训练数据(即公开的大量代码)中包含错误、安全漏洞或不良模式,AI 会完美地学会并复制这些“垃圾”。
-
开发者责任不可推卸: 他强烈警告,接受 AI 生成代码的开发者必须对其进行极其严格的审查。你不能因为代码是 AI 生成的,就放松审查标准。他说,如果你把 AI 的垃圾输出当作宝贝提交,那么你就是一个糟糕的开发者。最终的责任永远在提交代码的人身上。
3. 对内核开发的潜在影响与“提示工程”的调侃
-
内核开发的特殊性: Linux 内核是极其复杂、对稳定性和性能要求极高的系统。Linus 认为,AI 目前很难理解内核中那些微妙、复杂的规则和“感觉”(例如锁的粒度、内存屏障的使用等)。这些深层的“代码直觉”仍然是资深维护者的核心价值。
-
“提示词工程师”不是真正的工程师: 他对社会上兴起的“提示词工程师”概念带有嘲讽。他认为,知道如何向 AI 提问(写提示词)是一项技能,但这与理解系统、设计架构、调试复杂问题的深厚工程能力有本质区别。后者才是内核开发的核心。
4. 长期展望:AI 将改变编程形态,但不会消除编程
-
编程将变得更抽象: Linus 预测,未来程序员可能更多地从事“元工作”——即设计、指导和审查 AI 的工作,而不是亲手写每一行代码。编程语言可能会向更人类可读、更描述意图的方向发展。
-
核心的维护者角色更加关键: 随着 AI 生成代码的激增,那些能够理解整个系统、拥有辨别代码好坏“直觉”的资深维护者和架构师将变得比以往任何时候都更加宝贵。他们是代码质量的最终守门人。
总结
Linus Torvalds 对 AI 编程的看法非常符合他的一贯风格:
-
实用主义: “有用就用,能提高效率就是好工具。”
-
质量至上: “但如果你因为用了这个工具就产出垃圾,那你就该被骂。”
-
责任明晰: “工具不承担责任,用工具的人承担全部责任。”
-
警惕炒作: “它不会魔法,只是基于现有模式的推测,别把它当神。”
总而言之,Linus 视 AI 编程为一个强大的“辅助轮”或“加速器”,但他认为“驾驶技术”和“目的地判断”仍然完全掌握在人类工程师手中,并且这个角色的重要性在 AI 时代反而被提升了
更多推荐


所有评论(0)