Deal with the Impact of Vibe Coding
Posted on Sat 12 July 2025 in Journal
Abstract | Journal on 2025-07-12 |
---|---|
Authors | Walter Fan |
Category | learning note |
Status | v1.0 |
Updated | 2025-07-12 |
License | CC-BY-NC-ND 4.0 |
什么是 vibe coding
先解释一下什么是 vibe coding, 维基百科上是这样说的:
Vibe coding is an artificial intelligence-assisted software development style popularized by Andrej Karpathy in early 2025.[1] It describes a fast, improvisational, collaborative approach to creating software where the developer and a large language model (LLM) tuned for coding is acting rather like pair programmers in a conversational loop. Unlike traditional AI-assisted coding or prompt engineering, vibe coding emphasizes staying in a creative flow: the human developer avoids micromanaging the code, accepts AI-suggested completions liberally, and focuses more on iterative experimentation than code correctness or structure.
Karpathy described it as "fully giving in to the vibes, embracing exponentials, and forgetting that the code even exists." He used the method to build prototypes like MenuGen, letting LLMs generate all code, while he provided goals, examples, and feedback via natural language instructions.[2] The programmer shifts from manual coding to guiding, testing, and giving feedback about the AI-generated source code.[3][4][5]
氛围编码 (Vibe Coding)是一种人工智能辅助软件开发风格,由Andrej Karpathy于 2025 年初推广。[ 1 ]它描述了一种快速、即兴、协作的软件开发方法,其中开发人员和针对编码进行调优的大型语言模型(LLM) 就像结对程序员一样,在对话循环中工作。与传统的人工智能辅助编码或即时工程不同,氛围编码强调保持创作的流畅性:人类开发人员避免对代码进行微观管理,自由地接受人工智能的补全建议,并且更注重迭代实验,而不是代码的正确性或结构。
Karpathy 将其描述为“完全屈服于氛围,拥抱指数级增长,甚至忘记代码的存在”。他使用这种方法构建了像 MenuGen 这样的原型,让 LLM 生成所有代码,同时他通过自然语言指令提供目标、示例和反馈。[ 2 ]程序员从手动编码转向指导、测试和反馈 AI 生成的源代码。[ 3 ] [ 4 ] [ 5 ]
时代变了, 程序员需要改变
最近这两周, 由于公司购买了 cursor 的订阅, 我重度使用了 cursor 来编写和修改代码, 怎么说呢? 感觉喜忧参半, 喜的是它确实提高了效率, 有些代码它比我写的好, 虽然指令是我下的, 想法是我给的, 可是不得不承认, 只要你给的指令足够详细和具体, 它在实现层面已经超过了我这个从业二十年的老程序员. 我曾经做过一两年的 Production Owner, 那时候我也是这样, 我只需要定义需求, 定义架构, 提点业务以及技术上的要求和建议, 然后就交给程序员去实现就好了. 当程序员实现需求之后, 我再验收团队的成果, 不如不满意, 再让他们修改, 直到我满意为止. 现在我在做同样的事, 只不过把程序员换成了 cursor.
忧的是它对软件开发人员的冲击, 我相信这只是一个开始, 各大软件公司的老板都在思考, 如何利用 AI 来提高效率, 如何利用 AI 来提高质量, 如何利用 AI 来降低成本. 从所周知, 软件公司最大的成本就是人, 既然 AI 已经代替程序员干这么多的活, 那么程序员的价值在哪里? 老板们想我干嘛还需要这么多的程序员, 不但要高额的工资, 要交五险一金, 还不好管理, 不愿意加班. 君不见, 这两年软件公司纷纷裁员, 微软今年好象已经裁了三波了, 一波比一波狠, 一波比一波多.
程序员们该怎么办, 我想, 程序员们需要改变, 需要学习, 需要适应, 需要拥抱变化. 多年前有一本书 “人人都是产品经理”, 那是一个产品经理写的, 现在我觉得, 时代变了, 这句话却没变, 只不过, 这本书应该由程序员重写 -- “每个程序员都是产品经理”
大模型有时候会胡说八道, cursor 有时也会犯糊涂, 我记得有一个简单的问题, cursor 反复重试了多次也没搞定, 我只好自己动手, 找出原因, 告诉它哪里有问题, 这时候它的反应倒是挺快, 很快就改好了. 可是, 如果代码全部由 A I 来生成, 我看不懂也看不明白, 那该怎么办呢?
针对大语言模型的冲击, 程序员需要做出的改变, 我觉得当下有以下几点:
- 学习 prompt engineering, 学习如何与大模型对话, 学习如何使用大模型来辅助编程.
- 学习 RAG, 学习 MCP, 学习 A2A , 学习那些 AI 相关的技术, 师夷长技以制夷.
- 提高自己的技术品味和判断力, 不要被大模型牵着鼻子走, 而是让大模型跟着你的想法走
- 深入理解和思考业务的发展, 人人都是产品经理, 你要有改进和创新的想法, 而这正是大模型现在所欠缺的
Reference
- [1] @karpathy (2025-02-02). "There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists" (Tweet). Retrieved 2025-07-03 – via Twitter.
- [2] Karpathy, Andrej (2025-04-27). "Vibe coding MenuGen". karpathy.bearblog.dev. Retrieved 2025-07-03.
- [3] Edwards, Benj (2025-03-05). "Will the future of software development run on vibes?". Ars Technica. Archived from the original on 2025-03-06. Retrieved 2025-06-03. The technique, enabled by large language models (LLMs) from companies like OpenAI and Anthropic, has attracted attention for potentially lowering the barrier to entry for software creation. But questions remain about whether the approach can reliably produce code suitable for real-world applications, even as tools like Cursor Composer, GitHub Copilot, and Replit Agent make the process increasingly accessible to non-programmers.
- [4] "What is 'vibe code'? Former Tesla AI director Andrej Karpathy defines a new era in AI-driven development". The Times of India. 2025-03-02. Archived from the original on 2025-03-04. Retrieved 2025-06-03. Karpathy's "vibe coding" is a recognition of how sophisticated AI systems have evolved. In describing on X (formerly Twitter), he added that LLMs, like the Cursor Composer with Sonnet, are advancing to a degree that nearly eliminates the use of traditional coding mechanisms. Describing his own experience, Karpathy explained how he converses with AI tools almost in a passive manner—merely talking to them and having the AI handle the rest. This method eliminates manually typing code as well as keeping track of all the minute information in the program.
- [5] Roose, Kevin (February 27, 2025), "Not a Coder? With A.I., Just Having an Idea Can Be Enough.", The New York Times, ISSN 0362-4331, archived from the original on March 3, 2025, retrieved June 3, 2025, Vibecoding, a term that was popularized by the A.I. researcher Andrej Karpathy, is useful shorthand for the way that today's A.I. tools allow even nontechnical hobbyists to build fully functioning apps and websites, just by typing prompts into a text box. You don't have to know how to code to vibecode — just having an idea, and a little patience, is usually enough. "It's not really coding," Mr. Karpathy wrote this month. "I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works."
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。