Featured image of post Vibe Coding(氛围编程)正在成为AI时代的编程新范式

Vibe Coding(氛围编程)正在成为AI时代的编程新范式

从这次代码编程的过程来看:1. 我们只需要用详细的需求描述就可以进行编程实践了。2. 相信AI代码的生成质量。3. 对于个人开发者是一个巨大的利好

最近发现X上流行一个新名词:Vibe Coding,正好自己这周也一直在用AI生成项目代码。

这个项目是因为很有公司的营销人员做社交媒体上的帖子分析的时候,需要帖子的几个度量指标,比如播放(阅读)数,点赞数,分享数,评论数,以及关于作者的粉丝数等指标。

因为需求比较急,我就直接使用grok来进行代码生成。发现现在的AI工具代码生成,其实现起来非常简单,只需要输入一些描述,然后由AI生成代码。

等于我们现在的程序员可以用自然语言描述软件需求,AI 工具自动生成代码。这个确实对于效率的提升是巨大的,我只花了两个小时左右的时间,把前后端代码生成了。而且前端代码可以实时更新后段数据处理的状态,grok都能根据这样简单的描述实现代码逻辑。确实非常棒了。厉害的是,我其实是一直在不断的追加新的需求,但是他都能很好的生成代码,而且我运行,只碰到过一次问题,是因为我让他重构代码,将代码分功能变成多个文件的时候,因为最开始的时候,都是一个文件,所以越来越大了不好维护。

从这次代码编程的过程来看:

  1. 我们只需要用详细的需求描述(意思是不用过的技术语言去描述需求),比如前面说的,不好维护这个词就可以触发大模型对代码重构的思考,从而使用当前语言的模块化设计方法来风格功能(甚至他用了python的类继承)。
  2. 相信AI代码的生成质量,基本上我生成完的代码不去修改他,直接运行然后测试,看看是否符合需求,然后提出新的需求就好了。
  3. 基本上对于个人开发者是一个巨大的利好, 虽然前后端我都知道一些,但是前端的代码其实写起来非常的繁琐和量大,这样的话,AI生成可以极大的提高工作效率。而且,比如我发现tailwind的css样式非常好看,我可以直接让他修改成用tailwind样式来修改代码。这样不需要一分钟,我就完成了这样的风格页面替换,界面瞬间提升一个效果档次。

但是我也有一点担忧,其实也是网上讨论的比较多的,就是代码的维护工作。这次进行vibe编程,给我的感受就是程序出错的时候,其实自己非常的慌张,如果这个是对项目比较着急的时候,其实是很麻烦的一个事情,因为对于生成的AI代码,如果超出了自己的一些认知范围的时候,你是无从下手去修改代码的。 比如对于tailwind的样式你不熟悉,你也不知道怎么引用,你只是让他使用了,如果在某些地方出了问题,你其实是非常棘手的,因为你不知道错在哪里。

当然,我相信AI vibe coding一定是一个未来编程的新范式,我们需要学习这种方式。我觉得对程序员不是一个冲击,而是让能快速适应对程序员能更加关注业务的实现逻辑,而不是How。 我们可以专注要做什么,做事的流程和细节,而具体的编码实现过程,则可以信赖AI来帮我们完成了。 我自己把AI助手成为结对编程的另外一个人,只是他是一个虚拟的人罢了。这应该也就是AI Vibe Agent的未来形式吧。

Vibe Coding Is The Future

Youtube上面关于vibe coding的讨论,可以看看这个视频。

AI对话:什么是Vibe Codding

一下的内容是我和Grok交流后得到的关于Vibe Coding的信息。

  • Vibe Coding 似乎是指一种通过 AI 辅助生成代码的编程实践,称为 Vibe Coding。
  • 研究表明,Vibe Coding 允许用户用自然语言描述软件需求,AI 工具(如大型语言模型)自动生成代码。
  • 这一概念由 Andrej Karpathy 在 2025 年 2 月提出,适合不具备深厚编程技能的人士。
  • 一个意想不到的细节是,这种方法可能降低软件开发的门槛,但也引发了代码可靠性和维护性的争议。

