Slides 大纲#
使用方式
本文件是 每页一张 slide 的大纲 —— 每一个 ## 对应一张 slide。
bullet 是片上文字(精简,不超过 5 行;每行原则上不超过 10 个汉字)。
引用块
>是 speaker notes(讲稿备注),不上屏。可以直接复制到 Keynote / Google Slides / PowerPoint 的 Outline 视图 一次性导入,也可以用 slidev 或 Marp 渲染。
如果你想直接拿一份 排好版的 Marp 幻灯片,见
../_handson/13-one-hour-talk/SLIDES.md;本文件是它的来源大纲。
一共 ~30 张 slide(开场 / 结尾各 1 张 + 8 段内容 × 2–4 张 + F.2 穿插 2 张)。 排练时如果某张停留超 3 分钟,说明那张内容太多,需要拆或砍。
术语约定:AGENTS.md / CLAUDE.md 兼容层 / SKILL.md / MCP / pre-commit / Bridle / Fence / Paddock / Groom / SDD / TDD / MDD / HarnessCard
不翻译。
Slide 1 —— 标题页#
Harnessing AI —— 给 AI 套上缰绳
面向同行的一小时公开分享
Walter Fan · 2026
开场不要急着讲话。让标题停 10 秒。报家门 1 句。 承诺 —— "我今天只讲主脊,不陷细节;最后留 4 分钟给 Q&A。"
Slide 2 —— 议程#
8 段 × 约 7 分钟 + Q&A 4 分钟
F.0 开场 → F.8 收尾
每段都有 一张白板 + 一句中心论点 + 回书锚点
15 秒。不念完整张表。只说 —— "我会走 8 段,每段 7 分钟; 最后留 4 分钟 Q&A。整场没有问答环节 —— 所有问题都请憋到最后 一次性问。"
Slide 3 —— F.0 开场:Model → Environment#
M → E
杠杆点移动了
过去:调模型;现在:造环境
在白板左边写大写 "M",右边写大写 "E"。 画箭头 2022–2024: M ← 调得更听话 / 2026: E ← 建得让模型干不坏事。 说 —— "过去我们想着怎么把模型调得更听话;现在我们想着怎么把 环境建得让一个普通模型也干不坏事。"
Slide 4 —— F.0 · 三条 2026 年的事实#
OpenAI Codex:8 周 100 万行生产代码,0 行人手写
LangChain:不换模型,改脚手架,Terminal Bench 2.0 进前 5
Anthropic:权限 / 技能 / MCP 的工程时间 > 模型权重
每条 15 秒,一共 45 秒。念完之后加一句 —— "三件事的共性是 —— 他们变的都不是模型,是模型周围的东西。"
Slide 5 —— F.1 · 四阶段演化#
2022–2024 · Prompt · 怎么问?
2025 · Context · 给看什么?
2025–2026 · Skill · 怎么把流程写下来?
2026– · Harness · 造什么环境?
画时间轴时故意停在 Skill 这一格,问一句 "那 2026 以后呢?" 让听众接 "Harness"(大概率有人接得上)。
Slide 6 —— F.1 · 每阶段的主要制品#
Prompt:一条巧妙的提示字符串
Context:一张检索图
Skill:
SKILL.md/ commandHarness:仓库本身 ——
AGENTS.md+ 护栏 + 钩子 + 巡检
强调 "仓库本身" —— 这是 Harness 和前三阶段最大的分野。 前三阶段可以一个工程师单独做;Harness 必须以仓库为单位做。
Slide 7 —— F.1 · 两句带走#
前三阶段调"询问层",Harness 把干预点移到"环境层"
前三阶段个人做,Harness 以仓库为单位做
放慢念。这两句是 F.1 的全部。 如果超时,可以把前面的 Slide 6 砍掉,直接从 Slide 5 跳到这里。
Slide 8 —— F.2 · 一句话定义#
Harness Engineering =
刻意设计、运行、演化
AI 编码智能体周围的结构
目的:让产出 可验证 / 可观测 / 可理解
可验证 / 可观测 / 可理解三词竖着写在白板左栏,停 3 秒再说 —— "这三词不是修辞。每一个背后都有一门四十年历史的工程学科。"
Slide 9 —— F.2 · 是 × 5#
面向智能体的规约(
AGENTS.md/CLAUDE.md兼容层/SKILL.md/MCP manifest)审批门与护栏(pre-commit / lint / PR review / CI)
沙箱(容器 / VM / 只读挂载 / 临时 worktree)
面向智能体的文档(runbook / ADR / skill)
度量与反馈面(成本 / 违规数 / turns-to-green)
快念。每条 10 秒。重点不在记住每条,而在听众形成 "原来 harness 的范围是这些东西" 的整体印象。
Slide 10 —— F.2 · 不是 × 5#
不是 推理运行栈(AI Engineering)
不是 ML 评测基准
不是 IDE 插件(Cursor / Copilot 是客户端)
不是 Agent 框架 SDK(LangChain / AutoGen)
不是 部署流水线(DevOps)
比"是"还要快。每条 8 秒。 关键在于收尾那句 归属检验 —— "commit 之前 = harness;commit 之后 = DevOps。"
Slide 11 —— F.2 · PDCA × 防跑偏#
P:规约 · D:人 + AI 写 · C:测 / lint / CI · A:Groom + 恢复
规则:可执行条文(路径 / 成本 / hook)
校验:合入前客观信号
恢复:revert / 绿色 commit 重启上下文
画
P→D→C→A小环,D 格里写 tiny「AI」。金句 —— "D 很快、C 很慢必跑偏。" 与index.mdF.2 穿插段同文;可砍省进 F.3。
Slide 12 —— F.2 · Agent Loop(驯服把手)#
用户输入 → context → decision → tools → observation
memory / skill / controller 让 loop 持续
跑偏时:看 trace,不看态度
Harness 接在输入、context、tools、loop、输出证据上
少即是多:收敛方向、立规矩、progressive disclosure
只画一圈,不展开系统图。强调 —— "Harness 决定 agent 在什么制度下写你的代码。" 细节指到第 03B 章,现场不要陷进 memory 实现。补一句 —— "不要把整座图书馆塞进 context,LLM 已经知道很多;你要给它边界和判据。" 下一张接 F.3 因果翻转。
Slide 13 —— F.3 · 因果顺序反转#
传统: test → implement → observe
AI: specify → test → observe
人写代码:测试是第一份规约
智能体写代码:规约前置,测试抓幻觉
不是推翻传统工程,是让老原则重新发光
画完后停 5 秒不说话,让听众自己读出 "咦,SDD 顶到最前面去了"。 然后说 —— "为什么翻转?因为人写的主要制品从代码移到了规约。小步提交、测试先行、可回滚、可追踪,在 agent 时代更值钱。"
Slide 14 —— F.3 · 三护法#
SDD · Specification-Driven · 说 · 可理解
TDD · Test-Driven · 证 · 可验证
MDD · Metric-Driven · 观 · 可观测
三个单词 + 三个动词 + 三个形容词。念完即走。 一个要提防的误读:"我们已经有 CI 了啊。" —— 回一句: "CI 是 TDD/MDD 的牧场;harness 在键盘按下那一刻就发声。"
Slide 15 —— F.4 · 3 × 4 矩阵(全屏)#
Bridle Fence Paddock Groom
写前 写时 写后 维护
SDD (说) AGENTS lint gate 索引
TDD (证) pre-edit pre-commit CI flaky 隔离
MDD (观) 北极星 成本上限 SLI 指标轮替
本场最重要的一张 slide。不要用动画 —— 一上来就全显示。 讲稿停在这里 4 分钟:4 列各 30 秒 + 3 行各 30 秒 + 收尾 30 秒。 收尾那句:"这张表是剩下 30 分钟的地图。"
Slide 16 —— F.4 · 四区域各一句#
Bridle(缰绳) 敲第一个键之前 看什么、听什么
Fence(护栏) 不管作者是谁,一律拒绝 坏制品
Paddock(牧场) 可以撒欢的那块地 的边界
Groom(梳理) 维护 马具本身 的重复性工作
如果 Slide 13 时间用完了,这张可以砍。否则 1 分钟讲完。 强调 Groom —— "没有 Groom 的马具,是装饰。"
Slide 17 —— F.5 · 四个案例横轴#
OpenHarness Superpowers lazy-scrum-team Claude Code
运行时+沙箱 技能库 工作流编码 闭源产品
(第 10 章) (第 11 章) (第 12 章) (第 13 章)
同一张矩阵,落在四种形态的项目上
画完后问一句 —— "大家手里这个 repo,更像左边还是右边?" 停两秒再继续。
Slide 18 —— F.5 · 每案一句#
OpenHarness —— 唯一"读过第 08 章才写的"开源参考实现
Superpowers —— 哲学反面:只出技能不出运行时
lazy-scrum-team —— 把 Scrum 角色与交接当马具
Claude Code —— 闭源;职责分布在 prompt+hooks+skills 三处
每个 60 秒。重点是让听众 识别 自己项目最像哪个,不是评判哪个更好。 一句带走 —— "矩阵是尺子,案例是刻度。挑最像你技术栈的那一个抄。"
Slide 19 —— F.6 · Lazy AI Coder 四幕#
Act 1 Act 2 Act 3 Act 4
审计 短板 修复 度量 delta
Audit Short- Fixes Measure
comings
本书对自己的仓库做了一次实盘
矩阵 → 审计 → 修复 → 重打分
开场一句 —— "如果这套框架连书自己的宿主仓库都打不分、改不动, 那它就是错的。"
Slide 20 —— F.6 · Act 4 的 delta#
SDD 均值 1.75 → 3.00(+1.25)
TDD 均值 2.00 → 2.75(+0.75)
MDD 均值 1.50 → 1.50(+0.00)
总分 1.75 → 2.42(+0.67)
念 "1.75" 慢,念 "3.00" 快 —— 听众自己会算 delta。 提防 —— "HarnessCard ≠ 虚荣分数。只要你公开评分尺、证据指针、 delta,它就是分析工具不是虚荣。" 说明 —— "MDD 没动是故意的。90 天内先把 SDD 做到及格才配谈 MDD。"
Slide 21 —— F.7 · 三个里程碑#
Day 1–30 Day 31–60 Day 61–90
一格 一行 或 一列 一次完整评审
不必一次做完 12 格
挑一格 → 扩到行/列 → 公开打分
画完后直接问 —— "如果你所在的团队只做 Day 30 这一步, 你会选 SDD × Bridle 还是 TDD × Fence?为什么?" 这一问会让下一张 slide 的 Q&A 氛围自动热起来。
Slide 22 —— F.7 · Day 30 三个推荐切入点#
SDD × Bridle —— 写一份
AGENTS.md(便宜,之后每一轮都赚)TDD × Fence —— 装一条
PreToolUse钩子 (测试红时拒写;单兵受益)MDD × Fence —— LLM 调用加会话成本上限 (过线拒新调用)
三条都是"单兵 Day 1 就能上"的格。 团队通常从 SDD × Bridle 起步;单兵通常从 TDD × Fence 起步。
Slide 23 —— F.7 · 三个要提防的陷阱#
"Day 30 搞定了"陷阱 —— 无 Groom,90 天后分数回落
"Groom 以后再说"陷阱 —— 一开始就不放 Groom = 装饰
"凑齐了再发布"陷阱 —— 等 12 格 ≥ 3 再上线 = 永远不上
这张是 F.7 的收口。念完三条再放 Slide 22。 强调中间那条 —— "没有 Groom 的马具,不是马具,是装饰。"
Slide 24 —— F.8 · 三句要被记住的话#
Harness Engineering 不是加一层流程,是 提取会机械拒绝坏工作的那一小撮制品
SDD → TDD → MDD,顺序不能乱
不做 12 格 —— 挑 1 格,30 天上线,90 天公开 HarnessCard
逐字念。这是全场信号量最高的一张 slide。 念完后停 3 秒,再开 Q&A mic。
Slide 25 —— F.8 · 常见问 Q1#
Q:跟 CI 流水线有什么区别?
A:CI 是 TDD / MDD 的 牧场
合入那一刻发声
Harness 在 键盘按下那一刻 发声
60–90 秒。如果听众追问 "那我们把 CI 加个 pre-commit 不就行了?" —— 回答 "那就是 Fence。你已经在做 harness 了,只是还没意识到。"
Slide 26 —— F.8 · 常见问 Q2 + Q3#
Q:三个护法一定要全上吗?
A:不用。Day 30 一格就算进展
Q:这不就是 DevOps 重新包装?
A:不是。commit 前 = harness;commit 后 = DevOps
每问 45 秒。不要展开。 如果听众继续追问 DevOps 边界,引到附录 A(FAQ)。
Slide 27 —— F.8 · 收尾画面#
只剩下 E
从今天起,先从环境开始
谁愿意做 Day 30 的那一格?
把开场那张 M → E 图擦掉一半,只留 E。 最后一句是 行动号召 —— 让分享会从"听讲"变成"行动"。 当场记下志愿者的名字。
Slide 28 —— 资源链接#
讲稿 / 大纲 / 幻灯片:
source/chapters/00-presentation/Marp 版幻灯片:
_handson/13-one-hour-talk/SLIDES.md30/60/90 清单:
_handson/16-where-we-go-from-here/HarnessCard 模板:附录 D ·
CLAUDE.md兼容样板:附录 EAgent Loop 插章:第 03B 章 · 工程师落地手册:附录 F
停在这一页不关机。让想私下追问的听众有时间逮住讲者。 附录 C 的阅读单打印出来当 handout 发。
Slide 29 —— 谢谢#
谢谢
问题 & 讨论
联系方式见仓库 README
最后 2–3 分钟 Q&A。 如果没人问,可以自问自答 —— "我猜有人会问 X,答案是 Y。" 这是一种可用的"暖场"手法,尤其在中国技术分享会里。
Slide 30(可选)—— 工作坊手册索引#
30 分钟版:F.0 → F.1 → F.2 → F.4 → F.7
60 分钟版:全跑
90 分钟版:F.7 后加 25 分钟动手填 HarnessCard
这张只在 90 分钟工作坊场景展示。详见
outline.md · 应急切法一节。