新式编程模式Vibe Coding起源,给AI打一通电话搞定一切

广告位招租
扫码页面底部二维码联系

前几天看到Andrej Karpathy关于Vibe Coding的推特发言,一种新奇感瞬间上头。过去很多年,编程界有一股暗流,就是“去编程化”,而我所在的领域就有低代码、无代码等一系列的行动。随着AI的不断发展和演进,我们发现,编程越来越成为廉价的工作。而Vibe Coding的出现,彻底改变软件开发模式,AI将像改变车间一样,改变编程岗位。

什么是Vibe Coding?

Vibe Coding(网上中文称为“氛围编程”)是一种依赖人工智能的计算机编程实践,其核心在于开发者使用自然语言提示向针对代码优化的大型语言模型(LLM)描述问题,由 LLM 生成软件,从而使程序员摆脱编写和调试底层代码的需要。 这个术语由计算机科学家、OpenAI 联合创始人兼特斯拉前人工智能主管 Andrej Karpathy 于 2025 年 2 月提出,并迅速成为一种新兴的编码方式。Vibe Coding 的倡导者认为,即使是业余程序员也能在无需大量培训和技能的情况下生成软件,这代表了一种更为直观和便捷的开发模式。

其关键特征在于,用户通常在不完全理解代码底层机制的情况下接受 AI 生成的代码。这与仅仅将 LLM 作为代码输入的辅助工具不同,后者仍然需要开发者审查、测试和理解每一行代码。Vibe Coding 的本质是"完全沉浸于"AI 助手的"氛围"中,将详细的实现过程外包给 AI。 正如 Karpathy 最初所描述的那样:"这不算真正的编程 -- 我只是看看东西,说说东西,运行东西,然后复制粘贴东西,而且它大多都能工作"。

在编程活动中,原本程序员写代码的工作消失,转而出现监督AI写代码的职位出现。这与车间中,传统拧螺丝的工种消失,转而出现监督车机控制机械臂生产的职位出现。

“假想人”

这是我提出的一个概念,即当我们在让AI帮我们完成一项任务时,不要把它明确的定义为AI,而是假想对方是一个活人,他只是躲藏在电脑背后伪装为AI应用,接受我们的指令,并返回结果给我们。“假想人”思维,让我们避免把AI当作无所不能的超级智能,而是让我们把AI当做小白当作傻瓜,当我们需要AI做一件事时,我们必须非常详细的描述清楚我们想要的是什么,你应该怎么做等等。

