前言:面试名场面看懂两种 AI 编码差距
面试官皱眉:“你会 Vibe Coding 吗?” 我笑答:“何止会,我现在全程用 Spec Coding(规约驱动开发)。” 面试官当场:“什么时候能入职?”
很多人用 AI 写代码全靠「聊天式摸鱼」:想到啥需求随口丢给大模型,改一处崩三处,一下午反复返工。 这种靠感觉写代码的方式,行业名叫Vibe Coding; 而能搞定中大型项目、面试官一眼加分的高级玩法,叫Spec Coding 规约驱动开发。
本文不讲晦涩理论,全是可直接复制落地的流程、工具、判断标准,看完今天就能用到你的项目里。
一、分清:Vibe Coding 和 Spec Coding 到底差在哪
1. Vibe Coding:绝大多数人现在的写法
定义:凭模糊感觉,边聊边写、边走边改,没有统一书面需求。 操作方式:打开 AI 工具,随口说 “加登录、密码加密、报错提示”,想到一句提一句。 ✅ 优点:零准备、上手快 适合:一次性脚本、几十行临时小 Demo、写完就丢的玩具项目 ❌ 致命痛点:
- AI 只记住局部对话,迭代时随便改动原有代码,越改 bug 越多;
- 需求全装在你脑子里,没有统一标准,写一半才发现理解跑偏;
- 项目稍微复杂、后续要迭代维护,直接彻底失控。
类比:你口头跟外包提需求,想到哪说到哪,最后成品和你预期完全两码事。
2. Spec Coding(规约驱动开发):工程化标准玩法
核心一句话:先写清楚完整书面规则和需求,和 AI 统一共识,再动手写代码。 核心逻辑:把模糊想法落地成三份标准化文档,每一步先对齐,再编码,从根源杜绝反复返工。 ✅ 优点:
- 所有需求歧义、架构漏洞,在写代码前全部排查完毕;
- AI 有明确开发边界,不会擅自修改存量业务代码;
- 自带完整项目文档,后续迭代、交接新人零成本;
- 支持灵活修改,不像老旧瀑布流流程僵化。
二、零门槛落地:标准 4 步 Spec Coding 完整流程(不用工具也能做)
不管你用不用 GitHub 官方 spec-kit 工具,这套四步流程通用,顺序绝对不能颠倒。
步骤 1:Specify 写需求规约 spec.md(只讲业务,不提技术)
只描述产品功能、用户场景、验收标准,不聊框架、数据库、语言。 示例:做团队看板,可创建项目、新增任务、拖拽切换任务状态,第一版不用登录。 产出一份spec.md,写完一定要通读一遍,提前修正 AI 理解偏差。
步骤 2:Plan 制定技术方案 plan.md
基于上面的需求文档,确定技术栈、架构、数据库、接口设计。 示例:前端 React、后端 Node+Express、SQLite 存储,使用拖拽组件实现看板。 核对方案是否能完整覆盖所有业务需求,有问题直接修改。
步骤 3:Tasks 拆解细分任务 task.md
把整套技术方案拆成一条条独立、可执行的开发清单。 例:搭建项目骨架、创建任务数据表、编写创建项目接口、开发看板拖拽组件。 优势:AI 不会一次性处理超大上下文,分阶段开发更稳定。
步骤 4:Implement 执行编码
前三份文档全部确认无误后,再让 AI 按照任务清单统一编写代码。 此时 AI 只做执行者,不会擅自修改设计、乱改已有逻辑。
两大兜底步骤(复杂项目必加,小项目可省略)
- Clarify 需求澄清 AI 自动抓取需求里模糊、有歧义的点主动提问,提前消除认知差,避免写代码后返工。 使用时机:写完 spec.md 之后、设计技术方案之前。
- Analyze 一致性校验 自动比对需求、方案、任务三份文档,查找互相矛盾、功能遗漏问题,人工核对效率翻倍。
顶层约束:Constitution 项目开发铁律
项目全局统一规范,全程约束 AI 开发行为,例如:所有接口必须写单元测试、统一代码格式化规范。
三、工具一键标准化:GitHub spec-kit 实操教程(适配 Claude Code)
手动写三份文档麻烦,官方开源工具 spec-kit 把整套流程封装成命令,一行指令完成对应步骤。
1. 工具安装
bash
运行
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git2. 项目初始化(绑定 Claude Code)
bash
运行
specify init my-kanban --integration claude cd my-kanban claude初始化后工具会自动生成 skill 脚本,存放在.claude/skills文件夹,进入项目目录启动 Claude 才能识别命令。
3. 全套核心命令(按执行顺序)
/speckit-constitution:设定项目全局开发规范/speckit-specify:生成业务需求规约/speckit-clarify:澄清模糊需求/speckit-plan:输出完整技术架构方案/speckit-analyze:三份文档交叉校验/speckit-tasks:拆分细分开发任务/speckit-implement:AI 批量落地完整代码
四、高频疑问:这不是老旧瀑布流开发吗?差别巨大
很多人会疑惑:先写需求、再做方案、最后编码,和瀑布流一模一样? 两者内核完全不同:
- 传统瀑布流:文档定稿后无法轻易修改,变更流程繁琐、成本极高,发现错误只能硬着头皮开发;
- Spec Coding:规约是动态可修改的,任意步骤发现问题,都能回头更新文档,AI 几秒重新生成配套内容,灵活迭代。
简单总结:瀑布流是 “定死不动”,规约驱动是 “随时对齐、灵活调整”。
五、什么时候用 Spec Coding?什么时候随便 Vibe Coding?
✅ 优先用 Spec Coding
- 需要长期维护、持续迭代的线上业务项目;
- 前后端联动、多模块的中复杂项目;
- 团队协作、后续会交接给其他人的工程;
- 面试、正式工作项目,体现规范开发能力。
✅ 直接 Vibe Coding 省事
- 几十行一次性临时脚本、工具;
- 仅用于演示、用完即弃的 Demo;
- 极简单文件小程序,无后续扩展需求。
六、核心底层认知:AI 时代拉开开发者差距的关键
现在大模型写代码能力已经足够强,代码产出不再是门槛。 真正区分普通开发者和高级开发者的核心能力:清晰、完整、无歧义地梳理需求与设计。 Spec Coding 本质不是一套工具,而是强制规范自己「先梳理清楚,再动手编码」的工作习惯。 只会聊天式 Vibe Coding,只能做简单玩具;掌握规约驱动开发,才能驾驭工业级项目,也是面试加分核心亮点。
结尾
如果你现在经常被 AI 写代码越改越乱、反复返工折磨,不妨下次开发正式项目时,走一遍完整 Spec Coding 流程。 前期多花十分钟梳理规约文档,后续能省下几小时调试、重构的时间,长期开发效率提升肉眼可见。
补充:无工具极简平替方案
不想安装 spec-kit 也能落地,新建三个文件交给 AI 严格执行即可:
- spec.md:业务功能、用户场景、验收标准
- plan.md:技术栈、架构、存储、接口规划
- tasks.md:分阶段开发任务清单 全程禁止脱离三份文档临时新增、变更需求。