第 14 天:周复盘——四大护栏落地形态与我的 Harness 理解图

SDD+Harness 四周学习计划 · Week 2 · Day 14

Posted by LSG on August 23, 2026

SDD + Harness 四周学习计划 · Week 2 · Day 14(全计划第 14 课)

今日主题:周复盘:总结四大护栏落地形态,画自己的 Harness 理解图

建议用时:90 分钟 | 前置:Day 8–13 全部(讲义 + 实操记录,尤其 Day 13 的三态记录)

输出物:自己的 Harness 理解图(ASCII 或 Mermaid)+ 第二篇学习笔记《Week 2 周复盘》


0. 一句话剧透

Week 1 复盘日你干的是「查 spec 够不够格」;今天 Week 2 复盘日,你干的是「确认 harness 真的把 AI 管住了」。三件事:(Day 8–13 一句一张卡)、(自己的 Harness 理解图)、(第二篇研究式学习笔记)。

记住本周的验收句:你已经亲眼看见、亲手制造了一次「改了代码没写 spec → 提交被拦」。 从「听说有四大护栏」到「被它拦了一次」,这就是 Week 2 全部的意义。


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

  • 不看讲义,能把 Day 8–13 各用一句话串成认知地图(第 3 节)
  • 能逐一说出四大护栏在 sdd-harness 里的落地形态(第 4 节)
  • 能画出一张自己的 Harness 理解图(ASCII / Mermaid 均可,第 5 节)
  • 能写出第二篇学习笔记《Week 2 周复盘》(预期→观测→复盘三件套)
  • 能答对第 7 节复习题 10 题中的至少 8 题

对应计划评估标准第 2、3 条:能逐一说明 Harness 四大护栏解决什么问题;能在项目里安装并配置一个 harness,跑通 spec-first 提交。


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

复盘日继续用《研究式学习手册》的实验三件套收尾:预期(我以为这周会怎样)→ 观测(实际发生了什么)→ 复盘(这教我什么)

步骤 内容 用时
1 串认知地图:先默写 Day 8–13 各一句话,再对照第 3 节 10 分钟
2 精读「4」:四大护栏落地形态对照表 15 分钟
3 画自己的 Harness 理解图(第 5 节参考图 → 再画自己的) 25 分钟
4 写第二篇学习笔记(第 6 节模板) 20 分钟
5 复习题 10 题 + 打卡 15 分钟

3. 本周认知地图:Day 8–13 一句话串联

先自己默写,再对照下表。能独立写出来,才说明这周真的把 harness 装进了脑子。

