返回知识库
0

title: "Matt Pocock 谈 AI Skills:从战术编程到工程决策"

source_url: "https://www.youtube.com/watch?v=4DhcSPkEbwI"

author: "The Pragmatic Engineer"

excerpt: "公共早报 The Pragmatic Engineer 对 Matt Pocock 的访谈把讨论落在工程方法上:AI 已能承担样板代码、函数编写和语法调整,人要负责系统设计、约束和长期架构。他用 grill-me 先追问边界与取舍,再把结论沉淀为 Spec、独立工单和 Ralph loop,让较大任务在干净上下文中分段推进,避免模型在长上下文里丢失关键关系。"


简要描述

Matt Pocock 是 Total TypeScript 和病毒式传播的"grill-me"AI agent skill 的创建者,他加入 Gergely Orosz 的节目,讨论经典软件工程基础在 AI 编码 agent 时代为何比以往任何时候都更加重要。从声音教练到前端工程再到全职技术教育的历程中,Pocock 分解了 AI agent 如何商品化了战术编程,将工程师的核心价值完全转移到战略性系统设计和上下文工程。他详细解释了为什么来自数十年工程文本的概念——如示踪子弹、软件熵、通用语言和深度模块——可以作为高杠杆的"引导词"来引导前沿模型,并分享了他使用 spec、Ralph 循环和 Wayfinder 地图的多会话规划工作流程,以保持代码库清晰、有弹性。

目录

  • 从声音教练到自学成才的开发者
  • 状态图、XState 和加入 Vercel
  • Total TypeScript 的发布和数百万美元的成功
  • AI 如何颠覆技术教育
  • 战略编程 vs 战术编程:Ralph 循环登场
  • 将 Agent 工作流打包成 AI Skills
  • Grill-Me Skill:弥合人类与 Agent 之间的沟通鸿沟
  • 管理智能区:上下文窗口和 Spec
  • Wayfinder:使用有向图导航复杂规划
  • 为什么软件基础和20年前的书籍仍然重要
  • 领域驱动设计中的引导词和通用语言
  • 记忆驱动开发:为失忆 Agent 优化代码库
  • 战略性反馈循环与说服利益相关者重视基础
  • 远离本地开发:远程机器和协作 Agent
  • 何时该"烤"何时该快速交付
  • 在 Agent 时代重新评估测试驱动开发
  • 用自动化审查员和代码园丁对抗软件熵
  • 给初级工程师的建议和必读书目

从声音教练到自学成才的开发者

Gergely Orosz: 当我使用 grill-me skill 构建一个非常简单的 API 端点时,我经历了有生以来最严厉的追问。它问了我 35 个问题。强度很高,很烦人,但它迫使我更深入地思考。今天的嘉宾是这个受欢迎 skill 的创建者 Matt Pocock。Matt 是一位转型为教育者的开发者,以 Total TypeScript 系列和现在的 AI skills 与教育视频而闻名。今天我们将涵盖 Matt 进入科技行业的不寻常路径——在做了多年声音教练之后,他建立了自己的 DIY 教练软件、他受欢迎的 skills(如 grill-me 和 Wayfinder),以及为什么从几十年前的编程书籍中获取灵感可以帮助我们用 AI 构建更好的软件。

Matt,很高兴你能来到这个播客。

Matt Pocock: 很高兴终于来到这里。我是你节目的忠实粉丝,看了很多集。我觉得这是软件工程的 Tiny Desk,能来到这里我很高兴。

Gergely Orosz: 在 Microsoft Build 大会上见面后,很高兴能重新联系上。首先,与科技行业的许多人不同,你没有学习计算机科学,对吧?

Matt Pocock: 完全没有。在成为开发者之前的六年里,我在伦敦和埃克塞特(我上大学的城市)做声音教练和声乐教师。我教口音、唱歌和声音。我完成了该学科的硕士学位,花了大量时间认为这就是我的职业生涯。我当时丝毫没有进入科技行业的念头。我建立了自己的网站,但仅此而已。这个背景对我的生活和个性产生了极其重要的影响。

