---
title: 'Matt Pocock 的 Agentic Engineering 工作流全拆解'
video_id: nQwJVHCtDDY
url: https://youtu.be/nQwJVHCtDDY
title_en: "Matt Pocock's Agentic Engineering Workflow (just copy him)"
channel: David Ondrej
published: 2026-06-18
duration: "1:02:24"
topics: [Agent 工程, Claude Code 定制扩展, AI 自动化]
noted: 2026-07-08
value: A
views: '28.4万'
---


[![封面](https://i.ytimg.com/vi/nQwJVHCtDDY/maxresdefault.jpg)](https://youtu.be/nQwJVHCtDDY)

> David Ondrej · 1:02:24 · 发布 2026-06-18 · 28.4万次观看(截至抓取) · [观看原视频](https://youtu.be/nQwJVHCtDDY)

> 🔥 观众最高回放 [05:37](https://youtu.be/nQwJVHCtDDY?t=337) — SerpApi 赞助口播段落,介绍其 Google Images API 把搜索结果整理成结构化 JSON 直接喂给 agent / 模型训练。

## 主旨

David Ondrej 对 Matt Pocock 做的一小时访谈,围绕 Matt 个人版本的 Agentic Engineering 工作流展开:把 harness 而非模型当成主战场、把 skill 写成人主动调用的 procedure、把 agent 放到沙箱里以队列方式并行跑、人保留 review 与战略决策权。

## 核心论点

1. **harness 与 model 是 50/50,但你只能控制 harness**——模型是黑盒,把精力全押在换模型上是把优化权交给别人;代码库结构、skills、提示词这些"你能动的那一层"才是真正的杠杆。([[#1-harness-与-model-的-5050你只能动-harness-0002|→ 详解1]])
2. **AI 已经把 tactical programming 吃干抹净,人必须退回 strategic programming**——日常写代码、调语法、修 bug 这些局部战场 agent 比人便宜;模块切分、接口设计、测试策略这些仓库层面的决策仍是人不可替代的部分。([[#2-tactical-vs-strategic-programming人必须全退到-strategic-0147|→ 详解2]])
3. **你的技能是 AI 的天花板**——senior engineer 拿到 10×,junior 只拿到一点 boost,差距不在"用不用 AI",而在"有没有可放大的战略眼光与领域功底"。([[#3-你的技能是-ai-的天花板senior-拿到-10-不是-junior-0413|→ 详解3]])
4. **好 skill 是 procedure(由人调用),不是 ability(由模型自作主张调用)**——把决策权保留在开发者手里、把可复用步骤命名固化下来,是把 harness 做成模块化资产的关键;Matt 的 teach skill 是 procedure + stateful 的范例。([[#4-procedure--ability--stateful-skillmatt-的-teach-skill-范例-1212|→ 详解4]])
5. **AFK agent + Queue 取代 Endless Loop**——把 agent 装进沙箱丢到 GitHub Actions 队列,bug 来一个解决一个,而不是无脑 while-loop 喂同一句提示;人保留 review 但把 checkpoint 尽量往右推。([[#5-afk-agent--queue--endless-loopmatt-的实战-setup-2506|→ 详解5]])

## 知识点详解

### 1. Harness 与 Model 的 50/50,你只能动 Harness [00:02](https://youtu.be/nQwJVHCtDDY?t=2)

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](https://youtu.be/nQwJVHCtDDY?t=107)

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 大师课]([[2026-06-25-Harness为王的能动工程大师课]])里"spec quality is the new bottleneck"形成印证——两边都把"规格、接口、上下文组织"抬高到高于"逐行写代码"的位置,只是 Matt 更强调战术/战略的二元划分,Cole 更强调 10%/90% 的占比数字。

### 3. 你的技能是 AI 的天花板,Senior 拿到 10× 不是 Junior [04:13](https://youtu.be/nQwJVHCtDDY?t=253)

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](https://youtu.be/nQwJVHCtDDY?t=732)

访谈中段 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](https://github.com/mattpocock/skills),通过 `npx skills latest add map skills` 即可一键安装。

### 5. AFK Agent + Queue > Endless Loop:Matt 的实战 Setup [25:06](https://youtu.be/nQwJVHCtDDY?t=1506)

访谈后半段进入 Matt 的个人 setup 拆解,核心动作是 **把 agent 从键盘前移走**(AFK = Away From Keyboard),以及 **用 Queue 取代 Loop**。

具体到工具栈:Matt 用 Claude Code + Opus 4.8 + medium effort 作为日常配置,懒得为新模型立刻切换;本地开发时让 agent 在他自建的 [Sand Castle](https://github.com/mattpocock/sandcastle) 沙箱里跑(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](https://github.com/mattpocock/skills) 是一种 `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]] 与 [[2026-06-25-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"。
- 同频道互补:[[2026-06-12-Pi Agent 入门精进：四件工具、四层扩展与 CMAX 多 agent 编排|Pi Agent 入门精进]] 同样围绕"把 harness 当主战场"展开,David 在那篇深挖 Pi 这个具体工具的四件套与四层扩展;两片合看是"重方法论"与"薄 harness 工具"两种路线的对照。

## 一手来源与延伸

- Matt 的 skills 开源仓库:[mattpocock/skills](https://github.com/mattpocock/skills)(访谈中给出的安装命令 `npx skills latest add map skills`)
- Geoffrey Huntley 原始 Ralph 文章:[https://ghuntley.com/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](http://www.incompleteideas.net/IncIdeas/BitterLesson.html)(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](https://youtu.be/nQwJVHCtDDY?t=2) → 把整场访谈的命题压缩进一句话,后续一小时都是这个命题的具体展开。
> "AI has basically eaten tactical programming. It's gone, right? It's all gone." [01:41](https://youtu.be/nQwJVHCtDDY?t=101) → 把"AI 取代写代码"这件事说成既成事实而不是趋势预测。
> "your skills are the ceiling on what AI can do" [04:15](https://youtu.be/nQwJVHCtDDY?t=255) → 对订阅与工具平等化后"分化从何而来"的最直接回答。
> "I prefer to hide most of these descriptions from the AI itself and keep all of that knowledge inside the human" [22:27](https://youtu.be/nQwJVHCtDDY?t=1347) → procedure > ability 的设计哲学浓缩成一句。
> "AFK is just incredible way to work" [61:54](https://youtu.be/nQwJVHCtDDY?t=3714) → 把人从权限审批与同步等待里抽出来,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"两条具体动作;实操门槛低,但要从访谈级认知搬到自己的项目仍需要一段独立的迁移时间。

与已有笔记重叠时:与 [[2026-06-25-Harness为王的能动工程大师课|Harness为王大师课]] 重叠的"harness 比模型重要"这条主张已经在那里讲得比较细;本片独有的部分是 Matt 个人 setup(沙箱、GitHub Actions、AFK)、procedure vs ability 区分、Queue > Loop 的反 Ralph 主张,以及"重置 skill 库"这条具体可执行建议。

## 自检问题

1. Matt 为什么不把精力全押在"换更好的模型"上?harness 与 model 的 50/50 主张有什么可印证的独立信源?

   **答案**:详解1。Matt 的论据是模型是黑盒、无法控制,harness 是你搭的那一层;可印证信源包括 Anthropic 自己的 Claude Code 最佳实践文章、Google 的 Agentic Engineering 长文(由 [[2026-06-25-Harness为王的能动工程大师课|Harness为王]] 笔记拆解)、以及 Terminal Bench 上加 harness 提升 13.7pp 的实测(同一篇 Cole 大师课引用)。 [00:02](https://youtu.be/nQwJVHCtDDY?t=2)

2. tactical 与 strategic programming 的二分对个人开发路径有什么具体含义?为什么说"你的技能是 AI 的天花板"?

   **答案**:详解2 + 详解3。tactical 是写代码、调语法、修 bug 这些局部工作,AI 已经能比人便宜地完成;strategic 是仓库层面的模块切分、接口设计、测试策略,需要人来做。senior 拿到 10× 是因为 senior 本来就有 strategic 层面的判断力,AI 只是把 tactical 那部分替代掉、剩下来的全是 senior 该做的判断;junior 还没积累 strategic 判断力,AI 只替代他们本就不擅长的 tactical 工作,所以收益小。 [01:47](https://youtu.be/nQwJVHCtDDY?t=107)

3. procedure skill 与 ability skill 的核心区别是什么?为什么 Matt 偏好 procedure?

   **答案**:详解4。procedure 由人主动调用,ability 由模型自己判断何时调用;ability 会把描述永久泄漏进每一次会话的上下文窗口,挂多了会显著推高 token 成本与上下文噪声;procedure 把决策权留在开发者手里,只在被明确调用时启动。Matt 的 teach skill 是 procedure + stateful 的组合范例。 [17:31](https://youtu.be/nQwJVHCtDDY?t=1051)

4. 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](https://youtu.be/nQwJVHCtDDY?t=2721)

5. 如果让你用一句话总结 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](https://youtu.be/nQwJVHCtDDY?t=3651) → 默认状态下 agent 表现是基线;只有看到基线,才能判断哪些 skill 真的补回了被基线丢掉的能力,而不是在重复装一个本来就已经能做的事。