最佳入门路径

从这里开始做 Spec-First 开发

如果你刚认识 Spec Coding,或需要给同事一条从模糊需求到可评审规格的最短路线,就用这一页。

最近更新:2026-05-06

选择路径

理解方法

弄清什么应该写进 Spec、什么留到实现阶段,以及如何让决策可测试。

打开 Spec-First Hub

编写 API 契约

用于 schema、错误分类、兼容性、版本策略、Webhook、SDK 和客户端安全。

打开 API 契约 Hub

让验收可测试

把模糊成功描述改成 Given/When/Then、失败路径和发布证据。

打开验收标准 Hub

控制 AI 辅助编码

在代码合并前连接 Prompt、风险登记、允许文件、测试证据和评审门禁。

打开 AI 治理 Hub

五步路径

命名决策

写团队真正承诺的行为,而不是任务清单或 UI 偏好。

设定非目标

明确这次发布不会改变什么,避免实现过程中悄悄扩大范围。

让验收可观察

用示例、失败路径、fixture、日志、截图或指标,让评审者可以检查。

选择正确产物

按场景选择功能、API 或 DB 模板;生成器只用于快速起草第一版结构。

合并前附上证据

不要把“通过评审”当成证明。把测试、日志、上线门禁或人工检查链接到规格。

推荐资源

功能规格模板

用一页写清目标、非目标、验收标准、边界情况和回滚说明。

复制模板

规格生成器

把零散笔记转成可编辑 Markdown,再手动收紧证据和负责人字段。

打开生成器

规格评审清单

实现前检查范围、依赖、上线、回滚和测试证据。

使用清单

什么时候值得写 Spec

当一个改动可能以多种合理方式失败时,就值得先写 Spec。典型场景包括客户数据、资金、权限、公开 API、数据库迁移、后台任务、发布开关,以及 AI 生成代码。简单文案修改可以只用清单;退款流程、schema 迁移、合作方接口、通知偏好模型和队列消费者,都应该先有一条书面决策路径。

最快的判断方法是:如果评审者即使通过 PR,仍可能对“期望行为”有不同理解,那就先写规格。Spec 不需要提前决定所有实现细节,但必须写清行为、边界、负责人,以及什么证据能证明这次变更可以发布。

谁负责看什么

产品或负责人

确认目标、非目标、用户可见行为,以及这次发布明确不接受哪些取舍。

研发

检查 API、数据、权限、兼容性、发布顺序、回滚条件和实现约束。

QA 或支持团队

把验收标准转成测试用例、fixture、人工检查和支持团队能识别的失败路径。

AI 编码评审者

检查生成代码是否只改允许文件、是否遵守非目标,以及是否交付了规格要求的证据。

示例:退款工作流

退款流程适合作为第一份练习,因为失败模式很具体。模糊 ticket 只会写“允许用户退款订单”;可评审 Spec 会决定退款窗口、重复请求处理、支付渠道超时状态、客服 override、事件发送、审计日志,以及什么上线指标应该触发暂停。

Spec-First 版本仍然可以很短:已捕获款项 90 天内可退款;同一个 idempotency key 重复请求返回同一个 refund id;支付渠道超时进入 pending confirmation;如果 15 分钟内重复退款尝试超过阈值,就暂停发布。这样产品、研发、QA、支持和 AI 编码工具都能在同一个边界内工作。

# 退款工作流验收切片

Given 一笔 90 天内的已捕获款项
When 使用新的 idempotency key 发起退款
Then 创建一条 refund 记录,发送一次 refund_requested 事件,
并写入包含 actor、charge_id、refund_id 和 reason 的审计日志。

Given 同一个请求用相同 idempotency key 重放
When 服务再次收到请求
Then 返回已有 refund_id,并且不再发送第二次事件。

AI 交接提示词

使用 AI 编码工具时,先贴规格,再要求写代码。边界要清楚到模型可以被评审:允许修改哪些文件,哪些行为不在范围内,哪些测试算作证据,如果规格不清楚时应该先提问还是自行假设。

请把下面的 Spec 作为唯一事实来源。

规则:
- 不要实现非目标之外的行为。
- 只修改 Allowed files 中列出的文件。
- 如果需求有歧义,先提问,不要直接实现。
- 每条验收标准都要有测试。
- 最后返回变更文件、测试命令和证据摘要。

Spec:
[粘贴已评审的规格]

第一次落地顺序

第一次推行时,不要要求团队一次性改掉所有流程。先选择一个真实但风险可控的需求,把 ticket 里原本最容易口头沟通的部分写成 Spec:目标、非目标、验收标准、边界情况和证据。评审时只问三个问题:行为是否清楚,失败路径是否可测试,合并前需要什么证据。

完成一次后,把最终 Spec、PR、测试结果和上线观察记录放在一起复盘。保留真正帮到评审的字段,删掉没人维护的字段。Spec-First 的重点不是多写文档,而是让团队在实现前先做出可检查的工程决定。

FAQ

第一篇应该先看什么?

如果你刚接触这个方法,先看 Spec-First 开发 Hub,然后根据眼前工作选择模板。

最小可用 Spec 要写到什么程度?

多数低风险工作只需要一页:目标、非目标、验收标准、边界情况、负责人和证据。

工具应该放在流程哪里?

工具适合快速起草结构,但输出后仍要人工补齐真实负责人、测试证据和发布边界。

如何和 AI 编码工具一起用?

把规格、非目标、允许修改的文件和验收证据交给 AI。评审边界不清楚前,不要直接要求实现。

下一张真实 ticket,先选模板,再在生成代码或实现前跑一遍评审清单。