Gergely Orosz: 声音教练这个职业从何而来,什么样的人来找你寻求帮助?

Matt Pocock: 我一开始是声乐教师。我在大学时参加了一个乐队,有一些唱歌经验,并建立了自己的业务。大多数客户只是想更好地唱歌、在合唱团中使用他们的声音或将其作为爱好的人。获得硕士学位后,我在戏剧学校教莎士比亚,并开始为人们提供公开演讲方面的辅导,包括为咨询公司提供演讲技巧的课程。

我最终决定离开那个职业,因为要做到高水平需要住在伦敦。我尝试在那里住了两年,很讨厌。我想回到我长大的乡村。为了做一些远程工作,我决定自学软件开发。

Gergely Orosz: 你在找一个可以在伦敦以外追求的、且有可行职业前景的职业?

Matt Pocock: 正是。我自学了基本的 JavaScript,因为我想为学生提供更好的课程。我制作了小的抽认卡应用,我尝试的第一个主要应用是一个网络音频分析器。它分析学生声音的频谱图来检查共振频率,看看他们的共振峰是否平衡。它运行得很糟糕,但它让我的课程变得更好。

大约在 2017 年,我开始看招聘帖子,意识到我的 JavaScript 和 Sass 知识足以尝试申请。我辞了职,花了几个月学习,并获得了第一个职位。那时候英国的工程师需求很高,训练营毕业生都能获得机会。因为我花了数年时间进行专业沟通,我能够像一个理性的、善于表达的人一样面试,而不是一个沟通困难的人。最初我的技术知识有限,但解释技术概念的能力很强。一旦我将这一点与强烈的热情和加速的技术学习结合起来,我就能够快速进步。

状态图、XState 和加入 Vercel

Gergely Orosz: 在获得第一个职位后,你是如何迈出下一步的?

Matt Pocock: 我的第一个职位是在一家小型公司,有一些令人鼓舞的、硬核的开发者。指导我的工程师让我在我的 Windows PC 上设置 CentOS 6,因为生产环境运行的就是这个。不幸的是,公司遇到了财务困难,所以我转到了一家代理机构。在接下来的几年里,我在各个代理机构之间辗转,最终深入研究 TypeScript 和开源。

在我的第二份工作中,我已经在展示 TypeScript 的重要性。我们为一家汽车制造商构建学习管理系统,前端团队很小,后端团队在葡萄牙。后端团队不断更改 API 契约而不通知我们,导致 bug 并降低了我们的速度。引入 TypeScript 解决了那个脱节问题,加快了交付速度,使前端团队比后端团队更快。

Gergely Orosz: 你是如何跳入开源的?

Matt Pocock: 我一直在业余时间积极修补开源项目,并关注 Twitter 上的开发者。我遇到了创建 XState 的 David Khourshid。在一个客户项目中,我们需要一个复杂的状态机,用于一个应用程序,其中两个进行视频通话的用户可以实时导航 3D 房屋模型。我们使用了 XState 版本 4,它取得了巨大的成功。

我开始考虑如何使集成更加类型安全。我围绕 XState 构建了一些工具和 CLI,引起了 David 的注意。他邀请我加入 XState 核心团队。为 issue 和架构讨论做出贡献使我接触到了像 Mateusz Burzyński 这样的世界级工程师。当 David 筹集资金将 Stately 变成一家专注于状态图和可视化编程的商业公司时,他雇用了我。那是我第一次获得美国水平的薪酬,这完全改变了我的财务视角和灵活性。

在 Stately 期间,我同时做开发者关系和工程工作,因为我非常相信这个产品。这种倡导引起了 Vercel 的注意。当时,Lee Robinson 与 Delba de Oliveira 和 Lydia Hallie 一起领导开发者教育。我在 Jared Palmer 手下接受了 Vercel 的工程职位。