当我们在使用AI进行编程时,我们需要拿智能驾驶来类比。智能驾驶目前分为5个等级:

  • 1 级(驾驶员辅助) 这是自动化的最低级别。
  • 2 级(部分自动驾驶) 这指的是高级驾驶员辅助系统或ADAS。
  • 3 级(受条件制约的自动驾驶
  • 4 级(高度自动驾驶
  • 5 级(完全自动驾驶

目前我国法律允许上路的是L2,也就是高级辅助驾驶。

对应到编程领域的智能编程而言,其实也差不多,可以如下对应:

  • L1辅助编程:通过AI补全代码、检查错误、给出建议,如github copilot
  • L2高级辅助编程:让AI生成大部分代码,人类手动改改就能用,如cursor composer等
  • L3受条件制约的自动编程:AI生成代码、测试代码、发布代码,但需要人类强监督,如Devin等Agent项目
  • L4高度自动编程:AI干了大部分编程相关工作,人基本解放,仅做小监督
  • L5完全自动编程:AI自己遇到问题自己编程自己解决问题,AI自己编程提供应用给人类或其他AI使用

目前我们能做到L4,L3基本已经成熟,L4也摸到了边边。从目前的这个发展速度来看,实现L5也就是一两年的事。

现在,假如我们已经实现了L4,那么,我们就可以实现“假想人”,即我们不再需要自己编程,而是让AI帮我们编程。编程工作,将发生颠覆,工作人员不需要敲代码来实现需求,而是在拿到需求后,端着咖啡,对着电脑讲出自己的需求目标和验证条件。

Y Combinator 首席执行官 Garry Tan 在访谈中指出:"这不是一时的潮流,它实际上是主要的编码方式", 他强调不顺应 AI 编程趋势的开发者可能会被甩在后面。

我的MVP实践

当我们有了“假想人”思维之后,我们自然而然会想到,当我们想要实现编程时,我们不是自己上手写代码,而是把自己的AI“工具人”呼唤出来,然后告诉它我要写什么样的软件,它可能还会反问你“你确定就这些需求吗?”

我想,这里最核心的变革,是交互方式。人类的工具使用方式一直都在变化,而写代码也会从代码编辑器中解放出来。我只需要“向我的AI打一通电话,它就会把写好的成品返给我,如果需要调整,我只要在电话里让它修改就可。”这就是我能想到的新式交互方式。因此,我开发了自己的MVP,通过这个MVP,你可以体验到这种新式的交互方式。

整体上,你只需要给AI打通电话,打通后,向它提出自己的需求,AI会进行思考,并将编程的结果在右侧返回,之后你可以将该结果下载。

细节上,你可以在右侧通过输入文字的形式,来准确话你说话内容中可能存在分歧的词汇,也可以上传图片来让你的描述更加精准(该功能目前还没有后端实现)。另外,你可以在输出等结果中,鼠标右键来选中不满意的地方,然后说“我对这个不满意”,这非常符合人们说话时手里指着某物嘴里说“这个,那个”的场景。

点击体验

在产品设计中,我有益的把对话内容、思考过程等去掉了,右侧只给结果。这完全违背了cursor等vibe coding实践工具的传统,甚至连编程类Agent的思考过程都屏蔽掉,我就是想让用户有一种全新的体验,正如Andrej Karpathy在推中所说,“我只是说说,然后一路点接受,拿到结果”,我们不需要在意整个过程中AI是怎么想的怎么写的,我们只需要看结果,然后告诉AI那个细节不如意,继续改。实际上,在真实Vibe Coding场景中,开发者们也不会去看cursor中的细节实现,只要实现的效果满足预期,就过了,所以说,我们何必去纠结过程呢?

对编程职业的一点思考

近一个月,各家大模型都发布了新版本,但是我们发现,这些新版本在智能程度上并没有大的跃进,但是都在编程能力上进行了加强。我想这里面有两个原因,一个是编程数据资源可以反复挖,换一个思路,同一个项目的代码可以用来训练新的模型;二是编程能力对AI未来被应用到其他领域至关重要,因为一旦编程可以做到完全自举(AI自己写代码来训练AI),就可以写其他行业领域的软件,那么在遇到具体行业领域问题时,AI可以马上写代码来运行,得到更有价值的文本信息,从而最终得出更高智能的结果。

但是,这对编程职业来说,却是毁灭性的。虽然很多程序员仍然抱着“AI只能写一些简单代码,复杂业务逻辑写不了”的心态,但是很有可能将来业务的形态并不需要复杂逻辑的业务代码,而是会用对话的形式替代界面的形式,让AI直接操作数据库来完成每一次交互,也就是说,虽然AI不能干掉复杂业务逻辑代码,但是AI可以干掉需要复杂业务逻辑代码的系统。

以下是我在网上看到的一些开发者转变内参:

能力迁移

开发者要从“码农”转变为“监督者”和“设计师”,要控制质量、规划架构、解决深度问题,要擅长确定产品需求、设计系统方案、把关AI产出。也就是说,写代码的能力要降位,与AI协作和管理AI的能力要升格。写代码的能力虽然不重要了,但是编程思维、计算机基础等宏观能力仍然是基石。

计算机科学作用的变化

传统的算法、数据结构等计算机学科知识,甚至编程语言,都会被削弱。然而,原理性的东西、系统性能等技能,仍然是支持复杂项目的重要能力。说到底,还是基础功永不过时。

职业路径与岗位变革

“码农”几乎可以消失,“AI提示工程师”“AI策略师”等新兴职位机会出现。未来面试可能不需要考察如何用代码实现xx,而是会考察“你怎么让AI实现xx”。

结语

当年低代码盛行时,在编程界流传着一句玩笑话,大家笑着说“程序员写了个程序干掉程序员”,如今,很多人正在成为被“干掉”的那一个。这就是历史的车轮,时代的变革,是大势不可挡,没有人可以逆流而行。我所设想的“打电话”模式,不一定是最后的形态,但是无论是什么形态,我们如果拥有“假想人”思维,就可以在任何时候充分利用好AI为我们自己服务。最后,让我们在多年以后重聚首,感叹曾经一行代码封神的年代。

2025-04-15 108

为价值买单,打赏一杯咖啡

本文价值1.08RMB