
原视频:https://www.youtube.com/watch?v=aR97E7aKEgg
这个视频其实是在借 Matt Pocock 开源的 skill 套装,讲一件事:AI 时代怎么把"软件工程几十年的老经验"重新用起来,反过来驯服 AI。下面把要点按"背景 → 主工作流 → 写 skill 的方法论 → 架构观 → 与 Superpowers 的对比 → 核心启示"六层拆开。
🎯 一、项目背景与核心目标
• Matt Pocock 是 TypeScript 领域顶级专家,把这个从自己 .claude 目录里真实在用的 Skills 开源出来,项目已经拿到 16 万+ Star、700 万次下载。
• 他打造这套工具的终极目标只有一个:控制 AI 的随机性。
• 他对市面上大型框架(Get Shit Done、Spec-Kit、Superpowers)的不满:它们想把整个开发流程接管过去,做成又重又硬的固定流水线,前面一步定歪,错误就顺着整条线传染。
• 他的解法走完全相反的路:每个 skill 刻意做得很小、很好改、能自由拼装——"小而模块化"是他所有设计的底层逻辑。
💡 核心洞察:AI 本质是个充满随机性的黑盒,要控制它,靠的不是更大的框架,而是把决策权抢回人类手里。
🔧 二、核心工作流:五站式生产线
整套流程是 grill-me → to-spec → to-tickets → implement → code-review,每一站都是一个独立的、可单独调用的 skill。
1️⃣ /grill-me:动手前先被拷问
• 这个被几百万人下载的 skill,文件里只有短短 5 行指令,但每一句都是刻意雕琢过的。
• 5 行字干的事:
- 在达成共识前,把用户往死里问
- 像画心智图一样顺着思路延伸,把每个决定背后的连锁反应挖出来
- 每次只问一个问题,且必须附上建议答案
- 在设计达成共识前,绝不准偷偷跑去写代码
• 为什么需要它?写程序的本质是连续做出几百个微观决定(防呆怎么做的、断线怎么办、极端数据怎么处理)。如果你习惯把模糊想法直接丢给 AI 凭感觉做(Vibe Coding),等于把这几百个决定的决策权全部外包给了会瞎掰架构的 AI 黑盒。
• 进阶版叫 /grill-with-docs:Matt 自己更常用这个。它在每场拷问里顺手把专有名词和重要决策写成文件留下来(CONTEXT.md 和 ADR),下次 AI 带着这些资料来拷问,一开场就能切进重点,不用每次重新摸项目。
2️⃣ /to-spec:把共识沉淀成规格书
• 一旦被 grill-me 拷问完,只要关掉对话 AI 就失忆,所以第二站要赶快把共识写成规格书存起来。
• 关键约束:写 spec 时严禁 AI 引用或写任何代码。
• 为什么这么极端?因为具体代码是最容易变动的,如果让 AI 把代码写进规格,未来代码改动了,过期的旧代码就会误导下一次的 AI,越改越乱。规格书永远只专注在"这个功能要解决什么问题"的思考层面。
3️⃣ /to-tickets:按"用户功能"而非"技术架构"拆任务
• 作用是把规格书拆解成具体待办任务。
• 它解决的是 AI 规划任务的致命坏习惯——AI 喜欢按技术架构分工:
• ❌ AI 的本能做法:先建完所有数据库 → 再写完后端的全部逻辑 → 最后才画前端。结果在最后一步之前你完全没法测试任何东西,等前端出来才发现数据库建错了,前面心血全毁。
• ✅ to-tickets 的做法:强制按用户功能切。同样做电商,第一个任务是"会员登录"(包含专属数据库+登录逻辑+登录画面),第二个任务是"加入购物车"。每做完一个小功能立刻就能打开浏览器测试。
• 任务排好后,互不干扰的任务可以发包给多个 AI 平行处理,开发速度直接翻倍。
4️⃣ /implement:TDD 驱动的实作
• 照着任务清单开始写 code,过程中自动用 TDD 方式引导开发。
• TDD 的核心是防 AI 作弊:
• 如果让 AI 先写功能再补测试,万一 AI 写出 bug(比如把"满 1000 扣 100"写成扣 200),它为了交差会直接生成一个假测试说"扣 200 检查通过"——你根本抓不出 bug。
• 正确的顺序:先写测试(此时必定红灯失败)→ 再写真正实现让红灯变绿灯。AI 没机会拿自己写错的逻辑去配一个绝对会通过的测试。
• 写完后自动呼叫 Code Review skill 做审查。
5️⃣ /code-review:用经典烂代码清单做双轴审查
• 它会开一个全新的 session 来做 Code Review,让 AI 保持在最干净、最聪明的状态,避免被写代码时的记忆干扰。
• 它不是写一句空泛的"请帮我做 Code Review",而是把软件工程界几十年公认的烂 code 症状写成具体的 12 条检查清单(源自 Martin Fowler 的经典名著《Refactoring》),其中包含:
• Shotgun Surgery(散弹枪手术):明明只想改按钮颜色,却要打开十几个文件——改动像散弹一样散落各处
• Feature Envy(特性嫉妒):处理订单的代码老跑去管库存的文件拿数据——逻辑放错了位置
• Data Clumps(数据泥团):买家姓名、电话、地址总是绑在一起出现,却散着传来传去——应该打包成"联系人"对象
✍️ 三、写 skill 的方法论:/writing-great-skills
Matt 的 skill 之所以厉害,背后是他在 writing-great-skills 里揭示的三个原则:
原则 含义
Pruning(修剪) 多写一句废话,AI 就多一分分心。删掉所有废话、会分心的文字、以及不说模型也知道该怎么做的指令
指引词(Leading Words) 大量运用深植在 AI 训练资料里的经典专有名词(如 Data Clumps),用一个字取代一百字的废话解释
完成标准 给 AI 一个明确的终点
这就是为什么 grill-me 只用 5 行字就能生效——每一个字都有实际作用,AI 根本没有发散的空间。
🏗️ 四、架构观:深模块 vs 浅模块
这是整套系统最硬核的部分,也是 AI 写程序真正的命门。
浅模块的灾难
AI 写代码速度太快,但天生没有大局观,每次只盯眼前几个文件,为了交差最容易写出浅模块——想象一栋房子分了厨房、客厅、卧室,但没有大门,进厨房要走窗户、进客厅要爬烟囱。
• 沟通成本极高,主程序必须亲自处理五间房的数据传递
• 更致命的是:AI 的 Context Window 有限,出 bug 时它发现逻辑散落在五个房间,为了看懂整个流程必须在房间间疯狂跳转,一旦塞进太多琐碎逻辑超过记忆范围,就开始瞎猜,把你原本正常的代码也改坏
深模块的解法
深模块不是把一万行 code 塞进一个大房间,而是盖一扇极简的大门,把复杂的房间藏在里面。同样做结账,对外只提供一个简单的 processCheckout 函数,折扣怎么算、信用卡怎么验全藏在背后,主程序敲一次门事情就办妥。
• 具备极强的局部性:出问题时 AI 只需专注阅读这一个模块,所有来龙去脉都完整集中在视野里,不需要去别处找线索,能极度精准地抓 bug
/improve-codebase-architecture:架构大扫除
针对 AI 造成的浅模块危机,这个 skill 会对代码进行残酷的删除测试:
• 想象把这个模块直接拔掉,让主程序自己处理,会发生什么?
• 如果拔掉后天下大乱、原本隐藏的复杂逻辑全部炸回主程序 → 这是有价值的深模块
• 如果拔掉后代码反而变清爽了 → 这只是个多馀的空壳浅模块,该清理掉
• 每隔几天跑一次,它会扫描整个项目并生成一份 HTML 可视化诊断报告(含前后架构对比图),你连代码都不用看,挑一个最急迫的建议对 AI 说"就照这个方案重构",它就会把四散的代码重新聚拢成深模块。
⚖️ 五、与 Superpowers 的关键差异
维度 Matt Pocock Skills Superpowers
设计哲学 极简主义 + 模块化,一个 skill 只解决一个问题 完整工作流框架,用写死的 9 个步骤把你从目标到执行包圆
流程绑定 不绑架你,有规格就能直接跳到 to-tickets,想从哪步开始由你决定 强制走完整个流程,产出的文件都是为它自己的下一步量身定制
适用场景 现在的聪明模型(GPT-5.6 Sol、Fable 5 等级),不再需要重度防呆 模型还不太聪明、容易偏题的时代,保母级防呆非常管用
比喻 一盒随插即用的乐高积木,主导权在你手上 一条已组装好的自动化生产线,确保品质稳定
简单说:过去模型笨,Superpowers 的自动化生产线确保了品质稳定;现在模型越来越聪明,Matt 给的乐高积木才真正把工作主导权交还到我们手上。
💎 六、核心启示
Matt 真正开源的不只是几个 skill,而是在 AI 时代该怎么用专业领域积累的思维与语言去驾驭 AI 黑盒。他靠深厚软件工程底子做了两件事:
- 用在架构上:把深模块、烂代码征兆等几十年证明有效的老方法,融入到 skill 的架构里来规范 AI 行为
- 用在沟通上:把软件工程的专有名词直接当作 prompt 的一部分,用精准术语取代废话解释
🎯 这彻底打破了一个迷思:很多人以为有了 AI 就不需要在自己领域精进了。但 Matt 证明了:只有成为专业领域的专家,你才能真正控制好 AI。
"specs-to-code 是伪命题,AI 时代工程基本功更值钱"——坏代码在 AI 时代比以前更贵,因为它会把 AI 的能力一起废掉。工程师的角色从"写代码"变成了"守边界":重要接口自己把关,实现细节大胆委托给 AI。
评论0
暂时没有评论