Total TypeScript 的发布和数百万美元的成功

Gergely Orosz: 在过渡到全职教育之前,你在 Vercel 待了多久?

Matt Pocock: 我在 Vercel 只待了大约三个月。我协商了一份不同寻常的三天工作周合同,因为我怀念教学。在编码之前花了六年教学,我想再次创建教育内容。在 Stately 研究类型安全状态图时,我开发了一些非常高级的 TypeScript 类型技术。

我开始制作两分钟的 TypeScript 技巧并发布在 Twitter 上。它们爆炸式增长。一个星期天,我录制了大约 15 个短技巧并排队发布。我的粉丝数量迅速增长,我意识到对高级 TypeScript 材料有巨大的需求。

Vercel 为我提供了全职职位,但我要求兼职合同来测试构建教育课程。两个月后,在 Turbopack 发布期间(我帮助编写了初始文档),我为 Total TypeScript 进行了预发布销售。预销售产生的收入是同期在 Vercel 收入的三十到四十倍。很明显我必须全职投入。

我和 Joel Hooks 合作,他是 Egghead 的联合创始人,曾与 Kent C. Dodds 合作。Joel 鼓励我将这作为一个针对企业教育预算的高杠杆业务。我们在 2023 年初推出了完整课程,发布后不久就突破了七位数的收入,最终总营收超过 250 万美元。成功给了我完全围绕我的家人设计工作生活的自由,避免像 996 这样的 grind culture,极少在周末工作。

AI 如何颠覆技术教育

Gergely Orosz: Total TypeScript 取得了巨大成功,但随后现代生成式 AI 到来了。许多在线教育者看到流量和课程收入下降,因为开发者转向 LLM 而不是综合视频课程。AI 如何影响你的业务和你对教学的看法?

Matt Pocock: AI 完全改变了哪种形式的知识变得有价值。在教学时,有两个不同的层次:语法,即"是什么",和底层架构原则,即"为什么"。不演示"是什么"你就很难教"为什么",但纯粹的知识获取实际上已经变得免费。任何人都可以询问 LLM 或使用 AI skill 立即检索确切的语法或实现模式。

然而,架构智慧并没有变得更容易获取。开发者仍然会遇到完全相同的系统性失败模式,当他们缺乏架构判断力时,即使有 AI 助手也是如此。Total TypeScript 的收入自然放缓了,因为开发者觉得不太需要记住复杂的语法。

最初,在 2023 年底,我尝试构建关于将 AI 集成到网络应用程序的课程,但这感觉是错误的赌注。真正的转折点大约在 2024 年 12 月。在那段时间里,像 Claude 3.5 Sonnet 和 Opus 这样的前沿模型达到了一个阈值,你可以可靠地将大量实现任务委托给它们。

我意识到 AI 实际上已经商品化了战术编程——编写样板代码、构建函数和调整语法。剩余的人类责任是战略编程:系统设计、约束和长期代码库架构。

战略编程 vs 战术编程:Ralph 循环登场

Gergely Orosz: 这种区分呼应了 John Ousterhout 在《软件设计的哲学》中的概念。你是如何开始围绕这种划分来组织工作的?

Matt Pocock: John Ousterhout 的书对我影响很大。一旦 AI 商品化了战术编程,我们的工作就是管理战略层。

我开始探索 Ralph 循环,这是一个由 Geoffrey Huntley 推广的概念。Ralph 循环不是预先生成整个计划然后希望 agent 执行三十个步骤而不偏离,而是一开始就为 agent 分配一个高级目标,并告诉它做出推动项目前进的最小可行变更。Agent 修改文件、更新状态,然后在下一次迭代之前完全清除其上下文窗口。

因为状态存在于代码库、文件系统和环境中,而不是在不断恶化的上下文窗口内,所以模型在每个步骤中都全新开始。因为花了多年时间在 XState 中构建状态机,这个过程让我立即感到熟悉。它本质上是一个编排 agent 操作的有限状态机。

