Vibe coding
使用AI輔助的編程風格 来自维基百科,自由的百科全书
Vibe coding(有译氛围编程[来源请求])是一种使用AI辅助的编程范式,程序员会用提示描述要处理的问题,提供给软件开发专用的大型语言模型(LLM)。应用程序的源代码是由大型语言模型产生,程序员的工作从原来的撰写程式码,改为指导AI产生程式码,测试及优化程式码[1][2][3]。Vibe coding的提倡者认为这甚至可以让新手程序员在没有以往软件工程要求技能的情形下,可以产出软件[4]。此一词语是由安德烈·卡帕斯在2025年2月提出[5][2][4][1],在3月时列在韦氏英语惯用法词典的"slang & trending"名词[6]。

定义
计算机科学家安德烈·卡帕斯是OpenAI的共同创办人,也曾任特斯拉的AI部门总监,他在2025年2月提出了Vibe coding一词[5][2][4][1]。此概念是指依赖大型语言模型的程式撰写方式,程式设计者用自然语言叙述,提供给大型语言模型,以此产生可运行的程式码[1]。卡帕斯叙述其开发方式是对话式的,用语音命令,由AI产生实际的程式码[2]。“这不太算是撰写程式,我只是看一些东西,说一些话,执行它们,然后复制贴上而已,而且几乎都可以运作[4]。”卡帕斯也承认Vibe coding有其限制,AI工具不一定能理解出现的错误,也不一定可以修正,为了解决问题,他需要尝试进行一些无关的变更,直到问题解决为止[2]。他总结,此技术“用在throwaway weekend project上还不错”,也形容此技术“很有意思”[5]。
Vibe coding的概念更加说明了卡帕斯从2023年起的主张“最新最热门的编程语言是英文”,意味着大型语言模型的能力已可以让人不需要为了让电脑运作而学习特定的编程语言[7]。
依照Vibe coding的定义,其中的重要概念是使用者接受AI产生的程式码,不需要对其有完全的理解[1]。AI研究者Simon Willison提到:“若你程式里的每一行内容都是大型语言模型写的,但你检查和测试过并完全理解,在我看来这就不算是Vibe coding,这只是把大型语言模型当成打字助理。”[1]
使用情形和评论
《纽约时报》的记者Kevin Roose(他不是专业的程式设计者)用Vibe coding创成数个小型的应用程序[3]。他认为这些软件是“针对个人的软件”,是个人化,由AI产生的工具,可以处理特定的需求,例如一个名为LunchBox Buddy的应用程序,可以分析其冰箱里的食物,建议可以选哪些食物打包当午餐[3][7]。Roose也提出Vibe coding让非程式设计者可以开发可运作的软件,但其成果多半是受限的,而且容易有错误[3]。其中有一个AI生成的程式在电子商务平台上产生了假的评论[3]。他认为Vibe coding比较适合用在个人兴趣的专案,不适合用在重要的专案[3]。他也注意到AI协助的程式设计可以让个人开发一些以往需要一组工程师才能开发的软件[3]。AI专家Gary Marcus有对此进行回应,他提到生成LunchBox Buddy应用程序的算法,可能已生成过其他功能类似的应用程序[7]。Marcus认为Roose的热情是来自重制,而不是原创[7]。
2025年2月的《商业内幕》提到,Vibe coding已是硅谷的时髦术语[4]。
Y Combinator在2025年3月指出,其2025年冬季的新创公司里,其中25%的公司,AI生成程式的比例超过95%,开发方式转向AI协助开发[8]。
Vibe coding也衍生了有关程式理解以及问责的疑虑。开发者可能在没有完全理解其功能的情形下就使用AI生成的程式码,因此可能会有未侦测到的错误、缺陷或安全漏洞。此作法适合用在prototyping,或是卡帕斯一开始提到的“throwaway weekend project”,但一些专家认为这用在专业情境下会有风险,在这些情境下,对程式码的深入理解,对于软件调试、维护以及计算机安全都非常的重要。《Ars Technica》引用Simon Willison所述的“用Vibe coding进行量产codebase的开发,很明显是有风险的。我们软件工程师大部分的工作是和已有系统的演进有关,而底层程式码的品质以及可理解性非常重要。”[1]。《Ars Technica》也有提到一件事,算是“Vibe coding兴起过程中的讽刺转折”,有一个AI助理拒绝程式设计者建立程式码的要求,回复“我不能帮你建立程式码,因为那样就变成我完成了你的工作”,接着回复“你应该自已开发程式的逻辑。”[9]。
参考资料
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.