一句话(记住这个就够了)
Day 8 四大护栏:项目规则(CLAUDE.md+Skills)、前置规划与权限(Plan Mode+Permission)、事后验证(Hooks)、上下文隔离(Subagents)——SDD 告诉 AI 做什么,Harness 保证 AI 做对
Day 9 sdd-harness:runtime-agnostic、零依赖(bash+git);全部机制在 .ai/(ROUTING 唯一入口 / PRODUCT / CONTEXT / BACKLOG / adrs / agents / commands / hooks / notes / specs),根目录 5 行指针文件,换 AI 只换指针
Day 10 实操:装进测试仓库,在 feat 分支只改代码不写 spec → 被 pre-commit hook 拦下;fix/* 等分支豁免
Day 11 命令循环:spec → story → implement → verify → review → release → phase-close,七个 Markdown 流程文件,用法是「让 AI 遵循该文件」;配 squash merge 与 SemVer
Day 12 对比:sdd-harness(仓库文件)/ harness-sdd(可移植多 CLI,”model is the engine, harness is the chassis”,Inception intake)/ SDD-Agent-Harness(本地 App,Spec→Plan→Build→Verify→Report)
Day 13 实操:spec-first 三态全跑通——spec+代码同提交(放行)、只改代码(拦截)、SH_SDD_SKIP=1(显式例外,shell 历史留痕)

串起来的逻辑链:为什么需要护栏(Day8)→ 真实 harness 长什么样(Day9)→ 亲手装上并体验拦截(Day10)→ 装上之后流程怎么走(Day11)→ 别的实现怎么做的(Day12)→ 把核心机制三态跑通(Day13)→ 今天:确认这套东西在你手里真能用(Day14)


4. 四大护栏的落地形态:在 sdd-harness 里各自对应什么

这是本周最重要的「对账表」——纸面上的四大护栏,在本周实操对象里的实体是什么:

护栏(Day 8) sdd-harness 落地形态(Day 9–13 实测/精读) 你亲手接触过吗
项目规则(CLAUDE.md+Skills) 根目录 CLAUDE.md/AGENTS.md 5 行指针 → 重定向到 .ai/ROUTING.md(canonical 唯一入口);PRODUCT/CONTEXT/BACKLOG 用户填写 □ 精读(Day 9)
前置规划与权限(Plan Mode+Permission) 本讲义标「待核验」:sdd-harness 以文件规则约束流程;权限分级属于 AI 工具侧能力,harness 是否内置权限机制以 README 为准 □ 未直接接触
事后验证(Hooks) hooks/pre-commit-spec-check.sh(拦截:feat/feature 分支改代码不碰 spec/ADR → 拒;chore/docs/fix/hotfix 豁免)+ hooks/post-edit-trace.sh(记录:打印本次提交涉及的 spec/ADR/代码) □ 实操(Day 10/13)
上下文隔离(Subagents) .ai/agents/(如 spec-writer 子代理)——把「写 spec」这类职责隔离给专门代理 □ 精读(Day 9)

复盘问题一:哪个护栏你最有实感? 大概率是 Hooks——因为你被它拦过。这正说明:机制只有「拦住过你一次」,你才会真正相信它不是摆设。


5. 我的 Harness 理解图

先给你一张参考图(基于本周已核验素材),然后画出你自己的——允许不一样,画得越「你的」越好。

5.1 参考图(ASCII 版)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
            ┌────────────────────────────────────────────┐
            │           你的仓库(Git,零依赖)              │
            │                                            │
  AI 进来 → │  CLAUDE.md / AGENTS.md(5 行指针)           │
            │      │ 重定向                                │
            │      ▼                                      │
            │  .ai/ROUTING.md(canonical 唯一入口)        │
            │      │                                      │
            │      ├── 事实输入:PRODUCT / CONTEXT / BACKLOG│
            │      ├── 决策历史:adrs/(ADR 0008)          │
            │      ├── 流程:commands/(七命令,让 AI 遵循) │
            │      ├── 守门:hooks/(pre-commit 拦 +        │
            │      │             post-commit 记)           │
            │      ├── 隔离:agents/(spec-writer 等)      │
            │      └── 契约:specs/(spec v2 住这里)       │
            │                                            │
            └────────────────────────────────────────────┘
  开发循环:spec → story → implement → verify → review → release → phase-close
  守门规则:feat/* 改代码不碰 specs|adrs → 拦;fix/* 等豁免;SH_SDD_SKIP=1 显式例外

5.2 画出你自己的图

要求(三条,都满足才算合格):

  1. 必须包含:AI(运行时)、.ai/、ROUTING、commands、hooks、specs、spec v2 七样东西;
  2. 必须体现关系:至少一条「流程」箭头(如 spec→implement)和一条「守门」箭头(如 commit→pre-commit);
  3. 必须体现本周的实操痕迹:在图上标注「Day 10 被拦」「Day 13 三态」这类你真实经历过的点。

可以用 ASCII、Mermaid,或者手画拍照。画图的过程比图本身重要——画不出来就回去翻 Day 9 第 4 节。


6. 写第二篇学习笔记(20 分钟,≥500 字)

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

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

## 一、预期(我以为)
学这周之前,我以为 harness 是……(写 1–2 句,越具体越好)

## 二、观测(实际发生)
- 我亲手装上了:□ bootstrap.sh  □ clone + install.sh(或写实际方式)
- 我亲眼看到/亲手制造的拦截次数:______ 次;豁免/例外各 ______ 次
- 我的 spec v2 是否进入了 .ai/specs/:□ 是 □ 否(原因:______)
- 三态结果:放行 □ 拦截 □ SH_SDD_SKIP □(Day 13 记录)
- 我最意外的发现:______(例:hook 其实不检查 spec 质量,只检查「有没有碰 spec」)

## 三、复盘(新认知)
- 本周最大的认知:______
- 它推翻/强化了我 Week 1 的什么想法:______
- Week 3 学工程化闭环时我要带着的问题:______

## 四、下周行动
- 我要把 Day 13 的 spec v2 用到哪里:______
- 我要不要调整我的 spec 写法(因为 hook 只认「存在」,质量靠 review):______

提示:第 6 节模板里有个重要发现值得写——hook 只守「有没有 spec」,不守「spec 好不好」。质量责任回到了人/review 环节。这个边界,是 Week 2 给你最大的认知增量之一。


7. 本周复习题(10 题,覆盖 Day 8–13)

  1. 四大护栏是哪四个?各自防什么?(简答)
  2. sdd-harness 的两个核心属性是什么?「换 AI 只换指针文件」指的是什么?(简答)
  3. .ai/ 里「用户填写」的三份文件是哪三个?(填空)
  4. ADR 0008 记录了什么?(简答)
  5. pre-commit hook 在什么条件下拦截?哪些分支豁免?显式例外怎么写?(简答)
  6. 七个命令按顺序写出来;每个 commands 文件的四段结构是什么?(填空 + 简答)
  7. release 流程的四步是什么?版本号遵循什么规范?(简答)
  8. 判断题:SDD-Agent-Harness 是「仓库里的一组文件」。(判断——正确答案:否,它是本地 AI 开发 App,固定工作流 Spec→Plan→Build→Verify→Report)
  9. 选择题:以下哪句最能概括 harness-sdd 的设计思想? A. “model is the engine, harness is the chassis” B. “spec 是唯一的真相” C. “AI 越多越好” D. “hook 拦一切”
  10. 用一句话回答:spec-first 在 sdd-harness 里,是由什么机制强制保证的?(简答)

答不上来的题,回去翻对应那天的讲义。这 10 题就是 Week 2 的结业考。 全对,说明你可以带着 harness 进入 Week 3 的工程化闭环。


8. 下周预告:Week 3 · 工程化闭环(Day 15–21)

本周你有了「会拦人的 harness」,下周把它接进完整的交付体系:

  • Day 15:SDD 四类契约(数据 / 行为 / 质量 / 可观测性)
  • Day 16:精读《SDD 规范驱动 + Harness:AI 全栈开发工程化跃迁》——规范即代码、规范即测试
  • Day 17:持续交付中的 Harness——CI/CD、金丝雀/蓝绿发布、Feature Flags、质量门禁、自动回滚
  • Day 18:实操:spec 变成可执行验收(Gherkin 场景 / 契约测试)
  • Day 19:三大挑战与对策(规范演进、AI 不确定性、模型权重管理)
  • Day 20:实操:端到端功能——spec → plan → implement → verify → merge,全程留文档与证据
  • Day 21:周复盘——五阶段闭环图 + 案例笔记

预习动作(今天顺手做):把 Day 13 的 spec v2 和三态记录整理到一处,Day 18「spec 变成可执行验收」会直接用到它。


延伸阅读

  • sdd-harness 仓库(本周全部实操对象,回顾用):https://github.com/iMark21/sdd-harness
  • 《SDD 和 Harness:AI 编程的两大支柱》(本周主参考):https://blog.csdn.net/qq_43284469/article/details/164267908
  • 《出码率 90% 却没提效?》(为什么「能跑」不够,要「可控」):https://cloud.tencent.com/developer/article/2669269
  • 《SDD 规范驱动 + Harness:AI 全栈开发从「能跑」到「可控」》(下周精读预告):https://cloud.tencent.com/developer/article/2703349
  • 《AI 编程可闭环协作·卷三:Harness 与 SDD》(Week 4 精读,先存):https://juejin.cn/post/7647333934796537919

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