前两天逛了世界人工智能大会 (WAIC),在我比较关心的 AI IDE 领域,我们可以看到从 Vibe Coding 升华到 Spec Driven 和 Context Engineering 的转变。不止追求 PoC 的快,而是更要 Production Ready 的稳。
相信大家对此应该也有类似的体验,Vibe Coding 在构建 PoC 项目的时候,非常快。但是,随着项目复杂性的提高,各种问题层出不穷:
- 快速迭代生成的代码缺乏充分的文档、单元测试或架构约束,易引入技术债务开发者可能不完全理解生成的代码,当需要调试、修改或扩展功能时面临巨大困难,难以维护和扩展等等
Spec-Driven Development 的出现,能很好地解决以上的问题。
那么,两者的区别到底在哪?
- Vibe Coding 是:Prompt → CodeSpec-Driven Development 是:Prompt → Requirements → Design → Tasks → Code
如此一来,通过优先定义需求文档、系统设计和任务清单,确保代码逻辑清晰且与业务目标对齐。项目的可维护性提升,减少了后期的技术债!对于复杂的大项目的团队合作,也很有帮助!
那么,我们如何在平时的开发中用上 Spec-Driven Development 呢?
于是,我开发了 Spec-Driven Development MCP Server:
https://www.npmjs.com/package/mcp-server-spec-driven-development
目前 v0.1 的版本提供了预定义的三个 Prompts:
在 VS Code GitHub Copilot 中,可以用 /mcp 来触发:
当然,任何支持 MCP Server Prompts 的工具,都能使用 Spec-Driven Development MCP Server 。
使用
以开发一个 Vue.js TODO App 为例,几分钟就能搞定!
- 使用 generate-requirements 生成需求文档(
requirements.md
)使用 generate-design-from-requirements 生成系统设计文档(design.md
)使用 generate-code-from-design 生成代码最后,跑起来啦!
代码完全开源,欢迎围观:
https://github.com/formulahendry/mcp-server-spec-driven-development
目前项目还处于非常早期阶段,欢迎提 issue 。