Matt Pocock 的 Skills — AI 时代的软件工程方法论
GitHub 8 万 Star,前 Vercel / XState 核心贡献者 Matt Pocock 开源了一套 AI Agent Skills 集合。核心理念:不是让 AI 接管开发流程,而是把 AI 融入成熟的工程实践。
目录
背景:Vibe Coding 的三大反噬
Vibe Coding(凭直觉让 AI 生成代码):
动嘴皮子 → AI 搞定一切
现实问题:
1. AI 生成的代码经常跑不通,甚至听不懂需求
2. AI 长篇大论用废话演示对项目的无知
3. AI 写代码太快 → 代码熵增加速 → 架构退化成一坨屎山
Matt Pocock 其人
| 维度 |
信息 |
| TypeScript 社区最有影响力的教育者之一 |
TalTypeScript 课程创作者 |
| 前 Vercel 开发者倡导者 |
— |
| XState 核心贡献者 |
XState 背后公司 stately 工作过 |
| 前健身教练 |
对沟通和表达有极其敏锐的直觉 |
四大问题与对应方案
问题 1:AI 没听懂你的需求
失败模式:你以为 AI 懂了,其实它根本没懂
解决方案:Grilling(盘问)技能
- AI 不是顺从助手,而是严厉面试官
- 不断提出尖锐问题逼你把模糊想法具体化
- 直到需求书的每一个分支都被理清
示例:写登录页面
AI 不会马上开始写 HTML/CSS,而是问:
- 用户忘记密码怎么办?
- 需要支持第三方登录吗?
- 登录失败的错误提示怎么设计?
结果:极大降低需求理解偏差
问题 2:AI 太冗长,废话太多
根因:AI 被空降到新项目 → 不了解团队黑话和业务背景
→ 用大量通用词汇猜测(DDD 中叫「缺乏通用语言」)
解决方案:Grilling with Docs
- AI 检查项目已有的领域语言和 CONTEXT.md
- 当你使用模糊或冲突术语时,AI 当场追问澄清
- 已确认的术语和关键决策沉淀到 CONTEXT.md / ADR
效果:
+------------------+------------------------------------+
| 之前 | 之后 |
+------------------+------------------------------------+
| "课程中的章节被 | "材料级联(materialization cascade)|"
| 变为'真实'时出 | |
| 问题" | |
+------------------+------------------------------------+
额外收益:命名变量/函数时保持一致性,节省大量思考 token
问题 3:AI 写的代码跑不通
解决方案:TDD + Diagnose
TDD(测试驱动开发)技能:
- 红绿重构循环,不是一次性写完所有测试再实现代码
- 一个行为 → 一个测试 → 按垂直切片推进
- AI 先写失败测试 → 实现功能 → 重构 → 循环
Diagnose(诊断)技能:
- 结构化调试循环:重现 → 最小化 → 假设验证 → 修复 → 回归测试
- 核心不是直接猜答案,而是先建立可重复的反馈循环
问题 4:代码库变成屎山(熵增)
根因:AI 写代码太快,来不及思考架构设计
解决方案:Architecture Review(架构审查)
- Improve Codebase Architecture 技能
- AI 从全局视角审视代码库
- 找出接口复杂、难以测试、容易出 bug 的地方
- 提出改进方向
频率:每几天运行一次,像给代码库做深度体检
核心技能一览
工程类技能
| 技能 |
用途 |
/diagnose |
结构化调试循环:重现 → 最小化 → 假设验证 → 修复 → 回归测试 |
/grill-with-docs |
盘问 + 领域语言验证 + CONTEXT.md + ADR 更新 |
/triage |
Issue 状态机,按角色流转处理 |
/improve-codebase-architecture |
基于 CONTEXT.md 和 ADR 找出深化机会 |
/setup-matt-pocock-skills |
首次运行必须:配置 Issue 追踪器、标签、文档布局 |
/tdd |
红绿重构 TDD,每次一个垂直切片 |
/to-issues |
将计划/PRD 拆为可独立获取的 GitHub Issue(垂直切片) |
/to-prd |
将对话综合为 PRD Issue(无需面试) |
/zoom-out |
获取陌生代码的系统级上下文 |
/prototype |
一次性原型:终端应用逻辑或多 UI 变体 |
生产力技能
| 技能 |
用途 |
/caveman |
超压缩模式,~75% Token 减少,保持完整技术准确性 |
/grill-me |
持续面试直到每个决策分支都解决 |
/handoff |
将对话压缩为交接文档,保证 Agent 连续性 |
/write-a-skill |
创建新 Skill(正确结构 + 渐进式披露) |
杂项技能
| 技能 |
用途 |
/git-guardrails-claude-code |
通过 Claude Code hooks 阻止危险 git 命令(push/reset --hard/clean) |
/migrate-to-shoehorn |
迁移 as 类型断言到 @total-typescript/shoehorn |
/scaffold-exercises |
创建练习目录(章节/问题/解答/说明) |
/setup-pre-commit |
Husky + lint-staged + Prettier + 类型检查 + 测试 |
关键技能深度解析
Grilling(盘问)系列
/grill-me:纯需求盘问
→ AI 不断追问,直到每个决策分支都明确
/grill-with-docs:盘问 + 领域语言
→ 在盘问的同时,AI 检查项目已有的 CONTEXT.md
→ 冲突术语当场追问澄清
→ 确认的术语沉淀到 CONTEXT.md / ADR
使用场景:写登录页面、设计 API 接口、定义数据模型
TDD(测试驱动开发)技能
传统 TDD:一次写完所有测试 → 实现所有代码
Matt Pocock 版:一个行为 → 一个测试 → 按垂直切片推进
循环:
1. AI 写失败测试(红)
2. AI 实现功能使测试通过(绿)
3. AI 重构代码(重构)
4. 循环下一个行为
优势:保证质量 + AI 输出可控 + 每次反馈周期短
Improve Codebase Architecture(架构审查)
定期运行,频率:每几天一次
AI 做三件事:
1. 读取 CONTEXT.md + docs/adr/ 理解项目上下文
2. 全局扫描代码库,找出接口复杂、难测试、易出 bug 的地方
3. 提出「深化(deepening)」改进方向
效果:对抗 AI 加速的代码熵增
Caveman(超压缩模式)
~75% Token 减少,保持完整技术准确性
适用于:Token 敏感场景、快速迭代、不需要详细解释时
与 GSD / BMAD 的本质区别
GSD / BMAD / Spec-Kit:
- 试图接管整个开发流程
- 做成大文件(kitchen-sink)
- Bug 难以排查
Matt Pocock Skills:
- 小型、可组合、可适配的构建块
- 开发者保持控制权
- 与任何大模型配合使用
核心差异:不是颠覆现有流程,而是让 AI 融入现有工程实践
AI 时代的核心认知反转
反直觉结论
传统观念:有了 AI,不需要懂架构、不需要写测试、甚至不需要懂编程
事实恰恰相反:
- AI 是极其强大的执行者,但缺乏对复杂系统的全局把控能力
- 如果你不懂软件工程 → AI 会以 10 倍速度制造垃圾代码
- 过去写烂代码需要几天 → AI 几秒生成上百行烂代码
- 不加控制,烂代码很快拖垮整个项目
核心观点:在 AI 时代,坏代码的代价更大
→ 扎实的软件工程基础不仅没过时,反而成为开发者最核心的竞争力
人机分工新模式
以前:人写代码 → 人测试 → 人维护
现在:人定义问题 + 设计架构 + 制定规范
AI 编写代码 + 生成测试 + 执行重构
人类负责:系统思考能力
AI 负责:高效执行能力
这才是真正的「AI 工程师」工作模式
未来顶尖工程师画像
既懂底层技术,又懂如何与 AI 高效人机协同:
- 知道什么时候该让 AI 自由发挥
- 知道什么时候该对 AI 进行严格约束
- 懂得利用 AI 提升效率,同时防止负面影响
不是被 AI 替代的码农
而是指挥 AI 大军的架构师
参考资料
相关笔记