什么是 Vibe Coding?

Vibe Coding 很可能指的是 Vibe Coding,这是一种新兴的编程方式。用户只需用简单的语言描述他们想要的软件功能,AI 工具就会生成相应的代码。这种方法特别适合那些没有太多编程经验的人,让他们也能创建软件。

它是如何工作的?

在 Vibe Coding 中,用户通过自然语言(如英语)告诉 AI 他们需要什么,比如“创建一个简单的待办事项列表应用”。然后,AI 会生成代码,用户可以直接使用,而无需深入理解代码的细节。这过程类似于用语音命令操作,快速且直观。

有什么工具和影响?

常用的工具包括 Replit Agent、Cursor Composer 和 GitHub Copilot,这些都依赖于像 OpenAI 或 Anthropic 这样的公司提供的 AI 模型。Vibe Coding 的好处是降低了软件开发的门槛,但也有人担心 AI 生成的代码可能不够可靠,特别是在处理复杂问题或修复错误时。

更多信息请参考 Vibe coding - WikipediaWhat is Vibe Coding? - alitu.com


详细报告

Vibe Coding 的概念在当前的技术讨论中似乎并不直接存在,但根据搜索和分析,极有可能用户指的是“Vibe Coding”,这是一种由 AI 驱动的编程实践,特别是在 2025 年初开始受到关注。以下是关于这一主题的详细探讨,涵盖定义、工作原理、工具、影响以及相关争议,力求为用户提供全面的理解。

定义与起源

Vibe Coding 被定义为一种依赖 AI 的计算机编程实践,用户通过几句话的自然语言提示描述问题,然后由针对编码优化的大型语言模型(LLM)生成软件代码。这一过程免去了用户手动编写和调试代码的需要。

  • 该术语由 Andrej Karpathy 在 2025 年 2 月提出,Karpathy 是 OpenAI 的联合创始人,也是特斯拉前 AI 负责人。他的定义强调了一种对话式的编程方式,用户通过语音命令操作 AI,生成代码。
  • Karpathy 曾描述:“这不是真正的编码——我只是看一些东西,说一些东西,运行一些东西,然后复制粘贴,它大多能工作。”这反映了 Vibe Coding 的直观性和依赖性。
  • AI 研究员 Simon Willison 进一步指出:“如果 LLM 写了你所有的代码,但你审查、测试并完全理解了它,那在我看来这不是 Vibe Coding——那只是用 LLM 作为打字助手。”这强调了 Vibe Coding 的核心特征:用户接受代码而不必完全理解。

相关资源包括 Vibe coding - WikipediaWhat is Vibe Coding? - alitu.com

工作原理

