AI 编程进入下半场:从 Vibe 到 Spec

沐风 2026-4-9--最后更新: 2026-4-16
type
status
date
slug
summary
tags
category
icon
password
wechat_gate
最近在看“从 Vibe Coding 到 Spec Coding”这组资料时,我最有共鸣的一句话是:
Code is a lossy projection of intent.
代码是意图的有损投影。
这句话的价值在于,它把很多团队正在经历的问题说透了:
我们不是不会“写代码”,而是经常没有把“为什么这样写”变成可验证、可协作、可演进的规范。
本文默认你使用 Node.js 20 + TypeScript + Vitest + Claude Code,目标不是做一个 Demo,而是把 AI 辅助开发拉到生产级。

问题分析:Vibe Coding 为什么总在后期失速

Vibe Coding 的优势是快,尤其适合探索期。但它在生产阶段常见 4 个问题:
  1. 意图丢失:Prompt 只保留“怎么做”,很难沉淀“为什么这样做”。
  1. 结果漂移:多人协作时,每个人的 Prompt 风格不同,输出标准不一致。
  1. 验证滞后:先写代码再补测试,返工成本高。
  1. 经验不可复用:一次性对话很难迁移到下一个项目。
所以关键不是否定 Vibe,而是给它一个更稳定的“骨架”——Spec Coding
notion image

解决方案:Spec Coding 的三层规范模型

把规范当成 source of truth,代码当成实现产物。推荐用三层结构:
  1. 功能规范(What) 定义用户故事、验收标准、边界条件。
  1. 架构规范(How - 语言无关) 定义数据模型、API 契约、安全约束、性能目标。
  1. 实现规范(How - 语言相关) 定义技术栈版本、测试框架、编码约束、发布要求。
在 Claude Code 中,对应关系通常是:
  • CLAUDE.md:项目级总规范
  • .claude/rules/:分层规则
  • specs/*.md:功能级规范
  • /plan:把规范拆成可执行任务
notion image

实战示例:用规范驱动通知系统(可运行)

下面给一套最小可运行样例,体现“先规范,后实现,再验证”。

步骤 1:先写 specs/notification.md

步骤 2:实现 src/notification-service.ts

步骤 3:验证 tests/notification-service.test.ts

运行方式:

在 Claude Code 中的推荐指令

这条指令的重点是:把“生成代码”变成“执行规范 + 验证规范”。

最佳实践与常见陷阱

最佳实践:
  1. 规范与代码同仓库同版本管理,PR 同时审查。
  1. 每个规范都带验收标准和非功能性要求。
  1. 规范变更必须触发自动化测试,防止实现漂移。
常见陷阱:
  1. 规范只写 happy path,漏掉错误处理与边界条件。
  1. 把“实现细节”误写成“需求事实”,导致规范过早僵化。
  1. 只让 AI 生成,不做验证,把草稿当成成品。

渐进迁移:从 Vibe 到 Spec 的可执行路径

  1. 第 1 阶段(探索) 用 Vibe Coding 在 30 分钟内验证想法是否成立。
  1. 第 2 阶段(沉淀) 把有效结论抽成 specs/*.md,补齐验收与约束。
  1. 第 3 阶段(重建) 基于规范重做生产实现,并强制测试与审查。
这个路径的核心是:速度来自 Vibe,质量来自 Spec。
notion image

总结

Spec Coding 不是替代 Vibe Coding,而是把 AI 编程从“会写”推进到“可交付”。
当你开始认真维护 CLAUDE.mdrulesspecs,你已经在做工程化的 AI 开发。
一句话收尾:
规范不是文档附属品,规范本身就是代码。
如果你也在把 AI 从“会写”推进到“可交付”,欢迎留言说说你团队现在最卡的是规范、测试,还是协作流程。

参考资料

2026.04.09 17:26 沪 · 赵巷KFC
📌 声明:本文由 AI 辅助完成