你有没有经历过这样的场景?
打开 AI 编程工具,用自然语言描述了一个需求,AI 刷刷刷写了一堆代码,项目雏形肉眼可见地长出来。你很兴奋,一路 Accept——直到某个时刻突然发现,文件目录结构被改了,某个模块的实现和你想的完全不一样,甚至冒出一些你根本没提过的功能。等你反应过来,已经陷在一堆"能跑但不对"的代码里,修起来比自己重写还痛苦。
这就是 Vibe Coding 的「甜蜜陷阱」。
01
Vibe Coding 走到了瓶颈
2025 年,Vibe Coding 席卷了开发者圈子。"每个人都能成为开发者"这句口号让很多人第一次感受到 AI 写代码的效率,小功能、小原型确实能用这种方式快速搞定。
但当项目变得复杂,问题开始集中暴露。
首先是全局视野的缺失。AI 往往只盯着当前文件做局部改动,对整体架构缺少理解——类型依赖断了、模块边界模糊了、命名风格乱了,这些问题在局部看着合理,全局却一团糟。
其次是上下文的丢失。大语言模型在长对话中天然容易偏移。离最初的 prompt 越远,Agent 就越容易靠「脑补」填补空白——你说做 A,它给你加了 B、C、D。短对话里这还不明显,但任务一长,偏差会像滚雪球一样越滚越大。
再者是可追溯性差。核心设计决策散落在对话记录里,没有沉淀为文档。一周后回来接着改,不仅得重新向 AI 解释背景,自己也得把上下文重新捋一遍。团队协作更是如此——队友只能看到最终代码,看不到中间为什么要这样做。
这些痛点的根源不是 AI 不够聪明,而是开发流程缺了一个关键环节——在动手写代码之前,先和 AI 对齐要做什么、怎么做、做到什么程度算完成。
02
Spec 驱动:让 AI 编程回归工程思维
为了解决这些问题,Spec 驱动开发(Spec-Driven Development)应运而生。
简单来说,Spec 驱动开发是在编写代码之前,先建立一份结构化的规范文档(Specification),明确需求范围、技术方案、任务拆解和验收标准。然后让 Coding Agent 严格基于这份规范执行开发。
核心逻辑是:把「意图」从散落的对话中提取出来,变成一份可执行的、活的文档。它不是被束之高阁的静态 PRD,而是贯穿整个开发过程的锚点——AI 在执行时参照它推进,偏离时凭借它校准,完成时依据它验收。
如果把 Vibe Coding 比作「口头约定」,Spec 驱动开发就是「签了一份合同」。不是说口头约定不行,而是当事情足够复杂时,一份写下来的约定能省掉很多后续扯皮。
03
不只是文档,是完整的工作流
灵码的 Quest Mode 中内置了 Spec 驱动场景。它不是简单地让你写一份 spec 文件再手动执行,而是把「需求澄清 → 生成 Spec → 审核确认 → 执行开发 → 验收结果」串成了一条完整的链路。
我们来看它具体是怎么工作的。
第一步:需求澄清——AI 先把问题问清楚
这是灵码 Spec 模式和很多同类产品最大的不同。当你提交一个任务后,Quest 不会急着开始,而是先对你的需求做一轮「澄清」——用选择题的形式,帮你把模糊的部分明确下来。

比如你说"做一个备忘录应用",Quest 可能会问你:技术栈偏好是什么、需要哪些核心功能、数据如何存储。

这一步看起来简单,但它解决了 Vibe Coding 的一个核心问题:开发者对需求描述得不够具体,AI 就会替你做决定。先问清楚,才能避免后面大面积返工。
你可以逐一回答,也可以选择「让 Quest 自动决定」——但至少你清楚地知道了它要做出哪些选择,而不是稀里糊涂地发现代码里用了一个你没听过的库。
第二步:生成结构化 Spec
需求明确之后,Quest 会生成一份完整的 Spec 文档,包含四个核心部分:
需求描述——做什么,为什么做,范围边界在哪里。 设计方案——技术选型、架构设计、关键决策。
任务拆分——把整个项目拆成有序的子任务,每个任务足够小、可验证。
验收标准——每个子任务什么状态算「完成」,最终交付物怎么验收。