Vibe Coding 的核心在于用户与 AI 之间的交互。用户用自然语言描述软件需求,例如“创建一个可以记录每日任务的简单应用”,然后 AI 工具会生成相应的代码。

  • 这个过程被描述为“基于意图的结果规格”,用户专注于“软件应该做什么”,而 AI 负责“如何实现”。这与传统编程的精确语法编写形成对比,被一些人称为“非程序员的魔法”。
  • Karpathy 提到,当遇到错误时,用户通常会将错误信息复制粘贴回 AI,接受更改并希望问题解决,然后重复这一过程。这种方法更依赖直觉和实验,而非传统的计划和测试。
  • X 用户 @Erwin_AI 在 2025 年 3 月 5 日的一篇帖子中提到:“Vibe Coding 基本上是‘现在感受,稍后焦虑’的代码,当你面对愤怒的客户、无法解决的错误和完全不懂的代码时。”这反映了其直观但可能带来后期挑战的特点 (https://x.com/Erwin_AI/status/1897538458979365278)。
  • 另一个 X 用户 @banastas 在 2025 年 3 月 8 日定义 Vibe Coding 为“纯粹凭直觉、美感和感觉指导的编码行为,往往以牺牲最佳实践或文档为代价” (https://x.com/banastas/status/1898641209855463533),进一步强调了其非传统性质。

使用的工具

Vibe Coding 依赖于多种 AI 工具,这些工具利用大型语言模型来生成代码。常见的工具包括:

  • Replit Agent
  • Cursor Composer
  • GitHub Copilot
  • 其他基于 OpenAI 或 Anthropic 模型的工具,如 Bolt、Lovable 和 Cline。

这些工具通过理解自然语言提示,生成可运行的代码,简化了开发过程。例如,Ars Technica 提到,这些工具使非程序员也能通过描述程序来创建软件,而无需学习编程语言。

影响与争议

Vibe Coding 的出现被认为显著降低了软件开发的门槛,特别是在 2025 年初的技术趋势中。

  • 积极影响:它让创作者即使没有技术背景也能快速构建功能性应用、网站或工具。例如,alitu.com 提到,“如果你有绝妙的应用程序想法,但缺乏技术技能,2025 年可能是你的年份。”这扩展了软件开发的参与度,特别是在初创企业和个人项目中。
  • 争议与挑战:然而,关于代码可靠性和可维护性的担忧也随之而来。Karpathy 承认,AI 工具并非总是能修复错误,用户可能需要反复实验。X 用户 @CicmilJovan 在 2025 年 3 月 4 日的帖子中提到,“Vibe Coding 的特点是不检查输出,直接接受 AI 给出的结果” (https://x.com/CicmilJovan/status/1896987186417066159),这可能导致代码质量问题。
  • 另一个 X 用户 @amarachiugwu_ 在 2025 年 3 月 12 日的帖子中询问“Vibe Coding 到底是什么意思”,并链接到相关讨论,反映了公众对这一概念的兴趣和困惑 (https://x.com/amarachiugwu_/status/1899867987743571997)。
  • [Andrew Chen 的文章](https://andrewchen.substack.com/p/predictions thoughts-on-vibe-coding) 指出,Vibe Coding 可能导致软件体验碎片化,因为大量新手开发者可能会创建不成熟的应用。他还提到,AI 生成的代码可能更像一次性商品,减少了开源库的重用。

数据与分析

以下表格总结了 Vibe Coding 的关键方面:

方面 详情
引入者 Andrej Karpathy,OpenAI 联合创始人,前特斯拉 AI 负责人
引入日期 2025 年 2 月
方法 用几句话的自然语言提示描述问题,LLM 生成代码
关键特征 用户接受代码而不必完全理解
Karpathy 的示例引用 “这不是真正的编码——我只是看一些东西,说一些东西,运行一些东西,然后复制粘贴,它大多能工作。”
已知限制 AI 工具不总是能修复错误,需要实验
Simon Willison 的评论 “如果 LLM 写了你所有的代码,但你审查、测试并完全理解了它,那在我看来这不是 Vibe Coding——那只是用 LLM 作为打字助手。”

文化与扩展含义

虽然 Vibe Coding 主要与编程相关,但一些分析将其扩展到更广泛的语境。例如,uxtigers.com 提到,Vibe Coding 可能不仅仅是编码方式,还可能涉及创建基于用户情绪或偏好的“情感感知软件”,如通过 AI 和情感分析调整用户界面。这种解释与 Karpathy 的原始定义有所不同,反映了术语的潜在演变。

此外,X 用户 @jelanifuel 在 2025 年 3 月 4 日的帖子中分享了“我的 Vibe Coding 系统提示”,并鼓励用户收藏,表明社区正在积极探索和分享相关实践 (https://x.com/jelanifuel/status/1897036957131399273)。

结论

综合来看,Vibe Coding 似乎是 Vibe Coding 的误称,而 Vibe Coding 是一种由 AI 驱动的编程实践,旨在通过自然语言交互降低软件开发的门槛。尽管它带来了创新和便利,但也伴随着代码质量和长期维护的挑战。用户可以参考 Vibe coding - WikipediaArs Technica 的分析,了解更多细节。


关键引文

comments powered by Disqus
宇宙备案号:SOL-EARTH-20070001
使用 Hugo 构建
主题 StackJimmy 设计