<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vibe Coding on lategege 的技术博客</title><link>https://lategege.com/tags/vibe-coding/</link><description>Recent content in Vibe Coding on lategege 的技术博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Tue, 07 Jul 2026 01:10:00 +0000</lastBuildDate><atom:link href="https://lategege.com/tags/vibe-coding/index.xml" rel="self" type="application/rss+xml"/><item><title>Vibe Coding —— 当编程从写代码变成"摇人"</title><link>https://lategege.com/p/vibe-coding/</link><pubDate>Tue, 07 Jul 2026 01:10:00 +0000</pubDate><guid>https://lategege.com/p/vibe-coding/</guid><description>&lt;img src="https://lategege.com/" alt="Featured image of post Vibe Coding —— 当编程从写代码变成"摇人"" /&gt;&lt;p&gt;Vibe Coding 这个词是 Andrej Karpathy 在去年年初发明的，现在已经变成 AI 编程领域最火的词了。他用了一段非常直白的话来描述：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;em&gt;&amp;ldquo;It&amp;rsquo;s not really coding — I just see stuff, say stuff, run stuff, and copy-paste stuff, and it mostly works.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;翻译过来就是：我不写代码了，我只看、只说、只跑、只复制粘贴，而且大部分情况下它能跑。&lt;/p&gt;
&lt;p&gt;这话从一个前 Tesla AI 总监、OpenAI 创始成员嘴里说出来，确实挺冲击的。但你要是实际用过现在这波 AI 编程工具，你会知道他说的是真的。&lt;/p&gt;
&lt;h2 id="重点不是工具是角色换了"&gt;重点不是工具，是角色换了
&lt;/h2&gt;&lt;p&gt;很多人以为 Vibe Coding 就是&amp;quot;用 Copilot 写代码&amp;quot;，觉得没什么大不了的。我以前也这么想。&lt;/p&gt;
&lt;p&gt;直到我开始用 Cursor 写了一个小项目。我发现整个工作流变了。以前是：我想好逻辑 → 敲代码 → 调试。现在是：我开口说 → AI 写 → 我跑起来看看 → 不对再说一遍。这个转变其实挺本质的。你不是在写代码了，你是在提需求。&lt;/p&gt;
&lt;p&gt;打个比方。以前写代码你是施工队，现在你是甲方。你说&amp;quot;我要一个 RSS 阅读器，左边列表右边内容&amp;quot;，AI 哐哐哐给你干出来。你说&amp;quot;列表太宽了缩到 300px&amp;quot;，它又改了。你说&amp;quot;加个暗色模式&amp;quot;，它又改了。&lt;/p&gt;
&lt;p&gt;你全程没写过一行代码。但你确实&amp;quot;做&amp;quot;了一个项目。&lt;/p&gt;
&lt;p&gt;这种感觉很奇妙。有时候我盯着屏幕发呆——这活是我干的吗？好像不是。但东西确实做出来了。&lt;/p&gt;
&lt;h2 id="爽是真爽但有几个问题"&gt;爽是真爽，但有几个问题
&lt;/h2&gt;&lt;p&gt;我说说我实际用了几个月之后的感受。&lt;/p&gt;
&lt;p&gt;最爽的是做原型。上个月我有个内部工具要做，前端后端数据库全上。按以前的工作流，光搭架子配路由写 API 再联调，一天估计打不住。但那次我跟 Cursor 聊了一下午的天，两小时 MVP 就出来了。这个效率提升是碾压级的，没什么好争议的。&lt;/p&gt;
&lt;p&gt;但问题也不少。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;一个是代码质量飘忽不定。&lt;/strong&gt; AI 有时候会在特别奇怪的地方偷懒。我跟它说配置项走环境变量，它给我硬编码塞在代码里。我跟它说用某个 API，它给我写了个已经被弃用的版本。你要是没看出来，它就这么上线了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二个问题更隐蔽——你对代码的理解在慢慢退化。&lt;/strong&gt; 项目越大，你越不敢改。因为你没写过那些代码，你不知道动了这里会不会把那边搞炸。以前写代码积累的是肌肉记忆，哪块逻辑在哪、怎么写最稳妥，心里都有数。现在积累的是&amp;quot;提示词记忆&amp;quot;——怎么描述需求才能让 AI 写对。前者让你越来越强，后者让你越来越依赖。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;还有一个就是调试特别累。&lt;/strong&gt; 以前出 bug，是你自己引入的，看一下逻辑链就能找到。现在出 bug，是 AI 引入的，你得花时间教它理解哪里错了。有时候你说半天它改不对，你一气之下自己动手改了——然后发现还不如一开始就自己写。&lt;/p&gt;
&lt;h2 id="我觉得适合这么用"&gt;我觉得适合这么用
&lt;/h2&gt;&lt;p&gt;我自己实践下来，Vibe Coding 最适合两件事。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;一个是快速验证想法。&lt;/strong&gt; 你想试个东西，不确定能不能行，不用花一整天搭工程。直接跟 AI 说，半小时跑起来看看效果，不行就扔。这个成本太低了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;另一个是你懂但懒得写的东西。&lt;/strong&gt; 你知道那个逻辑怎么写，但你不想去查语法、不想去翻文档。告诉 AI，它帮你糊上去，你检查一下没什么问题就合。这是效率最大化。&lt;/p&gt;
&lt;p&gt;不适合什么也很清楚：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;复杂架构就别让 AI 搞了，它没有大局观，做着做着就偏离了&lt;/li&gt;
&lt;li&gt;性能敏感的底层代码也别用它，AI 对性能的直觉还很差&lt;/li&gt;
&lt;li&gt;还有就是你自己完全不懂的东西——你不懂的话连验收的能力都没有，AI 写出来是好是坏你完全没概念，这就危险了&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="我的态度"&gt;我的态度
&lt;/h2&gt;&lt;p&gt;说到底，Vibe Coding 的本质是在&amp;quot;人写代码给机器执行&amp;quot;这个链条中间插了一个 AI 翻译官。&lt;/p&gt;
&lt;p&gt;你信它，你就快。你不信它，你就得逐行审，那就更慢。&lt;/p&gt;
&lt;p&gt;我的态度是：用，但别信太多。&lt;/p&gt;
&lt;p&gt;就像招了一个特别勤奋但经验一般的实习生。他干活快，什么都能干一点，但你不能全信他。每次提交都得 review，每个边缘情况都得自己想一遍。&lt;/p&gt;
&lt;p&gt;你把它当成一个能说人话的搜索引擎 + 补全工具，它无敌。你把它当成一个能独立交付的程序员，你会失望的。&lt;/p&gt;
&lt;p&gt;不过这波工具迭代的速度确实快。Cursor、Copilot、Claude Code、Codex……一个比一个猛。我身边做开发的朋友分成了两拨，一拨拼命拥抱，能用 AI 写的绝不自己动手，一个人干三个人的活。另一拨打死不用，信不过 AI 写的代码，坚持手写，保持对代码的掌控。&lt;/p&gt;
&lt;p&gt;我觉得两派都有道理。但有一件事越来越清晰——以后不会被淘汰的，不是代码写得最好的人，而是最能跟 AI 协作的人。&lt;/p&gt;
&lt;p&gt;学会摇人，也学会验货。就这么简单。&lt;/p&gt;</description></item><item><title>Vibe Coding：编程从「写代码」变成「聊需求」</title><link>https://lategege.com/p/vibe-coding-ai-programming/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0800</pubDate><guid>https://lategege.com/p/vibe-coding-ai-programming/</guid><description>&lt;img src="https://lategege.com/" alt="Featured image of post Vibe Coding：编程从「写代码」变成「聊需求」" /&gt;&lt;p&gt;今年年初，Andrej Karpathy 提了一个词叫 &lt;strong&gt;Vibe Coding&lt;/strong&gt;，在开发者圈子里炸了一波。&lt;/p&gt;
&lt;p&gt;我看了下讨论，有人嗨得不行，说这是编程民主化的开端；也有人嗤之以鼻，觉得不就是换了个马甲的「低代码」么。&lt;/p&gt;
&lt;p&gt;我自己试了小半年，聊点真实的感受。&lt;/p&gt;
&lt;h2 id="啥是-vibe-coding"&gt;啥是 Vibe Coding
&lt;/h2&gt;&lt;p&gt;Karpathy 原话大概意思是：你整个人沉浸在氛围里，放弃写代码，开始描述需求。你几乎不再跟代码本身打交道，而是像跟一个人聊天一样说你要什么，它帮你搞定。&lt;/p&gt;
&lt;p&gt;说白了就是——&lt;strong&gt;你张嘴，AI 动手。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;比如你想写个 Python 脚本处理 CSV：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;以前：打开编辑器，import csv，写循环，调试，累得半死。&lt;/li&gt;
&lt;li&gt;Vibe Coding 状态：开个对话窗，「帮我写个脚本，读这个 CSV，把第二列大于 100 的行挑出来，输出到新的文件」，几秒钟活干完了。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种感觉很奇妙。你不再是那个「吭哧吭哧敲代码的人」，变成了「提需求的那个甲方」。&lt;/p&gt;
&lt;h2 id="说实话刚开始我有点不适应"&gt;说实话，刚开始我有点不适应
&lt;/h2&gt;&lt;p&gt;用了几天 Cursor 和 Copilot 之后，最强烈的感受是——&lt;strong&gt;空虚&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;对，你没看错，是空虚。&lt;/p&gt;
&lt;p&gt;以前写一个功能，从构思到实现到调试，整个过程是有「手感」的。你知道每一行代码怎么来的，知道哪里容易出坑。现在呢？你跟 AI 说「帮我做个用户登录」，它噼里啪啦一顿输出，代码就摆在那了。你看了看，好像没什么问题，合进去了。&lt;/p&gt;
&lt;p&gt;但心里总有点发毛——这玩意儿真没问题吗？万一有个边界情况它没处理呢？&lt;/p&gt;
&lt;p&gt;后来我想通了。&lt;strong&gt;这种不安全感，本质上是对未知代码的不信任。&lt;/strong&gt; 就好像你让别人替你写了一段代码，你没亲自 review 每一行，心里就不踏实。&lt;/p&gt;
&lt;p&gt;但问题是，以前你 review 第三方库的代码吗？不 review 吧。你信它是因为它经过很多人用过、踩过坑。AI 生成的代码也一样——你需要的是验证手段，而不是放弃使用。&lt;/p&gt;
&lt;h2 id="什么场景下-vibe-coding-是真香"&gt;什么场景下 Vibe Coding 是真香
&lt;/h2&gt;&lt;p&gt;我用了几个月，总结了几个「真香时刻」：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;写胶水代码&lt;/strong&gt;——连两个 API、做个数据转换、写个简单的 CRUD。这种活 AI 干的又快又好，我完全不想自己写了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不熟悉的领域&lt;/strong&gt;——比如我对前端不太熟，但有次要写个简单的 React 组件。放以前我得先学半天 React 基础，现在直接跟 AI 描述我要什么效果，它生成，我微调，半小时搞定。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;写测试&lt;/strong&gt;——我讨厌写测试，AI 不讨厌。让它写，我来 review，舒服。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;修 Bug&lt;/strong&gt;——以前遇到奇怪的报错，第一反应是 Google 或者 Stack Overflow。现在直接把报错信息扔给 AI，很多时候它直接看出问题在哪。&lt;/p&gt;
&lt;p&gt;但这些场景有个共同点：&lt;strong&gt;我知道我想要什么，而且我能判断 AI 给出的东西对不对。&lt;/strong&gt; 这才是关键。&lt;/p&gt;
&lt;h2 id="哪些场景它不行"&gt;哪些场景它不行
&lt;/h2&gt;&lt;p&gt;聊完好的，也得说说坑。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;复杂架构决策&lt;/strong&gt;——AI 给不出好的架构设计。你跟它说「帮我设计这个系统的模块划分」，它给你一个教科书式的答案。但真实项目的架构决策往往掺杂了各种业务约束、团队习惯、历史包袱，这些东西 AI 不知道。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;调试深渊&lt;/strong&gt;——当 AI 生成了你看不懂的代码，然后它出了问题，你就尴尬了。看不懂就很难描述清楚问题，AI 就瞎修，越修越乱。最后你还是要自己读懂那坨代码。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;安全敏感场景&lt;/strong&gt;——AI 生成的代码看起来对，但可能漏了权限校验、输入过滤、SQL 注入防护。如果你自己没有安全意识，AI 写出来的东西很可能有洞。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;长期维护&lt;/strong&gt;——AI 倾向于写「能跑就行」的代码，不太在意代码质量。变量名乱起、函数太长、逻辑耦合——这些 AI 不 care。如果长期放任不管，项目会变成一坨屎山。&lt;/p&gt;
&lt;h2 id="那我的态度是啥"&gt;那我的态度是啥
&lt;/h2&gt;&lt;p&gt;我现在的做法是：&lt;strong&gt;把它当工具，别当神。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;具体来说：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;写东西快，但 review 不能省。AI 写完的代码，至少扫一遍，理解它在干什么。&lt;/li&gt;
&lt;li&gt;不懂的地方让 AI 解释。看不懂的代码不要直接合进去。&lt;/li&gt;
&lt;li&gt;适合用 AI 写的就去写，不适合的别硬上。比如核心的业务逻辑，我自己写更放心。&lt;/li&gt;
&lt;li&gt;用 AI 填补自己的短板，而不是替代自己的思考。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Karpathy 自己说过一句话我挺认同的：&lt;em&gt;&amp;ldquo;I still need to be able to read code, even if I don&amp;rsquo;t write it.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;编程的未来，不会是谁写代码更快，而是&lt;strong&gt;谁能更清楚地描述问题、更好地判断结果质量&lt;/strong&gt;。Vibe Coding 改变的是实现方式，不是思维方式。&lt;/p&gt;
&lt;p&gt;反正我现在已经回不去了——遇到写代码的任务，第一反应已经不再是「打开编辑器」，而是「跟 AI 说说看」。这大概就是 Vibe 了吧 🎧&lt;/p&gt;</description></item></channel></rss>