David Ondrej · 1:02:24 · 发布 2026-06-18 · 28.4万次观看(截至抓取) · 观看原视频
🔥 观众最高回放 05:37 — SerpApi 赞助口播段落,介绍其 Google Images API 把搜索结果整理成结构化 JSON 直接喂给 agent / 模型训练。
主旨
David Ondrej 对 Matt Pocock 做的一小时访谈,围绕 Matt 个人版本的 Agentic Engineering 工作流展开:把 harness 而非模型当成主战场、把 skill 写成人主动调用的 procedure、把 agent 放到沙箱里以队列方式并行跑、人保留 review 与战略决策权。
核心论点
- harness 与 model 是 50/50,但你只能控制 harness——模型是黑盒,把精力全押在换模型上是把优化权交给别人;代码库结构、skills、提示词这些”你能动的那一层”才是真正的杠杆。(→ 详解1)
- AI 已经把 tactical programming 吃干抹净,人必须退回 strategic programming——日常写代码、调语法、修 bug 这些局部战场 agent 比人便宜;模块切分、接口设计、测试策略这些仓库层面的决策仍是人不可替代的部分。(→ 详解2)
- 你的技能是 AI 的天花板——senior engineer 拿到 10×,junior 只拿到一点 boost,差距不在”用不用 AI”,而在”有没有可放大的战略眼光与领域功底”。(→ 详解3)
- 好 skill 是 procedure(由人调用),不是 ability(由模型自作主张调用)——把决策权保留在开发者手里、把可复用步骤命名固化下来,是把 harness 做成模块化资产的关键;Matt 的 teach skill 是 procedure + stateful 的范例。(→ 详解4)
- AFK agent + Queue 取代 Endless Loop——把 agent 装进沙箱丢到 GitHub Actions 队列,bug 来一个解决一个,而不是无脑 while-loop 喂同一句提示;人保留 review 但把 checkpoint 尽量往右推。(→ 详解5)
知识点详解
1. Harness 与 Model 的 50/50,你只能动 Harness 00:02
Matt 全程最响的一句立场是:大家都在盯着 model 这台 F1 引擎,但 90% 决定胜负的是 chassis,也就是 harness——你能给的提示、你能配的 skills、你为模型搭的运行环境。把 model 升级到 Fable 6、Opus 6 当然会让效果变好,但”engine 只是整个系统的一部分,不是全部”。
这种判断的背景是 Rich Sutton 的 bitter lesson:任何专门化的人工优化最终都会被通用算力提升碾压过去。但 Matt 拒绝把这个推论照单全收,因为工程师面对的是”今天要把这件事做完”,不是”等下一代模型出来后能跑得多快”。所以策略是 把 harness 当成底盘来养,把模型当成可替换的引擎来用——如果你的代码库结构清晰、guardrails 健全、interfaces 干净,你完全可以用更便宜、更笨的模型达成同样的产出。
落地到具体建议,Matt 给的实操反直觉:“have a code base that’s easier to make changes in”——优化 token 花费最有效的办法不是切模型,是把代码库本身做容易改。这反过来意味着:Harness 优化的 90% 在于工程基础,而非工具栏里多挂几个 MCP。
2. Tactical vs Strategic Programming,人必须全退到 Strategic 01:47
Matt 借用 John Asterout 在《Philosophy of Software Design》里的二分法把开发工作切成两半:Tactical 是写代码、调语法、逐个修 bug 这些地面战;Strategic 是想清楚模块切分、接口形状、测试策略、长期 velocity 这些顶层战。AI 已经把 tactical 一侧吃掉了——“AI is just better at doing tactical programming than you are because it can do it for cheaper”——所以人必须把全部精力退回 strategic 一侧。
Matt 把这一点翻译成”向一个无限可调度的初级开发者舰队下指令”的管理艺术:你不能事无巨细地指挥每个 agent 写哪一行,但你可以规定模块怎么拆、任务怎么 scope、接口长什么样、测试覆盖到什么程度。Strategic programming 的具体动作清单包括:把硬骨头先在脑子里设计好、把每个任务 scope 得足够窄、想清楚模块间的接口、给每个模块配能反映意图的 test 场景、留刚好够的文档把 agent 指向对的位置。
这条原则与 Cole Medin 的 Harness 大师课里”spec quality is the new bottleneck”形成印证——两边都把”规格、接口、上下文组织”抬高到高于”逐行写代码”的位置,只是 Matt 更强调战术/战略的二元划分,Cole 更强调 10%/90% 的占比数字。
3. 你的技能是 AI 的天花板,Senior 拿到 10× 不是 Junior 04:13
Matt 在访谈里反复回到一句结论:“your skills are the ceiling on what AI can do”。订阅、模型、工具,任何人都买得起,所以这些不是分化点。真正的分化点是你已经积累的领域功底和工程直觉——一个 senior engineer 在 AI 工具加持下能做到 10× 产出,因为他们知道”这件事的难点在哪”、“哪些设计决策不能妥协”、“测试该覆盖什么”;junior 拿到同样工具,只换来一点提速,因为他们的判断力还在养成期。
Matt 进一步把”成为一个 10× AI builder”的能力拆成三层——这也是他做 teach skill 的理论底盘:knowledge(对概念与原理的认知)、skills(重复训练形成的肌肉记忆)、wisdom(知道何时何地该用哪一种)。Knowledge 和 skills 可以被打包成可复用的 artifact(比如一份 procedure skill、一个代码模板),但 wisdom 几乎只能通过在真实场景里反复摔打才能获得——这也是为什么 Matt 反复强调”如果你想成为 Anthropic 那样的工程师,你大概率得先去 Anthropic 待一段时间”。
这条观点对个人学习路径的暗示是清晰的:不要把 AI 课程上完就当毕业,而是把每一次真实项目里的判断沉淀成自己的 wisdom 库——AI 不能替你获得 wisdom,只能放大你已经有的 wisdom。
4. Procedure > Ability + Stateful Skill:Matt 的 teach skill 范例 12:12
访谈中段 Matt 用他新做的 teach skill 做了一次现场演示。这个 skill 的设计是 procedure + stateful 的组合,目的是示范他自己关于 skill 设计的两个核心论点。
第一,skills 分两类:procedures 是你主动调用的指令(像 slash command),abilities 是允许模型自己决定何时调用的本能(像编码规范、风格指南)。Matt 强烈偏好 procedure,因为 ability 会把自己的描述泄漏进每一次会话的上下文窗口——挂 100 个 ability 等于上下文里永久多 100 份噪声。他把自己的 skills repo 设计成以 procedure 为主,只在真正需要模型自己判断的场景(如 react 编码规范)才放 ability,并且对部分 skill 设置 disable model invocation: true 来阻止描述泄漏。
第二,skills 也分 stateless 和 stateful。Stateless skill 跑完即结束(像 calculator、format converter),stateful skill 依赖本地状态文件保留上下文(像真人老师会记得你上次学了什么)。Teach skill 是 stateful 的:它在你调用时先问三个问题对齐目标(任务陈述、起点、终点),把答复写进 mission.md,然后调一次子模型去搜可信资源、产出 HTML 课程,过程中把学习记录、参考资料、上一课状态都写到本地文件里供下一课读取。Matt 甚至把教育学的”zone of proximal development(最近发展区)“概念编码进了 skill 决策——选定起点与目标之后,课程难度只比起点高一档,而不是一次铺满整个知识图谱。
这套 teach skill 加上前面 Skill Creator 一起读,基本就是把”如何把领域知识封装成可复用 skill”这条路径完整走通了一遍。Matt 把他的 skills 全部开源在 mattpocock/skills,通过 npx skills latest add map skills 即可一键安装。
5. AFK Agent + Queue > Endless Loop:Matt 的实战 Setup 25:06
访谈后半段进入 Matt 的个人 setup 拆解,核心动作是 把 agent 从键盘前移走(AFK = Away From Keyboard),以及 用 Queue 取代 Loop。
具体到工具栈:Matt 用 Claude Code + Opus 4.8 + medium effort 作为日常配置,懒得为新模型立刻切换;本地开发时让 agent 在他自建的 Sand Castle 沙箱里跑(Sand Castle 本质是把 Claude Code 包进 Docker / Podman,避免 agent 误删 home 目录或把环境变量外泄),远程则用 Vercel Sandboxes 等托管沙箱丢任务。把沙箱与 GitHub Actions 接起来后,任意 PR 都能触发一个 review agent 跑 typecheck/lint 并自动回评论——review agent 完全 AFK,他只在 GitHub 网页上看结果。
Matt 对当时舆论里”agentic loop 是未来”的鼓吹泼了一盆冷水:Geoffrey Huntley 推广的 Ralph Loop 是一种 while true; do claude -p "..."; done 的死循环,但他发现自己并不真的需要无限循环,他需要的是 “从队列里取一项、做掉、合上” 这种异步离散模式。这条观点与 Ralph Loop 笔记里”把 PRD/任务清单交给 agent 逐项推进”的描述方向一致,但 Matt 更具体地反对”把它做成 while true”——人干活的真实节奏是队列,不是循环。
AFK agent 之后剩下的问题是 review。Matt 的态度是:能取消的人工 checkpoint 就取消,但一定要保留对”产出这个 PR 的系统”本身的 review——你不是在 review 这行代码,你是在 review 你的 harness 是否够好,这条 view 与 Harness 概念页里”系统本身应该被当成可版本化的工程资产来迭代”的判据方向一致。他还描述了一个让人眼前一亮的做法:对前端改动,让 agent 录一段”边走边讲”的视频,代码改了什么、用 TTS 覆盖语音,然后直接附在 PR 上——review 体验从”读 diff”升级到”看 AI 边改边讲”。
可执行步骤
- 把
CLAUDE.md/AGENTS.md/ 所有 skill / 所有 MCP 暂时全部删掉,让 agent 跑最朴素的状态,先观察它默认会做什么;只把”删了之后明显回归”的项重新加回来。 - 给自己装一个能用 AFK 跑任务的沙箱(本地 Docker 或 Vercel Sandboxes),把一个 review 任务丢进去观察它能否独立闭环。
- 把一段反复做的工程流程(写 PRD / 起草 PR 描述 / 跑某类 review)固化成一个 procedure skill,验证它比直接给模型发指令更省 token 且更稳。
- 选一个真实在跑的仓库,按月做一次”系统级 review”——不是看单个 PR,而是问”我这个月 harness 该迭代什么”,把判断写回 workflow。
关联
- 印证:Harness 与 Harness为王大师课 —— Matt 与 Cole 都把 harness 视为能动工程里”你能动的那 90%“;Matt 多给了一句”模型不是不要紧,而是你控制不了,所以放手”,Cole 多给了 Terminal Bench 的实证(“换模型 +19%、加 harness +13.7pp”)。两边可作为”harness 占 90% vs 50/50”两种数字说法的对照——具体百分比看语境。
- 互补:Agentic Engineering 与 AI 编码光谱 —— 这两篇主要在讲”什么是 agentic engineering 的合格形态(spec + eval + CI 门禁)“与”vibe coding → agentic → independent research 的光谱”,Matt 的访谈补充的是”个人开发者具体怎么做”的实操侧(沙箱、队列、AFK、procedure skill),侧重点不同。
- 互补:Ralph Loop —— 索引条目把 Ralph 描述为”逐项自主推进 + 每步验证”,Matt 的解读补了一个”别把它做成 while true”的反例;两篇合读能看清 Ralph 的本来形态与它的常见误用。
- 进阶:Skill Creator —— 索引条目给的是”Anthropic 官方元技能”,Matt 给的是真实开源 skills repo 的具体范例与 procedure/ability 二分法;先读 Skill Creator 建立”skill 长什么样”,再读本篇了解”如何设计 skill”。
- 同频道互补:Pi Agent 入门精进 同样围绕”把 harness 当主战场”展开,David 在那篇深挖 Pi 这个具体工具的四件套与四层扩展;两片合看是”重方法论”与”薄 harness 工具”两种路线的对照。
一手来源与延伸
- Matt 的 skills 开源仓库:mattpocock/skills(访谈中给出的安装命令
npx skills latest add map skills) - Geoffrey Huntley 原始 Ralph 文章:https://ghuntley.com/ralph/(Matt 在 25:00 后引用,作为 loop 思路的源头)
- John Asterout《A Philosophy of Software Design》中 tactical vs strategic programming 的讨论(访谈中 Matt 反复借用)
- Rich Sutton 的 The Bitter Lesson(Matt 用来反驳”等下一代模型就好”的论调)
术语
- Procedure skill(由用户主动调用的 skill;与 ability skill 相对,后者由模型自行决定何时调用)
- Ability skill(由模型自己决定何时调用的 skill;每次会话会把描述泄漏进上下文窗口,挂多了会显著推高推理成本)
- Stateful skill(依赖本地状态文件保留上下文的 skill,如 teach skill 写 mission.md 与学习记录)
- Stateless skill(不依赖本地状态、每次调用独立运作的 skill,如 calculator、format converter)
- AFK agent(Away From Keyboard,部署在沙箱里异步跑、不占当前会话审批窗口的 agent 模式)
- Sand Castle(Matt 自建的 agent 沙箱工具,把 Claude Code 装进 Docker/Podman 或托管 Vercel Sandboxes)
- Queue vs Loop(把无限 while-loop 替换成”从队列取任务-做-合”的离散工作模式,与 Ralph Loop 的死循环形成对照)
- Agent Experience / AX(衡量 agent 在 codebase 中工作顺畅度的概念,与 Developer Experience / DX 对应;高 AX 的代码库改动少、guardrails 多、命名一致)
- Knowledge / Skills / Wisdom 三分法(Matt 在 teach skill 设计里用的认知分层:knowledge 是概念理解,skills 是重复训练形成的肌肉记忆,wisdom 是判断何时何地用哪一种)
- 10× AI Builder(Matt 的说法:不只是用 AI 提速,而是发现底层问题后修 harness 本身的人)
金句
“Everyone’s obsessed with the uh model and I think they should be more interested in the harness” 00:02 → 把整场访谈的命题压缩进一句话,后续一小时都是这个命题的具体展开。 “AI has basically eaten tactical programming. It’s gone, right? It’s all gone.” 01:41 → 把”AI 取代写代码”这件事说成既成事实而不是趋势预测。 “your skills are the ceiling on what AI can do” 04:15 → 对订阅与工具平等化后”分化从何而来”的最直接回答。 “I prefer to hide most of these descriptions from the AI itself and keep all of that knowledge inside the human” 22:27 → procedure > ability 的设计哲学浓缩成一句。 “AFK is just incredible way to work” 61:54 → 把人从权限审批与同步等待里抽出来,Matt 视为自己提速真正的转折点。
立场与利益
视频明确标注 “This video was sponsored by SerpApi”,中段 David 念了一段 SerpApi 推广口播;另外 David 简介里挂了 Skool 课程、AI 工具 affiliate 链接(包含 Glaido 语音工具)以及自家 Scale Software 招聘页。Matt 本人在访谈中则提到了他作为内容创作者的客观位置(“you can take my advice here with a pinch of salt, but I personally feel that my skills are a multiplier for AI”)。
把这条来源结构对核心论点的折扣做一次分档:
- 与利益同向(待印证):“去重置 skill 库、装我的 skills repo 就好”——Matt 自己开了一个高质量 skills 仓库,他有动机把所有”skill 优化”建议都指向自己的 repo;视频里有具体安装命令的引导。建议读者把这条建议当成”skill 库值得重新审视”的中性主张,而把”具体用谁的 skill 库”的决策保留给读者自己。
- 利益中性:“harness 比模型更重要”、“tactical 编程被 AI 吃完”、“senior 拿到 10×”、“AFK agent + Queue”、“procedure > ability”——这几条都可以在独立信源印证(Anthropic Claude Code 最佳实践、Google 的 Agentic Engineering 长文、Cole Medin 的大师课都覆盖类似主张),与 Matt 卖课或卖工具无直接绑定,可按内容本身采信。
- 与利益反向:视频对当下模型炒作潮的几次降温(“等下一代模型就行是 very stupid idea”、“不要因为某条 bug 被 Fable 找到就以为是 Fable 的功劳,而要问 harness 缺什么”)属于不利于”立刻换模型”这种典型变现叙事的表态,可信度较高,单独标出。
价值定位
适合谁:已经在用 Claude Code 或类似 agentic 工具做工程,卡在”明明用了 AI 但产出没明显高于别人”的开发者;或者刚装了一堆 skill / MCP / CLAUDE.md 上下文,觉得噪声变多但效果没明显变好的开发者。
解决什么:给”如何系统化优化你的 agentic 工作流”一个具体可照搬的范例——具体到模型选型(别太折腾)、setup(Sand Castle + GitHub Actions)、skill 设计(procedure + stateful)、工作节奏(Queue 而非 Loop)四个层面。
认知 vs 实操:大部分内容是认知层的(为什么 harness 比模型重要、为什么 procedure 比 ability 好、为什么 wisdom 不能委托),实操层只有”删一切-观察-再装”和”装个沙箱跑一个 AFK agent”两条具体动作;实操门槛低,但要从访谈级认知搬到自己的项目仍需要一段独立的迁移时间。
与已有笔记重叠时:与 Harness为王大师课 重叠的”harness 比模型重要”这条主张已经在那里讲得比较细;本片独有的部分是 Matt 个人 setup(沙箱、GitHub Actions、AFK)、procedure vs ability 区分、Queue > Loop 的反 Ralph 主张,以及”重置 skill 库”这条具体可执行建议。
自检问题
-
Matt 为什么不把精力全押在”换更好的模型”上?harness 与 model 的 50/50 主张有什么可印证的独立信源?
答案:详解1。Matt 的论据是模型是黑盒、无法控制,harness 是你搭的那一层;可印证信源包括 Anthropic 自己的 Claude Code 最佳实践文章、Google 的 Agentic Engineering 长文(由 Harness为王 笔记拆解)、以及 Terminal Bench 上加 harness 提升 13.7pp 的实测(同一篇 Cole 大师课引用)。 00:02
-
tactical 与 strategic programming 的二分对个人开发路径有什么具体含义?为什么说”你的技能是 AI 的天花板”?
答案:详解2 + 详解3。tactical 是写代码、调语法、修 bug 这些局部工作,AI 已经能比人便宜地完成;strategic 是仓库层面的模块切分、接口设计、测试策略,需要人来做。senior 拿到 10× 是因为 senior 本来就有 strategic 层面的判断力,AI 只是把 tactical 那部分替代掉、剩下来的全是 senior 该做的判断;junior 还没积累 strategic 判断力,AI 只替代他们本就不擅长的 tactical 工作,所以收益小。 01:47
-
procedure skill 与 ability skill 的核心区别是什么?为什么 Matt 偏好 procedure?
答案:详解4。procedure 由人主动调用,ability 由模型自己判断何时调用;ability 会把描述永久泄漏进每一次会话的上下文窗口,挂多了会显著推高 token 成本与上下文噪声;procedure 把决策权留在开发者手里,只在被明确调用时启动。Matt 的 teach skill 是 procedure + stateful 的组合范例。 17:31
-
Matt 为什么反对把 agent 跑成 endless while-loop?Queue 模式具体长什么样?
答案:详解5。Matt 的观点是”人干活的真实节奏是队列、不是循环”,bug 来一个解决一个,任务做完就关;Ralph Loop 原始文章也描述为逐项推进,但被舆论简化成 while true 之后就变成无意义烧 token。Matt 的具体 setup 是 Sand Castle 沙箱 + GitHub Actions:任意 PR 触发 review agent 跑 typecheck/lint 并自动回评论,bug 报告进 issue 队列、由 agent 取出来 explore + 修 + 提 PR。 45:21
-
如果让你用一句话总结 Matt 给新人的起步建议,你会怎么写?为什么”删一切再观察”比”装一切再优化”更合理?
答案:详解4 + 详解5。“First thing I would do is I would delete every single skill, every single plugin, every single MCP server. I would go back to absolutely nothing.” 60:51 → 默认状态下 agent 表现是基线;只有看到基线,才能判断哪些 skill 真的补回了被基线丢掉的能力,而不是在重复装一个本来就已经能做的事。
