Spec Coding(规约驱动开发)· 个人总结
Published in:2026-02-22 | category: AI编程

Spec Coding(规约驱动开发)· 个人总结

看了 spec-kit 介绍 + 规约驱动相关讨论,对照自己工作流后的理解 · 2026-07-03


为什么跟 AI 越聊越乱

典型场景:「帮我加登录」→「密码要加密」→「失败要有提示」→ 改到第三轮注册接口被动了。

直觉怪模型不够聪明。真相是输入就是碎的——AI 每次只看到这一句话 + 眼前上下文,做第五步时可能忘了第一步为什么那么设计。你和 AI 之间缺一份双方都认可的对齐物

Vibe Coding 爽在不用写文档,适合小玩具、一次性脚本、周末 demo。正经项目、要长期维护的,口头一句句喂,就像跟外包说需求——双方都没有完整图。


Spec Coding 是什么

先把要做成什么样讲清楚,再让 AI 动手。

不是写一份死合同,而是分台阶、每阶停一下对一次。任何一步发现前面想岔了,随时回去改——规约是活的共识,不是瀑布式签字定死。

1
2
3
4
5
6
7
需求(做什么、为什么,不谈技术)

方案(用什么技术、怎么架构)

任务(拆成可独立执行的活)

实现(照着任务清单写代码)
Vibe CodingSpec Coding
步骤四步糊在一起四步分开,每步有产物
纠错代码写完才发现方向错第一步就能发现理解偏差
产物碎片对话可检查、可修改的文档

spec-kit:把流程做成斜杠命令

GitHub 官方的 spec-kit 把上面四步封装成 Skill,装在 .claude/skills/ 下:

命令干什么
/speckit-constitution项目铁律(如「所有接口写测试」)
/speckit-specify只写需求,不提技术
/speckit-plan基于需求定技术方案
/speckit-tasks拆任务清单
/speckit-implement按任务实现

兜底:

命令什么时候用
/speckit-clarifyspecify 后、plan 前——把模糊点问清
/speckit-analyzetasks 后、implement 前——需求/方案/任务交叉比对

关键细节:Skill 是 Claude Code 启动时扫描的,必须 cd 进项目目录再开 claude,斜杠命令才会出现。

安装:uv tool install specify-cli --from git+https://github.com/github/spec-kit.git,然后 specify init <项目名> --integration claude


和标准瀑布的区别

瀑布规约驱动
文档签字定死,改要走变更随时改,AI 几秒重生
节奏一次定死扛着走边走边对齐

表面都是分阶段,内核完全不同——规约是橡皮泥,不是石头。

选型标准:这东西打不打算长期维护、持续加功能?是 → Spec;几十行跑一次就扔 → Vibe 一把梭。


和我自己的工作流:本质一样,工具不同

我没直接用 spec-kit,但大需求走的是同一套逻辑:

1
2
3
4
5
/grill-with-docs  ≈  constitution + specify + clarify(压力测试 + 对齐边界)
/to-prd ≈ plan(技术方案 + 验收标准)
/to-issues ≈ tasks(垂直切片 Issue)
/implement ≈ implement
/review ≈ 人工 + AI 验收

区别是我用自定义 Skills 而不是 spec-kit 默认模板,Grill 阶段会读代码库、写 ADR,比纯 spec-kit 更重「领域建模」。

spec-kit 的 /speckit-specify 强调需求阶段零技术词——这点我认同,也是性价比最高的一次检查:花 2 分钟读 spec,省 2 小时返工。


实操教训

  1. specify 只谈需求——「React + SQLite」留到 plan
  2. 每步产物亲自过——不对当场改,别攒到 implement
  3. 大项目分阶段 implement——别一条命令从头撸到尾;上下文太长会顾此失彼
  4. implement 前一行代码都没有是正常的——到 tasks 步还在规划,说明做对了

有人用 spec-kit 做看板 demo,10 分钟跑通——我信小 demo 可以,但生产级项目别指望一次 /speckit-implement 搞定。


和 MewCode Agent 项目的关联

MewCode Agent 虽没用 spec-kit,但文档结构也是:

1
spec.md → plan.md → task.md → checklist.md → 代码

让 AI 写代码前先把规划做满——这和 spec-kit 哲学一致,只是文件命名不同。


我的判断

AI 时代瓶颈从「会不会写代码」转向能不能把事情讲清楚。Spec Coding 的价值不是文档本身,是把「先想清楚再写」从废话变成绕不过去的工序

场景我选
改 Bug、小接口、脚本Vibe 或单会话 /implement
跨模块、要维护、有架构决策Grill → PRD → Issues → Implement

规约驱动真正值钱的是对齐成本前置——第一步发现理解偏差,比 implement 完返工便宜一个数量级。


待办

  • 挑一个 repo 用 spec-kit 完整跑一遍,和我的 Skills 流程对比差异
  • constitution 级铁律(测试、安全)是否该单独文件化
  • 大需求 implement 继续一 Issue 一会话,别合并成 mega-session
Prev:
华为绩效管理与激励体系学习总结
Next:
Elasticsearch 核心概念:段、提交点与 Translog