这份文档会在产物区的 Spec Tab 实时展示,支持流式输出,你可以边看边想。
第三步:人工审核和调整
Spec 不是 AI 单方面输出的「最终版」。在这个阶段,你可以随时通过对话修改任何你不满意的部分——调整技术选型、增减功能范围、修改验收标准,所有内容都可以 Refine。
直到你认为这份 Spec 完整且准确,点击「运行 Spec」,Quest 才会正式开始执行。
这个设计背后的逻辑是:在执行之前多花 5 分钟对齐方案,比执行完再推倒重来便宜得多。
第四步:执行与实时监控
开始执行后,Quest 严格按照确认过的 Spec 推进:
To-do List 实时展示任务进度,你随时能看到 Agent 做到哪一步了。
Changed Files展示代码变更,每个修改都有迹可循。
中途追加支持随时在对话框追加需求——Quest 不会失控,而是调整计划再继续。

如果 Agent 做到一半开始偏离 Spec,你只需要把它指回文档,它会自动校准。Spec 在这里充当的角色,就是长任务中的「安全绳」。
第五步:验收交付
执行完成后,根据不同的运行模式:
Local 模式:Accept 应用所有修改到工作区,或 Reject 放弃。
Parallel 模式:合并到主分支。
Remote 模式:直接创建 Pull Request。

你得到的不是一堆需要大量善后的代码,而是一份按照事先约定好的标准完成的交付物。
04
灵码 Spec 模式的几个核心优势
相比单纯的「先写文档再 Vibe」,灵码的 Spec 模式有几个值得关注的设计:
Quest 会记住你的代码风格和项目规范,越用越契合你的习惯。不是每次都从零开始理解上下文。
05
什么时候该用 Spec,什么时候不用?
Spec 不是万能药,也不是所有场景都需要。
适合用 Spec 的场景
从零搭建一个复杂项目,前端后端数据库部署一整套。范围里有较多不确定性,需要先理清楚再动手。任务会跨越多个开发周期,中间可能有多人参与。或者一旦 Agent 走错方向,纠错成本很高的情况。
典型例子:开发一个带后端 API 的完整 Web 应用、做一次涉及多个模块的系统级重构、搭建一套 CI/CD 流程。
不需要 Spec 的场景
范围清晰、边界明确、改完就能交差的任务。比如给现有页面加个深色模式、修一个定义清楚的 Bug、写一段工具函数。这些情况下,直接让 Agent 跑就行,加 Spec 反而是多余的仪式。
本质上的判断标准是:如果 Agent 跑偏了你能快速修正,不用 Spec;如果跑偏了代价很大,用 Spec。
写在最后
从 Vibe Coding 到 Spec 驱动开发,不是从"自由"到"束缚",而是从"不可控"到"可控"。
Spec 的价值不在于多写了几份文档,而在于让你和 AI 在整个开发过程中始终保持对齐:我们现在在做什么,接下来做什么,什么算做完了。你不再需要时刻盯着 AI 有没有跑偏,而是可以放心让它跑——因为有一份双方认可的约定在那里兜底。
灵码的 Spec 模式,把这个理念落地成了一条可执行的工作流。如果你正在做复杂项目,或者已经被 Vibe Coding 的"惊喜"折腾够了,不妨试试用 Spec 来驱动你的下一个项目。
现在大家可以打开 Quest 模式来快速体验Spec驱动!
目前 Quest 仍然处于 Beta,但悄悄告诉大家,我们即将在近期迎来重大升级,届时包含 Quest 在内的更多能力将正式放开,大家敬请期待!
夜雨聆风