有些软件工程师需要听听这番话

MMaximilian Schwarzmüller
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00Linux 的创始人 Linus 分享了一段非常有趣的言论,谈到了在
00:00:06Linux 内核中使用 AI 的问题。我想有些人需要听听这些,因为我在过去几年的
00:00:13几乎每一集视频里都说过同样的话:如果你表现得好像 AI 不存在、
00:00:20也不觉得它有用,那么作为一名软件工程师,作为一名专业软件工程师,
00:00:26你将没有未来。你可以去争论 AI。它确实有缺点。它无疑也夺走了一些我
00:00:33在软件工程中感受到的乐趣。我也分享过这方面的想法。我也在不断发现
00:00:37新的乐趣,但你不能忽视它。你不能表现得好像它一无是处,没有任何
00:00:44缺点一样。这就是为什么这个观点非常有趣。我意识到有些人确实
00:00:49非常讨厌 AI,但在这一点上,作为 Linux 的最高级别
00:00:54维护者,我愿意坚定地表明立场。Linux 绝不是那种反 AI 的项目,
00:01:00其中最显著的例子大概就是 SIG 项目。但确实,Linux 绝非反 AI 项目。如果
00:01:05有人对此有意见,他们完全可以按照开源的方式去分叉(fork)它。现在,要明确一点,
00:01:11我完全意识到 AI 对开源维护者带来了许多负面影响。他们被
00:01:18大量的垃圾拉取请求(pull request)和问题淹没,很难跟上所有的进度,因为
00:01:25有无穷无尽的垃圾涌入,而你作为维护者会感到压力,不得不去处理
00:01:31这些东西,或者干脆完全无视它们。当然,这也不是开源的初衷。我完全
00:01:37理解这一点。然而,问题的答案显然不能是彻底无视 AI。你可能选择无视
00:01:47特定的问题和拉取请求,但这并不意味着你本人就不应该使用 AI,或者说一些核心
00:01:54贡献者不应该使用 AI。例如,SIG 项目就有非常坚定且严格的“反 AI”政策,
00:02:03即不接受任何由 AI 生成的代码,或者代码涉及 AI 生成部分的拉取请求。
00:02:10市面上确实有一些代码仓库和项目制定了相当严格的政策。当然,每位维护者都有权
00:02:17做他们想做的事。但我确信这绝不是未来的方向,无论是对维护者还是对广大软件工程师而言。
00:02:23你必须将 AI 视为它本身——一种工具。作为工具,你必须学习。你必须学会如何高效地驾驭它,而且它正在迅速进化。因此,你使用 AI 的方式也会改变。我知道有很多开发者,可能在一两年前使用过 AI,或者在他们公司中使用受限或过时的模型,又或者是在那些无法充分利用模型的环境中。我完全理解如果情况如此,AI 看起来并不那么强大。
00:02:51但在自己的机器上多尝试一下,保持开放的心态。把它当成一个学习过程来拥抱。这是一种我们都需要不断精进的工具,我们也都需要找出使用它的最佳方式。
00:03:02这其实是一个完整的范围,对吧?你可以处于“随性编程”(vibe coding)的领域,根本不在乎代码;你也可以处于“智能体工程”(agentic engineering)的领域,在那里你确实关心代码,但依然使用 AI,在那里你构建或编写规范、计划,进行评审,但同时也会让一切实现自动化。
00:03:21这并非非黑即白。它不是简单的“一”或“零”,尽管有些人喜欢把它定义得这么简单,但事实并非如此。这是一个光谱,是一个正在迅速演进的过程,我们仍有许多东西需要学习。
00:03:34你不需要非得构建出试图自动化一切的循环,但你也可能不应该再仅仅将 AI 用作自动补全工具了。
00:03:44你应该真正拥抱它,尝试各种新事物,保持对失败和学习的开放心态,并乐于随着时间的推移改进你的流程。
00:03:54试着使用智能体技能(agent skills),看看这如何改善工作,以及针对你的特定工作流程微调这些技能将如何带来改进。
00:04:02这正是我所做的,也是大多数正在应用 AI 的人所做的。
00:04:07他们正在尝试弄清楚如何有效地运用它。这就是为什么这里有一个如此精彩的观点,因为 Linus 所说的显而易见:Linux 将会在 AI 的帮助下被构建或维护。
00:04:21而那些不想要这种方式的人,大可以转身离开。
00:04:25AI 是一种工具,就像我们使用的其他工具一样,它显然是一个非常有用的工具。
00:04:29这和我刚才说的一样。
00:04:31当然,大多数高效使用 AI 的人都在说:我这里指的不是那种将 AI 视为替代品而非工具的“随性编程”领域。
00:04:44它是一个超级有用且强大的工具,正如之前提到的,它还在迅速进化。
00:04:49即使就在一年前,它可能还没这么明显,但今天这已毋庸置疑。
00:04:53我认为这一点说得非常好。
00:04:55我们所有人都能感受到,至少如果你是在接触这些较新的模型,并且一年前也在使用它们的话。
00:05:03所以,在 2025 年夏天,所有这些工具和模型显然要差得多。
00:05:10我在 2025 年到 26 年 12 月过渡期这里说错了。
00:05:17我曾预测,或者说在 1 月初时我预测,模型可能不会有太大的进步。
00:05:22而我显然是错了。
00:05:23它们确实进步巨大,因为它们在遵循指令、调用工具、使用技能、以及更长时间地持续工作方面变得强多了。
00:05:36AI 公司所做的后期训练(post training)确实非常有效,且至今依然如此。
00:05:41当然,它们还在不断变得更好。
00:05:43但正如我当时所说,我们使用这些模型的工具链也得到了极大改善。
00:05:48我们有像 Pi 这样出色的编程辅助 harness。
00:05:52我们有 Cloud Code,有 Codec,我们有非常多这样的工具,而且大多数都相当、相当不错。
00:05:56当然,它们也在演进,可以被良好地使用,使得模型在其中能够非常高效地工作,它们可以使用子智能体(sub-agents),可以使用这些智能体技能,等等。
00:06:10与一年前相比,这一点显然已经改变了。
00:06:13是的,当然,你现在能做的事情比一年前多得多了。
00:06:18关于 AI 还有其他问题,比如它最终的经济模式会是什么样。
00:06:23但“它是否有用”不再是一个问题。
00:06:25任何对此怀疑的人显然都没有真正使用过它。
00:06:28我完全同意这一点。
00:06:29再说一次,我确实知道有些人只是在通过“愤怒诱饵”(rage baiting)来博眼球,这没问题。
00:06:35这就是互联网。
00:06:36我是知道的。
00:06:37但如果你真的认为应该忽视 AI,请三思。
00:06:44如果你想在这个领域继续发展,这是一种非常危险的态度和观点。
00:06:50而对于某个人是否离开软件工程领域,我一点也不在乎。
00:06:56但我一直努力创作有用的内容,去教人们知识,我也会继续这样做。
00:07:02而其中的一部分就是我想分享我的观点。
00:07:05所以恳请大家,如果你对 AI 非常怀疑,请亲自试一试,学习如何使用它,并保持开放的心态。
00:07:13这真的很重要。
00:07:15这是软件工程的未来。
00:07:17再说清楚一次,因为肯定会有评论区质疑。
00:07:20这不是什么新观点。
00:07:21我在之前的几乎每一集里也都说过。
00:07:25AI 是一种工具。
00:07:26你需要学习如何使用它。
00:07:28是的,它有时也可能是一种痛苦的工具,但无论是对于维护者的工作负载,还是单纯从“它能找出令人尴尬的漏洞”的角度来看。
00:07:37是的,这就是我之前提到的关于维护者被 AI 相关内容淹没的问题。
00:07:42但解决的方法不是把头埋进沙子里,高唱着“啦啦啦”。
00:07:45就像有些人似乎在做的那样。
00:07:48完全同意。
00:07:49解决的方法是确保那些 LLM 工具能协助维护者,而不是给他们带来痛苦。
00:07:53在这方面毫无疑问。
00:07:55这正是我在此处所表达的意思。
00:07:57你必须保持开放。
00:07:58你必须学会如何使用那个工具。
00:08:00我也会在另一个频道,即 Academy 频道上创建更多资源,尝试免费分享更多关于我如何使用这些工具的内容。
00:08:12这对你们中的一些人或许也会有帮助。
00:08:15我们并没强迫任何人使用它,但我会非常大声地无视那些试图阻碍他人使用 AI 的人。
00:08:20不,AI 并不完美,但天哪,任何指出 AI 存在问题的人,最好在照镜子时也同时指向自己。
00:08:27因为人类自身的自然智能也并不总是那么完美。
00:08:31我是说,这是一个很好的观点。
00:08:34我发现自己处于这样一种境地:你对 AI 的期望比对人类的期望更高。
00:08:41但同时,你往往又比信任 AI 更信任人类。
00:08:45尽管,当然,人类也同样容易犯错,对吧?
00:08:50我们,没有人是完美的。
00:08:51我们都写过不少糟糕的代码,或者引入过漏洞,我们并不完美。
00:08:56当然,一个巨大的区别是主体性(agency)。
00:08:59作为人类,你拥有这一段代码。
00:09:01你对那段代码负责。
00:09:03而对于 AI,情况并非如此。
00:09:05AI 并不拥有它。
00:09:06AI 不对它负责。
00:09:08依然是你,那个作为人类的你。
00:09:09也许这就是为什么我们对 AI 的期望更高。
00:09:13因为如果某种工具为你编写代码,但你却要负责,这可能就是为什么当代码很烂时,你会变得非常愤怒。
00:09:22当然,也是因为那个东西——AI,威胁到了你的工作。
00:09:27显而易见,你确实会有这种感觉。
00:09:30因此,更进一步说。
00:09:32你觉得,好吧,既然你要抢我的工作,你最好就把工作做好。
00:09:35我不知道。
00:09:36我确实也有那种感觉,即你对 AI 的期望比对人类更高。
00:09:40但这当然是一个很好的提醒,即人类也并不完美。
00:09:44再次强调,正是那种结合。
00:09:46我真心、深深地相信这一点。
00:09:48正是那种结合。
00:09:50在过去 40、50、60 年里,正是技术与人类的这种结合,才能够产出如此惊人的成果。
00:09:59所以,我相信这是一个非常重要的观点。
00:10:04内核项目过去一直、且未来也将继续是关于技术本身。
00:10:07当然,从事开源工作的社会角度也很重要,而且往往是项目中非常有激励作用的一部分。
00:10:12但最终,那只是次要的。
00:10:13如果那不是项目的核心目标,那么这根本不是什么社会正义战士项目,从来都不是,未来也不会是。
00:10:21我是说,我不确定这是否是有意为之。
00:10:24但你可能会把这看作是对其他一些项目(比如 SIG 项目)的一点点攻击。
00:10:32但还有其他的项目,它们也非常反 AI,感觉更像是一种使命,而不是试图构建有用的技术或工具。
00:10:43或许我完全错了。
00:10:45不要仅仅关心生产出好的结果或成果,而更多是关心编写代码的艺术,尽管在某种程度上我完全理解这一点。
00:10:55但如果你从事的是专业工作,情况就不同了。
00:10:57这只是我的看法。
00:10:59就像我在其他视频中提到的,正如我之前所说的,AI 确实夺走了一些乐趣。
00:11:06我也喜欢那种纯手工编写代码的艺术,但对我来说,它现在真的只是一门艺术。
00:11:13我可以把它作为一种爱好,但不能作为专业。
00:11:17全部手工编写代码,那绝不是未来。
00:11:21在专业层面上。
00:11:22再说一次,我只能一遍又一遍地说。
00:11:26在内核社区中,我们做开源是因为它带来了更好的技术,而不是出于宗教信仰的原因。
00:11:32所以,我们做决定主要基于技术价值,而不是对新工具的恐惧。
00:11:37我想有些人需要读读这段话。
00:11:39我知道许多人已经注意到了,或者可能有类似的观点,但有些人真的需要
00:11:47重新审视他们的 AI 立场,如果你想留在该领域,或许需要变得更加开放。
00:11:54如果你只是为了博眼球,或者你只是把这当作爱好,这完全没问题,
00:12:01那么是的,当然,你可以完全忽视它,但这不是一个短暂的狂热。
00:12:04它不会消失。
00:12:05再次重申,我多年来一直在说。
00:12:09所以,请试着对此更开放一点,并把 AI 当作一种工具来使用。
00:12:16它真的是一个非常有用的工具。
00:12:19我认为 Linus 在这里说得非常棒。

