如何理解 Vibe Coding 与 Spec Coding?

考查重点:快速反馈与规格约束。Vibe偏运行效果快速迭代,Spec先明确约束验收,按局部/跨模块风险组合,二者都要真实运行验证

本题目录

参考答案

核心回答

Vibe Coding强调用自然语言描述意图、快速生成并运行代码,再根据效果反复调整;Spec Coding强调先把目标、关键约束和验收行为表达清楚,让AI围绕这些约定实现。两者的差别主要是如何减少需求理解与实现之间的偏差,而不在于是否使用AI。

原型探索适合快速试错;已有业务系统、跨模块协作或需要长期维护的功能,更需要明确接口、状态和边界。实际开发可以先用原型发现需求,再补齐必要约定;简单修改也可以只用几条清楚要求,不必为采用Spec Coding创建一整套文档。

两种方式怎样影响开发

Vibe Coding反馈快,能把抽象想法变成可讨论的界面或行为,但“运行起来像预期”可能漏掉异常输入、权限和兼容问题。如果开发者不理解关键代码,后续定位问题会更困难。日常认真审读、测试AI代码的做法,也不必都叫Vibe Coding。

Spec Coding把容易产生分歧的信息显式化。例如“导出订单”要说明导出对象、字段、时间范围、权限、空结果和失败表现;技术实现再沿现有框架与代码模式展开。规范可以是简短任务说明、接口契约或验收例子,重点是能用来判断实现是否偏离。

GitHub Spec Kit提供规范、技术计划和任务分解等工作流,是一种可参考实现;文件名和阶段数量并非所有团队统一标准。有了规范也不意味着代码自动正确,仍需根据运行结果发现规范遗漏与实现错误。

同一个需求怎样处理

假设做一个内部造数工具,先用AI生成可运行原型,验证字段选择和预览体验。准备供团队持续使用时,再明确数据类型、关联约束、随机种子、规模上限和导出格式,用固定输入验证输出数量与一致性。

如果只是已有页面增加一个展示字段,读清现有列定义后直接修改、检查显示及排序就足够;如果要改订单状态机,则应先把合法状态转换和异常处理讲清。流程重量取决于影响与错误代价,不取决于术语。

常见追问

Spec是否会限制创造力? 可以固定用户目标和不可破坏的约束,同时允许AI比较实现方案;原型与规范还可以交替迭代。

如何衡量提效? 看从需求到可用结果的时间、返工、缺陷和维护成本,不能仅看AI生成代码比例。

参考资料

相关面经

4 篇

美团

Agent 开发工程师
日常实习一面
查看原面经 →
你平时用 AI 写代码,对 Vibe Coding 和 Spec Coding 这两个概念有了解吗?

高德

Agent 后端开发
日常实习一面
查看原面经 →
b. 是否了解 Spec Coding 与 Vibe Coding 的区别?

快手

后端开发工程师
一面
查看原面经 →
是否了解 Spec Coding 与 Vibe Coding 的区别?

美团

测试开发工程师
暑期实习一面
查看原面经 →
spec coding, vibe coding

收录题集

3 个来源,共3 份题集

影石创新高频面试题

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

AI 编程与编码 Agent 问答

Guide · JavaGuide · 1 条原题

查看题集 →

AI 编程面试题

小林 Coding · 个人整理 · 1 条原题

查看题集 →

相关题目

4 题