chat
AI 规范驱动开发“三剑客”深度对比:Spec-Kit、Kiro 与 OpenSpec
下面给你一篇接地气、面向实践、适合技术人阅读的深度对比文章,主题正是你要的:
AI 规范驱动开发“三剑客”深度对比:Spec-Kit、Kiro 与 OpenSpec
AI 规范驱动开发(Spec-Driven Development,SDD)这半年火得离谱。原因很简单——大家都发现: “先写清楚规则,让 AI 按规则写代码”,比“让 AI 自己瞎编”靠谱得多。
于是三个生态逐渐成为主流选择,江湖人称 SDD 三剑客:
- Spec-Kit
- Kiro
- OpenSpec(OpenAI 出品)
它们到底差在哪?适合什么团队?坑在哪里?下面一次讲透。
一、三者定位概览(一句话版本)
把三者比喻成“AI 驾驶的安全系统”,就很好理解:
| 工具 | 一句话描述 | 更像什么 |
|---|---|---|
| Spec-Kit | 规范最严格、颗粒最细,约束到“连注释都不能乱写” | F1 赛车法规 |
| Kiro | 强调“验证”,更像 LLM 的单元测试框架 | 单元测试 + 静态扫描器 |
| OpenSpec | OpenAI 官方规范系统,偏“平台级协议”,用于构建 API 级 AI 行为 | Web API 的 OpenAPI |
三者分别站在约束、验证、协议三个角度切入同一个问题: ——“如何让 AI 的产出更可控、更稳定、更生产级”。
二、核心理念深度对比
🟦 1. Spec-Kit:“把 AI 绑定在规则之内”
Spec-Kit 的核心思想是:
把你希望 AI 遵守的要求,全都写进一个可执行的规范文件。 然后每次调用 AI,都会强制对照规范。
它的关键能力:
✔ 极细颗粒度的规则系统
能够约束到:
- 目录结构必须满足什么模版
- 函数必须包含哪些参数
- 不允许修改某段已有代码
- 不允许新增无关文件
- 生成内容必须遵守安全规则
- 响应里禁止出现哪些模式
- 必须使用某个日志标准、异常风格、变量命名策略
换句话说,Spec-Kit 的哲学是:
“不信任 AI,所有规则写死;AI 只能在规定的轨道上走。”
适合场景:
- 后端 / 工程驱动团队
- 构建大型多文件代码库
- 需要可预测、可迭代的代码产出
- 希望控制 AI 对项目的所有写入行为
🟩 2. Kiro:“AI 产出的单元测试框架”
Kiro 解决的问题不是“怎么约束 AI”,而是:
“AI 写出来的东西到底靠不靠谱?”
它的本质是一种「验证层」(Validation Layer):
-
你可以写规则:
- 结构是否符合要求?
- 是否有安全风险?
- 是否破坏某段逻辑?
- 是否违背你的架构风格?
- 是否包含敏感词?
-
AI 的产出必须通过验证,否则必须重新生成。
它的设计哲学是:
“不阻止 AI 发挥,但必须通过验证才能进入主干。”
非常像:
- eslint / golangci-lint
- 单元测试
- 质量门禁(Quality Gate)
适合场景:
- 希望允许 AI 自由生成,但要自动审核
- 需要用 “拒收机制” 确保质量
- 团队规范相对灵活
- 侧重质量和一致性的工程团队
🟥 3. OpenSpec:“AI 的 OpenAPI 规范”
OpenSpec 是 OpenAI 官方推出的规范系统,它其实更底层:
它不是为了约束 AI 代码,而是为了“描述一个 AI 服务的行为”。 类似:给 LLM 做 OpenAPI。
你能用它描述:
- 一个“AI 工具”的 schema
- 输入有哪些字段?
- 输出是什么格式?
- 哪些字段是强制的?
- 有哪些枚举?
重点是:
这是 OpenAI 官方在构建“AI 操作系统(AI OS)”的基建。 以后所有“让 AI 调用工具、知识库、API”,都将依赖 OpenSpec。
适合场景:
- 构建 AI Agents
- 构建 API 型工具生态
- 多模型、多工具的复杂协作
- 想让模型“可靠调用你的系统”
它不适合:
- 管控代码生成
- 限制 AI 变更内容
- 规则校验
它是“上层 AI 工程生态的协议层”,而不是“产出约束层”。
三、设计哲学差异(关键理解)
可以用一幅图说明三者的差异:
[验证层 Validator]
▲
Kiro ----------------------┘
放飞,但验证
[规则层 Rule Engine]
▲
Spec-Kit ------------┘
强规则约束
[协议层 Specification]
▲
OpenSpec ----------┘
定义 AI 服务契约
三者像是不同维度:
- Spec-Kit 管“过程”
- Kiro 管“结果”
- OpenSpec 管“接口”
这三者并不竞争,而是互补。
四、实战选型:什么团队用哪个?
✔ 你是后端工程师 / 架构师 → Spec-Kit
痛点:
- AI 动不动就乱改文件
- AI 会重写你写好的代码
- AI 会生成不合规范的结构
- 多次调用无法保持一致性
Spec-Kit 的强约束最适合你。
典型使用效果: 让 AI 和实习生一样,只能做你允许的事。
✔ 你是全栈 / 独立开发者 → Kiro
你希望:
- AI 生成得广一些、活一些
- 但不要越界
- 产出必须“符合验收标准”
Kiro 的验收机制最合适。
✔ 你要做 AI Agent / 多工具生态 → OpenSpec
比如:
- 让模型调用自建 API
- 让模型知道数据库结构
- 让模型调用不同的插件
- 构建一个新的 agent 平台
OpenSpec 是未来标准。
它不是限制 AI,而是告诉 AI: “你要学会如何正确地使用我的系统。”
五、能力矩阵对比(硬核版本)
| 能力 | Spec-Kit | Kiro | OpenSpec |
|---|---|---|---|
| 控制 AI 修改文件 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐ |
| 限制 AI 的响应结构 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 失败时自动重试 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐ |
| 验证产出质量 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐ |
| API/工具 schema | ⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 用于 Agent 构建 | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 支持复杂规范编排 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| 工程可控性(稳定性) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| 可扩展性 | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 适合团队协作 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
一句话总结:
- Spec-Kit → “产出必须完全按我说的来”
- Kiro → “产出可以多样,但必须合格”
- OpenSpec → “模型之间的协议标准”
六、三者能否一起组合?
答案是:完全可以,而且更强。
例如:
组合玩法示例:构建企业级 AI Coding Bot
- OpenSpec → 描述 API & 工具
- Spec-Kit → 约束生成规则
- Kiro → 对生成结果验收
就像 DevOps:
- OpenSpec = OpenAPI
- Spec-Kit = 编码规范 + 架构规范
- Kiro = 单元测试 + 静态扫描
这是“企业级 AI 工程体系”的标准组合。
七、哪一个会成为行业主流?
如果从长期趋势看:
- OpenSpec → 几乎确定会成为 AI 工程领域的“OpenAPI 标准”
-
Spec-Kit & Kiro → 会在工程团队中长期并存
- Spec-Kit 更偏重“规约驱动开发(SDD)”
- Kiro 更偏“模型产出的质量工程(QE for LLM)”
你可以把它看成:
OpenSpec 是“云”,Spec-Kit 与 Kiro 是“地基”。
八、结语:AI 开发已经从“写提示词”变成“写规范”
未来几年 AI 开发最大的变化是:
“Prompt 不再是主角,规范才是。”
三剑客解决的是:
- 可靠性
- 可维护性
- 一致性
- 工程规约
真正把 AI 变成「可控的工程能力」。
如果你要打造 AI 驱动的自动化测试平台、AI 代码生成器、AI 运维平台、AI 中台—— 这套组合会是必须要的底座。
如果你愿意,我还能帮你写:
- 三剑客的更深技术原理
- 三者的示例规范文件
- 如何用它们构建一个企业级 SDD 流水线
- 你正在打造的自动化测试平台如何整合三者
你需要哪个?
参考资料
https://mybatis.org/mybatis-3/zh_CN/sqlmap-xml.html#Parameters
