Vibe Coding 是一种什么感觉
我写代码十多年,不写代码也快有十年了。早期手脚快,领导布置的任务总能很快完成,但我不知道为什么?后来有了经验,作架构师,作产品经理,知道客户要什么,市场要什么,可是手速赶不上思路,让开发去实现,交流成本和实现完整度都有折扣。
Vibe Coding 的感觉完全不同。瓶颈换了一个地方。
发生了什么变化
我用 AI 辅助开发构建了 FIRE51——一个退休规划 App,包含完整的税务计算引擎、JWT 鉴权、PDF 导出,以及 iOS/Android 客户端。整个过程中,我亲手写的代码出乎意料地少。
我的工作变成了:描述想要什么,审查返回的结果,纠正方向,提交代码。
瓶颈不再是搬砖打字,而是把想法说清楚。
表达越精准——包括约束条件、边界情况,尤其是"不要做什么"——输出就越准确。模糊的输入带来模糊的输出;清晰的输入带来清晰的输出。
这不是"AI 写代码,人在旁边看"。这更像一种新型结对编程:你的搭档永远不会疲惫,不会忘记函数签名,能在 30 秒内重写整个模块——但它需要明确的方向和持续的监督。否则,它会跑偏。
人还要做什么
你可能会以为 Vibe Coding 缩小了人的作用。恰恰相反——它改变了人的作用。
人仍然需要:
- 把控架构和关键决策
- 在提交前,理解diff的原因和后果。
- 发现 AI 过度设计或理解偏差的地方
- 判断"看起来对但其实不对"的输出
- 处理 git、部署、外部账号——一切有真实状态的事情
最后一点尤其重要。AI 没有风险承担。它不知道删掉这张表会搞坏生产环境。这个判断必须由你来做。
AI 擅长什么
AI 处理得最好的,恰恰是以前最消耗精力的部分:
跨文件的一致性。 重命名一个函数,它会更新所有调用方。修改数据结构,它会找到每一处引用。不再需要 grep 后祈祷。
按规格实现。 描述一个函数该做什么,它就去实现——不是大概,是精确。
脚手架和样板代码。 鉴权流程、API 路由、测试初始化——这些必要但无聊的工作,几秒钟就完成了。
重构。 "把这段逻辑抽成一个独立模块,用这个接口。" 它直接做,而且做得干净。
AI 不擅长什么
这是很少有人认真讲的部分。
上下文会衰减。 对话越长越容易漂移。AI 会忘记早前的约束,开始基于它自己发明的假设做决定。解决办法是保持每次会话短小、范围清晰。
复杂度蔓延。 给它自由,它会过度设计。它会为不可能发生的情况添加错误处理,为一次性操作创建抽象层。你必须明确说:只做被要求的事。
价值判断。 它判断不了"够用了"。它会持续优化。什么时候停,需要人来决定。
多余的添加。 注释、文档字符串、日志语句、功能开关——除非你明确说不要,否则它都会加。每次新会话,最好重申一遍规则。
最实际的改变
最大的适应不是技术层面的,而是学会如何精准表达。
传统编码时,想法模糊也能写出能用的代码——你可以在写的过程中理清思路。Vibe Coding 里,模糊的想法会产生你要花一个小时来收拾的输出。
我形成的工作习惯:
- 每次会话开始前,把范围写下来
- 明确说明什么不应该被改动
- Review diff,而不只是看最终文件——漂移藏在中间
- 用提纲挈领的文档保证开发的范围和可控
为什么它行得通
FIRE51 上线之后,让我最意外的不是速度——而是完整度。那些我原本会跳过或简化的功能——移动端 App、服务器端 PDF、税务验证——全都做了,因为实现的成本已经大幅降低。
这才是真正的变化:从"我想要这个"到"产品的诞生",中间只隔着一段清晰的描述。
FIRE51 是一款完全用 Vibe Coding 方式构建的退休规划工具。本系列文章来自该构建的真实经历。