Matt Pocock 把他的 mattpocock/skills 开源了,副标题写得很冲:「Skills For Real Engineers - not vibe coding」。当天就冲上了 GitHub Trending。
我去读了。说实话,第一遍读完有点失望。
他的框架很干净:AI 写代码会栽在四个地方——跟你没对齐、话太啰嗦、跑都跑不通、写着写着烂成一团泥。每一类,他配一个 skill 去治。这套东西讲出来很顺,但落到结论上,是那句被说烂了的「AI 时代基本功更重要」。对,是对,但任何一个资讯号都能写这句。换一层修辞而已。
让我停下来重读的,是藏在他数据里的一个细节,连他自己都没往下追。
他最常用的那个 skill,不写一行代码
Matt 自己统计,用得最多的不是 tdd,是 grill-me——一个专门「拷问对齐」的 skill:动手之前,先让 AI 反过来盘问你,把你脑子里那点没说清的需求一条条逼出来。它一行业务代码都不产出。
这条很反直觉。这一年所有人都在喊「AI 写的代码要更多测试、更多 review、更狠的验证」,对吧?大厂内部推 AI 编码,配套先上的也都是测试覆盖率、二次评审这类「管产出」的东西。可 Matt 这个真实使用数据,指向的是另一头——他最缺的不是验证产出的工具,是说清意图的工具。
这一下就把那个普遍的抱怨解释通了:「AI 写出来的东西,看着对,其实是错的。」大家都以为这是模型能力问题,要靠更强的验证去兜。但如果瓶颈根本不在那儿呢?看着对其实错,十有八九是因为你压根没把「要什么」说清楚,模型顺着你那句含糊的话,一本正经地把错的实现得很漂亮。验证再狠,也只是更早发现你自己没想明白。
真正的瓶颈,已经从「怎么做」上移到了「做什么」。而多数工具,还在拼命优化下游那一端。
这不是 Matt 一个人的口味
光凭他一个人的数据,我还不敢下这么大判断。于是我去对了对我天天在用的几个工具——结果有点意外。
Matt 那四个解药,根本不是他发明的,是各家工具各自独立长出来的:
- 治「没对齐」,Claude Code 有 plan mode——动手前先把方案摊给你确认;Matt 的
grill-me是同一件事的另一种做法。 - 治「跑着跑着失控」,几乎所有 agent 都给
git reset --hard、rm -rf这类危险命令加了护栏,执行前必须停下来等你点头。这就是反馈安全。 - 治「各说各话」,Claude Code 有
CLAUDE.md,Cursor 有.cursorrules——把项目的共同语言写进一个文件,让人和 AI 对着同一份约定说话。
四个团队、四套产品,没串通,却收敛到了同一处。这就不是某个人的审美偏好了——是整个 coding agent 生态,被同一个问题逼着,往同一个方向长。当不同的物种在不同的岛上各自演化出了翅膀,你就知道天上有东西值得飞过去够。
这一幕,我们见过好几次了
往回看就更踏实。
4GL 喊过「不用懂编程也能开发」。后来 no-code、低代码,口号几乎一字不差:把工程师那套基本功省掉。每一波都掀起一阵「程序员要失业」的浪,然后每一波退潮后,你会发现同一批基本功又游回来了——只是换了件马甲。
AI 编程是这个循环的第 N 次。但这次有意思的地方在于,前面几轮替我们做了筛选,让我们能预测这回哪些基本功能活下来:管「决定做什么」的那一类会活,管「怎么做」的那一类会被吃掉。
4GL 吃掉了手写 SQL 的细节,但「这张表该怎么设计、这个需求到底要什么」从来没被吃掉。low-code 吃掉了拖拽以下的实现,但「这个流程该不该存在」还是得人拍板。AI 这一轮,会把「怎么实现」「怎么验证」压得很薄——薄到 Matt 都把 tdd 用成了次要 skill;但它把「说清楚你到底要什么」顶到了所有人脸上,躲都躲不掉。
所以 Matt 自称最酷的那一招,grill-with-docs——逼 AI 把每个决策记成一份 ADR(架构决策记录)——表面看是给 AI 留文档,本质上是在驯化人:你被迫把「为什么这么定」说清楚、留下来。它治的根本不是代码,是你那颗想含糊过去的脑子。
绕了一圈,我反而觉得 Matt 那句「基本功更重要」说轻了。不是基本功更重要,是基本功换防了——它从你的手,搬到了你的嘴和你的脑子。
他那个最不像写代码、却被用得最多的 grill-me,就是答案本身。
npx skills@latest add mattpocock/skills,想试就试。但装完你大概会发现,最难的那个 skill,装不进电脑里。
