你有没有这种感觉?
用AI写代码,刚开始的几天特别爽。功能一个接一个蹦出来,感觉效率提升了10倍不止。
但项目做到一半,开始不对劲了。
AI写的新功能和老代码风格完全不一样。命名规范前后矛盾。架构设计各有各的想法。
然后你发现,你花在"统一代码风格"和"修复AI写的bug"上的时间,比你从头手写还多。
这不是AI不够聪明。这是你的工作流本身出了问题。
今天给你们介绍一个微软开源的工具包——SpecKit。它解决的问题,就是"AI写代码很快,但项目越来越难控"。
先说清楚:AI为什么会让项目失控
大多数团队用AI写代码的方式是这样的:
打开对话窗口,说"帮我写个登录模块",AI哗哗写出来,你复制粘贴进去,很好。
下次再打开窗口,"再帮我加个权限管理",AI又哗哗写出来,你再粘进去,也好。
但问题来了:
AI每次对话,都是从零开始。它不知道上次你定了什么命名规范,不知道你们的技术栈选型,不知道哪些代码是要保留的、哪些是AI自己脑补的。
|
|
这不是AI的问题,这是工作流的问题。
具体来说,失控有三个典型症状:
|
风格撕裂 代码风格、命名规范、架构设计前后不一 |
|
边界模糊 AI理解偏差或过度设计,产生大量无用代码 |
|
协作断层 AI缺乏上下文,难以与现有架构无缝集成 |
SpecKit是怎么解决这个问题的
SpecKit是微软发布的"规格驱动开发(Spec-Driven Development,SDD)"工具包。
它的核心思路很简单:先把规格写清楚,再让AI按照规格干活。
不是和AI闲聊式地写代码,而是给它一份完整的规格说明书,让它照单执行。
就像建筑工程:口头跟施工队说"给我盖个房子",最后得到的是一堆砖头水泥。按施工图纸来,结果完全不一样。
SpecKit的核心工作流
|
📜 Constitution 定宪法 |
|
✍️ Specify 写规格 |
|
📋 Plan 做计划 |
|
🔨 Implement 写代码 |
第一步:立"宪法"(/speckit.constitution)
这是最关键但最容易被忽略的一步。
你要告诉AI:这个项目的核心原则是什么,什么必须做,什么绝对不能做。
比如:"Simple is King。UI必须干净,没有多余菜单。优先保证加载速度,不做复杂动画。代码结构扁平化。任何功能如果增加用户点击次数,一律砍掉。"
|
|
第二步:写规格书(/speckit.specify)
用自然语言描述你想要什么体验,而不是写技术术语。
"我想要一个笔记应用,核心是速度。打开应用,到输入框聚焦,不能超过0.5秒。"
这种描述方式让AI理解的是你要什么,而不是怎么实现。实现细节是AI的工作,不是你的工作。
第三步:AI自动生成检查清单(/speckit.checklist)
基于宪法和规格书,SpecKit会自动生成一份质量检查清单。
这份清单就是AI的"验收标准":功能写完了,对照清单一条一条核,没打勾的不能算完成。
这才叫"规范驱动",不是口头约定,是有检查项的硬标准。
和"对话式编程"有什么区别
你可能听说过"Vibe Coding"——打开AI,说"给我写个XXX",AI哗哗写,你哗哗粘。
这种方式的问题:
AI在"凭感觉"写代码。你没有给它明确的约束,所以它会按自己的理解发挥。你不给约束,它就自己设定约束——然后你发现这些约束和你真正想要的完全不一样。
SpecKit的方法是:规格先行,实现后置。
规格没写清楚,就不让AI写代码。宪法没定,就不让AI发挥。
这听起来慢,但实际上快得多——因为省去了大量的"写完再改"的时间。
我的判断
SpecKit解决的不是AI能力问题,是工作流规范问题。
AI写代码的速度已经很快了。但如果你用它写代码的方式是错的,项目反而会比手写还慢——因为你要花大量时间修AI的"即兴发挥"。
SpecKit的核心价值:把AI从"即兴发挥的写手"变成"照单执行的工人"。
当然,规格驱动也有代价:你得先把需求想清楚。
这对想清楚了再动手的人来说是好事,对喜欢边想边写的人是负担。
但如果你认真做项目,规范驱动是必由之路。
GitHub搜"spec-kit"可以找到官方仓库,有完整的安装和使用文档。