Key Takeaway

软件工程师必须将AI视为一种快速进化的核心工具,并主动学习如何利用它提升工作效率,而非因恐惧或抵制而放弃这一技术发展的必然方向。

Highlights

  • 软件工程师若持续忽视AI工具的存在,将失去职业发展的未来。

  • Linux内核项目明确表示支持AI,并将AI视为构建和维护系统的有效辅助工具。

  • 将AI视为完全的替代品而非辅助工具,会导致低效的“随性编程”行为。

  • 即便在严格的开源项目中,AI提供的指令遵循、工具调用和任务处理能力已实现大幅度提升。

  • AI工具并非完美,且存在因其错误代码导致维护者压力增大等问题,但解决方式是优化工具链,而非全面抵制。

Timeline

专业软件工程中的AI必要性

  • 作为专业软件工程师,忽视AI等同于自断职业未来。
  • Linux内核项目明确拒绝反AI立场,并允许维护者自主使用AI技术。
  • 开源社区维护者面临AI生成的垃圾代码压力,但解决方案不是无视AI,而是学会高效驾驭工具。

专业工作的核心目标是产出优质技术,而非遵循宗教般的抵制情绪。对于Linux内核等项目,若贡献者无法接受AI驱动的工作流,则并非项目的目标群体。AI带来的压力是真实存在的,但通过分叉项目或完全无视AI并不能解决技术演进带来的问题。

从随性编程到智能体工程

  • 使用AI的过程是一个光谱,从“随性编程”到“智能体工程”均有不同应用层级。
  • 开发者应通过个人机器尝试各种AI模型,保持开放的学习心态。
  • 现代编程辅助工具链(如Pi、Cloud Code等)已显著改善了AI模型的可用性。

AI的应用不是简单的“非黑即白”。在智能体工程阶段,开发者不仅编写规范和计划,还利用AI实现流程自动化。随着模型在指令遵循、工具调用和子智能体协作方面的能力提升,当前的开发工具链已远超一年前的水平。

应对AI的职业心态与责任

  • AI的有效性已毋庸置疑,怀疑者通常缺乏实际使用经验。
  • 人类开发者对AI的容错率比对人类更低,即便人类编写的代码同样存在漏洞。
  • 无论AI如何演进,人类始终对代码承担最终责任。

AI作为一种工具确实能夺走纯手工编码的部分乐趣,但这仅应视作爱好,而非专业工作的全部。专业工作的未来在于技术与人类智能的结合。抵制AI的人应当认识到,这种工具不会消失,学习如何使用它们是进入该领域发展的必然前提。

Community Posts

View all posts