第 7 天:周复盘——用 Day 5 的 checklist 复查 spec,写下第一篇学习笔记

SDD+Harness 四周学习计划 · Week 1 · Day 7

Posted by LSG on August 16, 2026

SDD + Harness 四周学习计划 · Week 1 · Day 7(认知打底收官课 / 全计划第 1 个复盘日)

今日主题:周复盘:checklist 检查 Day 5 的 spec,写第一篇学习笔记

建议用时:90 分钟 | 前置:Day 5 的 Day5-spec-<你的功能名>.md + Day 6 的工具选型小结论

输出物:修订版 spec(v2) + 第一篇学习笔记《Week 1 周复盘》——Week 2 学 Harness 时,这两样是你的试验品和对照物


0. 一句话剧透

Day 1–6 你学的全是「什么样的 spec 合格」。今天不学新的,做三件事:(六天内容一句一张卡)、(拿 Day 5 那张 checklist 给 spec 复查,顺便校准量级)、(第一篇研究式学习笔记)。

标准还是 Day 5 那句:把这份 spec 交给一个 AI,它应该能独立做到「不跑偏、可验收」。 复查没通过,就改到通过为止——这是 Week 1 唯一必须钉死的交付物。

Day 5 已经说过:写不好很正常。今天不是给你打分,是让你自己找到「哪里会被 AI 钻空子」。找不到问题,才是有问题。


1. 今日目标(学完你能做到)

  • 不看讲义,能把 Day 1–6 各用一句话串成认知地图(第 3 节)
  • 用 Day 5 那张 checklist(15 项)+ 量级校准(3 项)给 spec 复查,找出至少 3 处可改进
  • 能校准 spec 里的数字量级(”大数据量”→”10 万条”;”快”→”≤500ms”)
  • 产出 spec v2:复查不通过项全部修订,文末如实记录「本周最卡的地方」
  • 写一篇 ≥500 字的研究式学习笔记(预期 → 观测 → 复盘三件套)

对应计划「评估标准」第 1 条的验收版:Day 5 只要求写完,Day 7 要求复查通过


2. 学习动线(复盘专用时间盒)

复盘日按《研究式学习手册》的「实验三件套」收尾:预期(我以为自己写得多好)→ 观测(一查发现哪几条漏了)→ 复盘(漏的这几条教会我什么)

步骤 内容 用时
1 串认知地图:先默写 Day 1–6 各一句话,再对照第 3 节 10 分钟
2 精读第 5 节复查清单(15+3 项) 10 分钟
3 给 Day 5 的 spec 逐项复查、打分、记录问题 25 分钟
4 修订出 spec v2(重点:伪验收翻句 + 量级校准 + HOW 清扫) 20 分钟
5 写第一篇学习笔记(第 7 节模板) 15 分钟
6 本周打卡:勾选今日目标 + spec v2 存盘 5 分钟

3. 本周认知地图:Day 1–6 一句话串讲

先自己默写,再对照下表。能独立写出来,才说明这周没白学。

一句话(记住这个就够了)
Day 1 Vibe Coding 三大瓶颈(出码率≠提效、上下文失控、无法验证)→ 需要 SDD 解决「想什么」、Harness 解决「怎么做」
Day 2 完整闭环:spec.md → plan.md → tasks.md → delta spec(SDD 侧)+ CLAUDE.md+Skills / Plan Mode+Permission / Hooks / Subagents(Harness 侧)
Day 3 spec 是人机验收契约,七要素一个不少——每个要素都在堵一个 AI 会「自由发挥」的空白
Day 4 三种落地:Spec-Kit(AI 拆任务,快但有误差)、OpenSpec(人拆任务 + delta spec,稳)、轻量手工(粒度细)——按场景选
Day 5 写作六步:目的摘要 → 骨架 → 填充 → 形容词翻成可测句 → 清扫 HOW → AI 视角反向通读
Day 6 工具链:/specify → /plan → /tasks → /implement 四命令;delta spec 用 ADDED/MODIFIED/REMOVED/RENAMED 只写「这次改了什么」

串起来的逻辑链:为什么(Day1)→ 靠什么框架(Day2)→ 合格 spec 长什么样(Day3)→ 用什么方式落地(Day4)→ 亲手写(Day5)→ 有哪些现成工具(Day6)→ 今天:检验你写的那份够不够格(Day7)


4. 复盘的第一性:spec 是契约,复查就是查「履约风险」

Day 3 的定义搬一次:人和 AI 读了同一份 spec,对「什么叫完成」能得出完全一致的判断吗?

复查清单的每一项,本质都在问同一件事:这份 spec 里,还有没有 AI 可以「自由发挥」的空白?

复查维度 AI 会钻的空子
验收标准模糊 自己定义「完成」,做完还理直气壮
缺非目标 顺手多做点啥,范围悄悄膨胀
混入 HOW 替你定技术方案,你 review 时才发现方向错了
边界缺失 异常路径全裸奔,上线才暴露

所以第 5 节的每一条,不要当「格式要求」看,要当「堵漏点」看


5. 复查清单(Day 5 第 5 节复用 + 量级校准)

这张就是 Day 5 让你保存的那张。今天逐项复查,如实勾;✗ 项是今天的讨论点,不是你的失败。

A 结构(六项)

  • 七要素标题齐全、顺序合理、易扫读
  • spec 只写 WHAT,无 HOW(可换技术栈仍成立)
  • 有编号约定(如背景 B / 目标 G / 故事 US / 验收 AC)

B 验收(最重要)

  • 每条 AC 都是 Given-When-Then + 可量化断言,零形容词
  • 每条 AC 都能直接变成一句自动化测试
  • 至少覆盖:主路径成功 + 一条失败路径

