黄建同学
26-05-07 07:20 微博认证:AI博主

收藏!Matt Pocock 开源的skills,专门解决 AI 编程的三个系统性失控点。

Matt Pocock 是 Total TypeScript 的作者,TypeScript 社区里的资深工程师。最近他把自己日常使用 Claude Code 和 Codex 的工作流提炼成了可复用的skills。

他的出发点很直接:GSD、BMAD 这类框架太重,接管了太多流程,出了问题自己根本看不清是哪里出了岔子。他要的是小、可组合、自己保持控制权的东西。

他识别出三个 AI 编程最常见的失控原因,每个都有对应的解法:
1. Agent 没做你想要的事——本质是对齐失败
他的解法是一个叫 /grill-me 的 skill:让 Agent 在动手之前,逐一追问你关于这个任务的每一个细节,每问一个问题就等你回答,再进入下一个分支。它不会一次丢给你一堆问题,而是一条条沿着决策树往下走,把所有模糊地带在开工前暴露出来。
工程版是 /grill-with-docs,在此基础上额外做两件事:
1)同步维护一个 CONTEXT.md 词汇表。当你说账户,它会追问你:是 Customer 还是 User?这两个不是一回事。每个概念厘清后立刻写进文件,不攒到最后批量处理。好处不只是给 Agent 看的——函数名、变量名、文件名全部跟着这套语言走,Agent 读代码时消耗的 token 大幅减少,因为它不用自己猜术语。
2)在满足三个条件时才创建 ADR(架构决策记录):这个决定很难逆转、未来读代码的人会困惑为什么这么做、做这个决定时确实有过真实的方案取舍。三条都满足才记,否则不写,避免文档过载。

2. Agent 写完代码没有反馈,越跑越歪——本质是缺少闭环
他的解法是 /tdd,强制红绿循环:一次写一个失败的测试,让 Agent 修到绿灯,再写下一个,不允许把所有测试写完再统一实现。
他对好测试的定义值得记下来:测试验证的是通过公开接口可观测的行为,不是内部实现细节。判断标准是:你重构了内部代码,但外部行为没变,测试应该还是绿的。如果一个内部函数改了名字测试就挂了,那这个测试测的是实现不是行为,是坏测试。

3. 一次任务太大,Agent 中途跑偏——本质是粒度问题
他用 /triage 配合 Linear 或 GitHub Issues 做任务拆解,每个 Agent 会话只对应一个 issue,强制拆小。Agent 只知道它现在要做什么,不知道整个项目有多大,这是故意的设计。

整套东西的核心逻辑是:与其把 Agent 当一个聪明的黑盒,不如在协作流程上下功夫——对齐、反馈、粒度,这三件事做好,AI 编程才能从 vibe coding 变成真正可控的工程实践。

地址:github.com/mattpocock/skills

#how i ai# #程序员#

发布于 北京