“Vibe Coding” – AI大牛Karpathy分享自己的编程新姿势

AI正在改变编程这件事,已经不是新闻了。但当AI大牛Andrej Karpathy(曾是OpenAI和Tesla AI团队的重要成员)最近在社交媒体上分享了他称为“Vibe Coding”(氛围编程)的全新模式后,我还是觉得值得给大家分享一下 - 这不是传统意义上的敲代码,而是一种完全放飞自我、拥抱AI、几乎忘记代码本身存在的奇妙体验。

什么是Vibe Coding?

简单来说,Vibe Coding就是你完全依赖AI的强大能力,让它接管大部分编码工作。Karpathy分享了他自己的实际体验 – 当使用Cursor Composer搭配强大的Sonnet模型,再加上SuperWhisper(AI语音转文字工具),他几乎不用碰键盘了。

想象一下,你坐在电脑前,嘴里念叨着“侧边栏间距减半”“修掉这个bug”,然后AI就像个听话的魔法助手,刷刷几下就搞定。你甚至懒得看它改了啥,直接“全部接受”。bug跑出来?没关系,复制粘贴丢给AI,它通常能自己摆平。实在不行,那就瞎改几下,直到代码“奇迹般”跑起来。

这听起来是不是有点疯狂?但对于周末的临时项目来说,这种方式其实挺不错。虽然代码已经变得复杂到自己都得花很多时间细读才能搞懂,但他说自己并不在意。毕竟,这是真正的AI在干活,而我在享受氛围!

为什么Vibe Coding变得可能?

这一切都得归功于LLM能力的飞速进步。比如Cursor Composer搭配Sonnet后,它们的上下文理解和代码生成能力已经强到让人咋舌。你可以像跟朋友聊天一样跟AI对话:“嘿,帮我在这个网页上加个按钮,样式弄得酷一点。”它就能给你整出来,甚至还能处理复杂的多文件交互。

Karpathy也承认,这种编程方式有点懒散,但他喜欢这种模式带来的自由感 - 传统编程需要你精通语法、调试、优化,而Vibe Coding可以让程序员专注于大方向,也就是更多考虑“我要做什么”而不是“怎么实现”。这让程序员们有更多时间去思考创意,而不是被琐碎的代码细节绊住。

社区的反应

从Karpathy帖子下面的反应来看,有人觉得这很酷,认为拒绝使用AI的开发者可能会被拥抱AI的开发者取代。但也有人提出质疑,认为,只有像Karpathy这样经验丰富的人才能玩Vibe Coding,而普通开发者可能还得在“代码矿井”里多吃点苦才行。毕竟Vibe Coding是需要你对系统有个大致的高层次理解,知道自己想要什么,否则AI的输出可能一团糟。

还有人很好奇Karpathy到底用Vibe Coding建了啥东西。他的回答是,自己最近用了一个小时搞了个自定义LLM阅读器APP,能让他一边读《国富论》,一边随时提问任何段落的内容。点击一段文字,选“提问”,AI就会调用上下文、整章内容和他的问题,生成答案。效果棒极了!

Vibe Coding的局限

当然,Vibe Coding不是万能的。有时候AI确实解决不了bug,还是需要程序员来自己动手(或者瞎蒙几下)。例如有评论分享说 - 用AI生成代码的前75%超级简单,但之后迭代和调整就变得很头疼。这和我观察到的现状也很相符。

因此值得强调说,Vibe Coding目前更适合快速原型或一次性项目。对于需要高可靠性和维护性的生产环境,可能还得回归传统方法,或者至少保留更多的“人肉审查”。

编程的未来是“氛围”?

AI已经让“用英语编程”成为现实(还记得Karpathy两年前说的那句 “最火的新编程语言是英语”吗?),而现在,我们甚至可以靠“感觉”来驱动开发。

如果程序员们能将精力放在构建伟大创意上,而不是被枯燥的代码细节束缚,这不会是一种更好的未来?毕竟,编程不应该是痛苦的劳动,而是一种充满乐趣的探索 - 或者说,一种“氛围”?