C 防漂移

  • 非目标 ≥3 条
  • 边界条件覆盖:空结果 / 极限数据 / 超时或失败 / 并发中的至少 3 类
  • 验证方式与 AC 一一对应(能指出用哪个脚本/指标证明哪条 AC)

D 方向

  • 我(或 AI)拿到它能讲清:做给谁、改变什么、怎么算成功
  • 我「顺手的念头」都被写进非目标,没留在脑子里

E 诚实项(今天用)

  • 我最有把握的要素:;最没把握的要素:;没写出来的技术顾虑:__

F 量级校准(Day 7 新增,Day 5 附录预告过)

  • 每个模糊词后面都有数字和量级(”大数据量”→”10 万条订单”、”快”→”≤500ms”)
  • 数字的基线可复现(同规格测试机 / 压测记录 / 样例集,不是拍脑袋)
  • 单位明确(ms / s / MB / 并发数 / 成功率%,没有裸奔的数字)

复查方法:A–E 组先过一遍,再看 F 组。F 组是 Day 5 故意留到今天做的——你写完 spec 隔几天再看,量级是否合理会更客观。


6. 修订 spec v2(20 分钟)

优先修这三类,它们是 AI 跑偏的重灾区:

① 伪验收 → 可测句(Day 5 附录 A 的方法,今天校准量级)

复查前(✗) 修订后(✓)
查询速度要快 10 万订单数据下,列表接口耗时从 3s 降到 500ms 以内(基线:压测记录)
登录要安全 连续 10 次失败后锁定 30 分钟,返回错误码 AUTH_LOCKED
界面更好看 首屏在 4G 网络下 2s 内完成渲染(验收:Lighthouse 截图)

② 混入 HOW → 挪走或删掉(Day 3 铁律:spec 只写做什么,HOW 留给 plan)

复查前(✗) 修订后(✓)
用 Redis 做缓存,提升查询性能 (目标层)查询耗时降到 500ms 以内;(HOW 挪到 plan 阶段再定)
重构订单模块,拆成微服务 放入非目标(C 组第 4 条)

③ 量级校准:把 spec 里所有「快 / 大 / 多 / 稳」圈出来,逐个补上数字 + 基线 + 单位。

修订完,把 spec 另存为 Day5-spec-<你的功能名>-v2.md,原 v1 保留——v1 和 v2 的差距,就是你 Week 1 的真实成长记录。


7. 写第一篇学习笔记(15 分钟,≥500 字)

按研究式学习三件套,模板如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Week 1 周复盘(Day 1–7)

## 一、预期(我以为)
这周学下来,我以为自己已经……(写 1–2 句,越具体越好)

## 二、观测(实际发生)
- 复查结果:A 组 __ / B 组 __ / C 组 __ / D 组 __ 项不通过;F 组量级缺 __ 处
- 我最意外的发现:______(例:我以为写得很清楚的验收,B 组一查全是形容词)
- 我 Day 5 写作时最卡的地方:______(翻出 Day 5 文末的记录对照)

## 三、复盘(新认知)
- 本周最大的认知:______
- 它推翻/强化了我原来的什么想法:______
- Week 2 学 Harness 时我要带着的问题:______

## 四、下周行动
- 我要把 spec v2 用到哪里:______

写笔记不是为了交差。Week 2 学 Harness 时,你会反复拿「我的 spec 够不够格」去验证 harness 的每条规则——这份笔记就是那时的对照物。


8. 本周自测(10 题,覆盖 Day 1–6)

  1. Vibe Coding 的三大瓶颈是哪三个?
  2. SDD 和 Harness 各自解决什么问题?一句话说清分工。
  3. spec 七要素是哪七个?各回答什么问题?
  4. 为什么说「spec 是契约,不是作文」?
  5. Spec-Kit 四命令的顺序和各自产物?
  6. delta spec 的四种标记是什么?为什么增量规范适合改造项目?
  7. 三对易混词怎么区分:目标 vs 用户故事、验收标准 vs 验证方式、非目标 vs 边界条件?
  8. 写 spec 的第一铁律是什么?
  9. Spec-Kit 和 OpenSpec 的核心取舍差异是什么?(谁拆任务?谁 review?谁担两轮推断风险?)
  10. 一句话:怎么判断一份 spec 是否合格?

答不上来的题,回去翻对应那天的讲义。这 10 题就是 Week 1 的结业考。


9. 下周预告:Week 2 · Harness 工程(Day 8–14)

Day 7 复查通过的 spec v2,将是 Day 13「跑通 spec-first 提交」的试验品。下周你将:

  • Day 8:Harness 四大护栏(规则 / 权限 / 验证 / 隔离)
  • Day 9:精读 sdd-harness 的 .ai/ 目录结构与 runtime-agnostic 思想
  • Day 10:安装 harness 到测试仓库,体验「改了代码没写 spec → 提交被拦」
  • Day 11:命令循环 spec → story → implement → verify → review
  • Day 12:对比 harness-sdd、SDD-Agent-Harness 等其他实现
  • Day 13:跑通 spec-first 提交(放行 / 拦截 / 显式例外)
  • Day 14:周复盘——画自己的 Harness 理解图

预习动作(今天顺手做):git clone https://github.com/iMark21/sdd-harness 到本地,下周直接用。


10. 延伸阅读

  • 本周回顾主参考:《SDD 和 Harness:AI 编程的两大支柱》:https://blog.csdn.net/qq_43284469/article/details/164267908
  • Given-When-Then 场景写法(OpenSpec 官方术语表):https://openspec.dev/docs/glossary
  • sdd-harness 仓库(下周预习):https://github.com/iMark21/sdd-harness

本工作纸依据《SDD+Harness四周学习计划.md》Day 7 主题编制。整理日期:2026-09-09