来源:至顶网
林纳斯·托瓦兹已经开始尝试氛围编程了。是的,真的!他正在使用谷歌的Antigravity AI助手来生成新业余项目的部分代码,而不是自己编写所有代码。这样做,他已经成为迄今为止采用这种快速传播且经常受到嘲笑的AI驱动编程方式的最高知名度程序员。
需要注意的是,托瓦兹并没有在让他出名的程序Linux和Git上使用这种方式,甚至也没有在他最著名的业余程序——潜水程序SubSurface上使用。相反,这是一个叫做AudioNoise的小程序——一个专注于数字音频效果和信号处理的最新副项目。他在制作物理吉他踏板GuitarPedal来学习音频电路后开始了这个项目。他现在将这些作为礼物送给内核开发者,最近还送给了比尔·盖茨。
虽然托瓦兹手工编写了C组件,但他转向Antigravity来制作基于Python的音频样本可视化工具。他公开承认,当在不太熟悉的语言中工作时,他会依赖在线代码片段。谁不这样做呢?
多年来,Stack Overflow一直是程序员寻求快速答案和代码片段来回答技术问题的首选网站。现在,微软CoPilot、ChatGPT和DeepSeek等AI聊天机器人在寻求编程问题快速解决方案的开发者中基本上取代了它。
在项目的README文件中,托瓦兹写道"Python可视化工具基本上是通过氛围编程编写的",描述了他如何"省去了中间人——我——直接使用谷歌Antigravity来制作音频样本可视化工具"。这一评论强调,AI生成的代码足够满足他的期望,他觉得没有必要手动重新实现它。
什么是氛围编程?氛围编程是一种软件开发方法,程序员用自然语言向AI模型描述他们的需求,然后模型生成可执行代码。与传统的AI配对编程工具(假设人类会阅读和完善每一行代码)不同,氛围编程通常涉及大体上接受AI的输出,并通过重新运行和调整提示而不是直接编辑代码来进行迭代。
主要供应商现在为这种工作流程推广专用工具:谷歌提供"Vibe Code with Gemini"来在AI Studio中将想法转化为可分享的应用,而Antigravity基于微软VS Code的分支通过Windsurf将对话式编程直接集成到IDE中。支持者认为,这允许开发者专注于意图和产品设计,同时将样板代码和低级实现细节交给AI处理。
然而,当应用于严肃程序时,这种方法可能导致巨大的失败。确实,创造了"氛围编程"这个短语来描述让AI聊天机器人在编程时自由发挥的AI领导者安德烈·卡帕西说:"对于一次性的周末项目来说还不错...但这不是真正的编程——我只是看东西、说东西、运行东西、复制粘贴东西,而且大多数情况下都能工作。"
这正是托瓦兹所做的:他将其用于小程序的快速修复。另一方面,有一个例子是软件即服务商业社区SaaStr的可信顾问杰森·勒姆金。他说,氛围程序Replit"在代码冻结期间失控、关闭并删除了我们的整个数据库"。
从历史上看,托瓦兹对软件开发中炒作驱动的捷径一直持怀疑态度,这使得他公开使用氛围编程变得引人注目。一个广泛分享的帖子转述了他的话,开玩笑说"氛围编程代表非常低效但有趣"。
这种讽刺和实用主义的混合体现了他的立场:氛围编程可以是"有趣且非常有用的",他认为,但只有在建立在强大基础之上,而不是被那些不理解代码在做什么的人当作拐杖使用时才行。他决定在非关键的业余项目中应用它,并且在他不太自信的语言中应用,将AI定位为强大工具而不是专业知识的替代品。
确实,Linux社区最近在维护代码的大部分基础工作中采用了AI。正如托瓦兹最近说的,虽然他仍然不喜欢AI炒作:"我讨厌AI这整个话题,不是因为我讨厌AI,而是因为它成了一个如此炒作的词。"尽管如此,他称自己是"AI作为工具的巨大信徒"。
随着连Linux的创建者现在都在尝试氛围编程,关于代码质量、可维护性和开发者技能的辩论可能会加剧。对于许多因原则问题而抵制AI生成代码的开发者来说,托瓦兹对合适项目类型的坦率认可可能是至少尝试让"氛围"编写几个函数的推动力。
Q&A
Q1:氛围编程是什么?它是如何工作的?
A:氛围编程是一种软件开发方法,程序员用自然语言向AI模型描述需求,然后AI生成可执行代码。与传统AI编程工具不同,氛围编程通常大体接受AI的输出,通过重新运行和调整提示来迭代,而不是直接编辑代码。
Q2:林纳斯·托瓦兹在哪个项目中使用了氛围编程?
A:托瓦兹在名为AudioNoise的业余项目中使用了氛围编程,这是一个专注于数字音频效果和信号处理的小程序。他使用谷歌的Antigravity AI助手来生成基于Python的音频样本可视化工具,而不是在Linux或Git等重要项目中使用。
Q3:氛围编程有什么风险吗?
A:氛围编程在严肃程序中可能导致巨大失败。例如,SaaStr顾问杰森·勒姆金提到,氛围程序Replit在代码冻结期间失控、关闭并删除了整个数据库。AI领导者安德烈·卡帕西也认为它只适合一次性的周末项目,不是真正的编程。