当我用这些结构化循环实验我的内部工具(如我的自定义视频编辑器)并将它们与默认 agent 工具进行比较时,差异是巨大的。

将 Agent 工作流打包成 AI Skills

Gergely Orosz: 你是如何从这些单独的工作流实验过渡到创建可重用的 skills 的?

Matt Pocock: 我想要一个简单的分发机制。AI skills 本质上只是 Markdown 文件的文件夹,定义了结构化提示、系统指令和工作流。它们可以通过斜杠命令直接由用户调用,或者在相关时由 agent 自动加载。

我将我的个人工作流集合开源为一个 skills 仓库。起初,我只是把它放到网上,没有太多推广。很快,它积累星星的速度超过了我之前构建的任何东西。

四月,我在伦敦的 AI Engineer Summit 上发表了一个名为"软件基础仍然重要"的演讲。那个演讲获得了超过一百万次观看,skills 仓库增长到超过 230,000 个 GitHub 星,成为 GitHub 上星标最多的仓库之一。这是我职业生涯中第二次感受到巨大的、有机的行业兴趣浪潮。

Grill-Me Skill:弥合人类与 Agent 之间的沟通鸿沟

Gergely Orosz: 让我们来谈谈那个仓库中最著名的 skill:grill-me。当我尝试用它来设计一个 API 端点时,它用数十个尖锐的技术问题盘问我关于 token、速率限制和失败模式的问题。是什么启发了它?

Matt Pocock: 人们在使用 AI agent 时犯的最大错误是低估了沟通鸿沟。因为 agent 是一个拥有广泛通用知识的 LLM,人们认为它本质上理解他们的心智模型和隐性优先级。当你只是输入像 /go 这样的命令并要求它构建一个功能时,它会产生幻觉般的假设并生成不一致的代码,因为它不知道你的边界。

grill-me skill 指示 agent 在写一行代码之前不断采访你。它问你关于边缘情况、范围、约束和架构的问题。它迫使你提前做出有意识的工程权衡。

模型产生的紧急行为令人印象深刻。它像一位资深 principal 工程师一样挑战你。它让我想起在我职业生涯早期指导我的高级工程师,迫使我证明每个架构决策都是合理的。一旦 agent 理解了你的确切价值层次,它下游实现的质量就会提高一个数量级。

管理智能区:上下文窗口和 Spec

Gergely Orosz: 一旦你完成了一个彻底的"烧烤"会话,你如何在不让模型记忆过载的情况下将该讨论转换为实际的生产代码?

Matt Pocock: 你必须围绕上下文窗口限制进行设计。Dex Horothy 之前讨论了"智能区"与"傻瓜区"的概念。当上下文窗口充满数万 token 时,每个 token 都在争夺注意力。当你把太多 token 塞进一个提示时,模型会失去对微妙关系的追踪,并开始犯粗心的错误。

即使有数百万 token 的窗口,前沿模型在其最初的 150,000 token 内表现最佳——智能区。要完成大于该阈值的工作,你必须将其分解到多个隔离的会话中。

我的工作流使用两个关键 artifact:

  1. 规范(Spec): 描述目标目的地和验收标准的单一事实来源。
  2. 独立工单: 从规范派生出的粒度、自包含的工作单元,设计为在单个专注会话中执行。

你进行"烧烤"会话来建立所有架构约束,将发现编译成规范,将该规范分解为 30 或 40 个工单,然后在干净的上下文会话中执行每个工单。

这种方法实现了"白班"和"夜班"之间的理想分工。在白天,你将高专注时间投入规划、提炼等工作中。

AI知识库 / Matt Pocock 谈 AI Skills:从战术编程到工程决策 0 字 0 行 iliuqi
2026-09-18T05:54:09.218191721Z 2026-09-18T05:54:09.217913931Z