2 minutes
Vibe Coding 理念与心法
“Vibe Coding"这个词最早由 Andrej Karpathy 在 2024 年初抛出,他对它的定义其实带点自嘲:
“我大部分时候就在大写英文、调高音量、感觉对了就按 Enter。”
五年后我们回头看,K老师的玩笑是有认真内核的——大规模 AI 协作确实改变了我们和代码之间的"心智带宽分配”。本章不会变成玄学,而是把"vibe"翻译成可以练习的几条节奏律。
6.1 Vibe = 心智带宽的重新分配
传统编程心智: ┌──── 写代码(70%)/ 设计(20%)/ 调试(10%)────┐
AI 协作心智: ┌── 描述(30%)/ 评审(40%)/ 抽象沉淀(30%)──┐
观测到的几点 2026 年版现实:
- 写:从"逐字敲" → “一次性给整段样板”
- 读:从"看自己代码" → “看模型生成的别扭写法,比对自己的预期”
- 沉:从"知道在脑子里" → “写进 .md,下次再被模型看见”
这个第三件事最反直觉:你以前懂得多就好;现在写得下才算数。
6.2 五条节奏律
6.2.1 节奏律一:Quick Loop 比单次 hit 重要
❌ 一次让 AI 写完整功能 → 拿来用 → bug 满天飞
✅ 一次一个微功能 → 让它跑 → review → 下一节
把每一段都做成"30 秒内能看到结果"的大小。Claude Code 的 Plan / Subagent 都在强化这个 30s-to-result 节奏。
6.2.2 节奏律二:意图陈述 > 实施建议
Bad :你这里用 for 循环更好(你只给结论,模型后续还是按自己逻辑展开)
Good :我想让"循环内失败立即 break + 给定 reason"(你说效果,让模型自己设计实现)
给意图,不给实现——这条在所有 L3 工具里都成立。你给的越细,模型越被你框在旧设计里反而失去颅内 reconcile 的机会。
6.2.3 节奏律三:Write Earlier, Read Slower
不要追求"一次写好",先追求"快写好后慢读"。 AI 给出 200 行 PR 差异,用 5 分钟读而不是 30 秒跳过。这是 vibe 的反直觉功夫——节奏变快了,但你不能跟着它一起快。
6.2.4 节奏律四:把无聊的循环沉淀
每次第二遍做的事情,第二遍也要写成 skill。这件事 22 章 详谈。
你做了一次的"民族风 PR reviewer" → 没沉淀
你做了两次的 "PR reviewer 列表" → 写成 system prompt
你做了三次的同样规范 → 改写成 Skill(也带 slash command / 自动加载)
每次循环都让"下次起跑点提升一米"。这是 vibe coding 的核心复利率。
6.2.5 节奏律五:Review 比生成重要
让模型生成 1000 行是廉价的;读懂 1000 行是昂贵的。但前者选错线,后者保你不出大事故。任何超过 100 行的改动,至少做一次 5 分钟慢读 review。
6.3 Vibe Coding 的三大失败模式
失败模式 1:完全放任型
prompt:"帮我做一个 todo app"
模型:3 分钟产 600 行代码
你:直接 git push origin main
后果:上线后 user → todos 的关联表居然是嵌套 json,要重构
修正:
prompt:
"为 Flask 写一个 todo-demo。第一个 PR 只做 model + 单元 test。
不要前端,不要 routes,不要 SQLAlchemy relationship。
我看完这一个再决定下一步。"
失败模式 2:过度审查型
模型每次给一稿,你都把它的代码逐字符 review,重写细节
结果:你失去时间,模型失去方向(它本来想做的简化被你判断错了)
修正:给模型空间,不要在你不懂的地方做微观调整。评审风险、不评审风格。
失败模式 3:症候群式炫技型
每次都"用一个超复杂 agentic flow + 8 个 MCP"解决只需要 30 行代码的问题
结果:维护性灾难,新人看不懂
修正:够用就够用。Vibe Coding 不是炫技。一会用 cat 一会用 ripgrep 比一会用 cat 一会用 multi-agent graph with rag 更可信。
6.4 一个真实 session 例子
下面是一个 OpenCode session(浓缩版)讲的是"给一个 FastAPI 项目加请求日志中间件":
[YOU] 读一下 main.py,列出已有 middleware 顺序
[MBED] 我看到 4 个 middleware,从外到内顺序为:
error → cors → auth → timeout
[YOU] 新增一个 request_logger,放在最外层
[MBED] 修改了 main.py:
+ from .middleware import RequestLogger
+ app.add_middleware(RequestLogger)
想确认:放在第几位?
[YOU] 放最外层,应该放在 error 之前
[MBED] 你说放在 error 之前,那 error 就拿不到 logger 之后的 trace 报错
建议放 error 之后、cors 之前。要我改吗?
[YOU] 哦对,就你说的,改
[MBED] diff...
[YOU] 给我看一下相关的 test 是否过了
[MBED] pytest tests/middleware/test_logger.py ✅ passed
[YOU] ok 提交
注意这段对话里模型也在做评审和建议——这就是 vibe coding 的双向流:不只有 AI 给你打工,你也常被它"轻度打脸"。
6.5 Vibe Coding 的条件反射
把以下五条练习 10 次以上,会内化:
- 写下一句话意图 + 三个边界 才让模型动手
- 让产出的 PR 大小 不超过 250 行
- 看到
"as any"不接受、看到"我知道这是 hack 但…“不接受 - 任何"我要复用这件事"念头 → 当场写进 Skill
- 每个长任务结束做一次 30 秒回顾:我哪些 prompt 该是 skill
6.6 小结
- Vibe Coding = 心智带宽再分配:描述 / 评审 / 沉淀
- 五节奏律:Quick Loop / 意图陈 / 先写后慢读 / 沉淀无聊循环 / Review > Generate
- 三失败模式:完全放任 / 过度审查 / 炫技症候群
下一篇:《07 安全与责任:AI 编程的边界》——谈"被允许做什么、不能做什么"的边界。
Summary: Vibe Coding 是心智带宽再分配,五节奏律帮你把松散的脑暴变成可重复的协作。