课程目录

第 4 课 · AI 原生软件开发生命周期

Design: Specs and Skills

本篇听书

5 分钟 · 双主持人讲解

配套视频里没有与本篇对应的段落

Design:用 spec.md 与 Skills 前置约束

设计阶段把已经接受的意图转换成工程团队可以计划的需求与设计规范。与其等到数周后的安全或品牌评审才发现冲突,AI 原生方法让 Claude 在写 spec.md 时就读取组织策略,把约束应用到方案并主动标出不能同时满足的部分。产品负责人审核规范,策略负责人处理被标出的高风险冲突。

学习目标

  • 能从 intent.md 产出可评审、可追踪的 spec.md
  • 能判断哪些知识应进入 Skill,哪些应留在 CLAUDE.md 或单次提示中。
  • 能为策略应用保留版本、证据和明确负责人。

核心概念

规范必须回答两个问题:设计是否解决了意图中的问题,以及开放问题是被解决、被验证性假设替代,还是明确延后。官方手册建议产品负责人先处理代理标出的关注点,再把规范交给工程团队;接受 spec.md 的人类决定,才启动构建阶段的计划模式。

Skills 适合封装需要在相关任务中反复应用的制度知识,例如外部 API 安全、无障碍标准或品牌规则。它们应有清楚的触发描述、具体操作和验证命令,并由策略负责人审查。项目的稳定事实与常用命令更适合放在 CLAUDE.md;只对当前变更有效的背景放在意图、规范或提示中。

还要认识控制强度:Skill 是建议性控制,能提高一致性,却不能保证每次都遵守。不能例外的规则需要确定性后盾,例如 Hook、静态检查、CI 门禁或独立 PR 复核。策略版本、使用它生成的规范和批准记录都进入版本历史,才能说明当时依据的是哪套规则。

实践步骤

  1. 读取已接受的 intent.md,逐项提取目标、非目标、约束、证据和开放问题。
  2. 加载本次相关的安全、合规、品牌与 UX Skills;记录版本或提交 SHA。
  3. 生成包含方案、接口/数据影响、失败模式、验收条件和被标风险的 spec.md 草稿。
  4. 先由产品负责人对照意图检查,再由被点名的策略负责人处理冲突;高风险变更请技术负责人参与。
  5. 接受规范时保留变更 ID,确保后续计划与 PR 能追溯到同一意图。

以下是 AIKnow 自行创作的 illustrative template(示意模板),延续上一课虚构案例,不是 Anthropic 提供的规范或推荐架构:

# Spec: FIN-042 报销单据缺失提醒

依据:intent/FIN-042.md @ 7f3a1d2
状态:待评审

## 行为范围
- Web 提交页调用只读校验接口,返回缺失类型与可操作提示。
- 财务审批结果不由该接口决定。
- 移动端和历史草稿不在本次范围。

## 接口与数据
POST /expense-drafts/{id}/receipt-check
响应只含规则 ID、严重度与展示文案键;不返回图像识别原文。

## 失败策略
校验服务超时 800ms 后降级为允许提交并记录匿名计数,页面明确提示稍后由财务复核。

## 策略应用
- receipt-privacy skill @ 91b02c4:日志禁止单据文本和对象存储 URL。
- accessible-forms skill @ 28ae901:错误摘要可聚焦并关联字段。

## 关注点与负责人
- 海外规则配置尚未确认:财务合规负责人,阻断全球启用。
- 降级时的风险接受:费用产品负责人,发布前签字。

## 验收证据
契约测试覆盖三种缺失类型、超时降级和权限拒绝;无障碍检查通过;日志扫描无敏感字段。

常见误区

  • 让规范重复意图。 规范要增加可实施的行为、边界与验证,不只是改写问题。
  • 把所有文档塞进一个巨大 Skill。 触发边界不清会浪费上下文,也难以指定策略所有者。
  • 把 Skill 当强制门禁。 对“绝不允许”的要求仍需确定性检查。
  • 隐藏冲突让文档看起来完整。 明确冲突、负责人和阻断条件比虚假的确定性更安全。

动手练习

基于你在上一课写的意图,创建一页 spec.md。至少写一个失败策略、一个数据边界、两个验收证据和一个需要策略负责人决定的关注点。再把团队的一条反复提醒改写成 Skill 的触发描述,判断它是否还需要 Hook 或 CI 检查,并写出原因。

要点回顾

设计阶段的加速来自“在写规范时应用策略”,不是省略策略。spec.md 把意图、设计和可验证证据连接起来;Skills 让制度知识在相关任务中可复用,而确定性门禁负责不可例外的规则。最终接受仍是有明确责任人的人类决定。

参考来源

  • Anthropic / Claude 官方文章:The AI-Native SDLC playbook,重点参见 “Stage 2 — Design” 与 “Skills as institutional knowledge”,核验日期:2026-08-26。
  • Claude 官方文档:Extend Claude with skills,用于核验 Skills 的目录结构、触发与按需加载机制,核验日期:2026-08-26。
  • Claude 官方文档:Automate workflows with hooks,用于核验 Hook 作为确定性执行层的边界,核验日期:2026-08-26。