Matt Pocock(Skills 仓库作者,23 万 star,全球第二受 star 的 skills 仓库)上了 The Pragmatic Engineer,和 Gergely Orosz 聊了 96 分钟。这篇是 meng shao 整理的长文纪要,把"如何提升与 AI 协作质量"几乎完全展开。
核心结论先行:这些关键方法不是什么新发明,是把 20 多年前软件工程经典里的智慧重新拿起来用——用对指令、建好反馈回路、保持代码库整洁,因为代码库就是 Agent 生存的环境 。
#Matt Pocock:一条非常规路径
他做了六年声乐教练(在伦敦教歌唱、口音、莎剧台词,硕士学历),为搬离伦敦回乡下,2017 年前后自学转行做开发。第一个作品是分析学生嗓音频谱的 Web Audio 工具——野心勃勃但跑得很烂。
这段经历给了他一项"不公平的优势":几乎零技术背景,却极擅长向人解释技术。他因此晋升飞快,成为 TypeScript 早期布道者(经典案例:前后端分离团队因后端随意改契约而混乱,引入 TypeScript 后前端速度反超),待过 Stately(XState 作者的团队)和 Vercel(参与 Turbopack 初版文档)。
真正改变命运的是 Total TypeScript 课程:与 Egghead 创始人 Joel Hooks 合作,2023 年初发布后冲到七位数营收,累计 250 万美元。商业模式很干净——不做赞助、不受打赏,只靠产品和企业教育预算。
然后,AI 来了。
#论点一:知识已死,智慧永存
Matt 对业务受冲击很坦诚:Total TypeScript 收入在下滑,因为"知识"(语法、怎么写)已变得极其廉价——随手可查,甚至让 Agent 教你。但"智慧"(为什么这么设计、长期后果是什么)并没有变容易。
他借用 John Ousterhout 的划分:
- 战术性编程(Tactical) :眼前的、局部的实现——AI 已基本吃掉这一层
- 战略性编程(Strategic) :长期结构、架构权衡——人类必须守住、且价值暴涨的领域
转折点是去年 12 月的寒假:Claude Opus 4.5 发布、大家假期疯狂使用后集体"顿悟"的那个冬天——他意识到 Agent 终于"好到可以委派了"。
#论点二:从 grill me 到 wayfinder 的工作流
整套工作流建立在一个关键认知上(来自 Dex Horthy 的聪明区/愚蠢区理论):
无论上下文窗口多大,只有前约 15 万 token 是"聪明区",之后模型的注意力逐渐退化。所以大工程必须切分到多个会话。
由此形成完整流水线:
1. grill me(拷问我) ——最出圈的 skill。让 Agent 像资深工程师那样无情追问你:认证用 Bearer token 还是 JSON?限流精确到什么粒度?主持人实测一个"查邮箱是否已订阅"的简单 API,被问了 35 个问题,"又烦又震撼"。本质是解决人机沟通鸿沟——Agent 再聪明也读不懂你的心,不会自动继承你的价值排序,先对齐再动手。他甚至从原理上归因:模型在这个框架下会出现涌现行为,主动跳出框框向你抛想法。
2. spec → tickets ——把拷问结果沉淀为规格文档,拆成"一个会话一张工单",用实现循环逐张消化,绕开 15 万 token 的墙。
3. wayfinder(寻路者) ——更野心的一层,处理"一个 grill 会话装不下"的超大工程(他举例 Stripe 克隆)。核心隐喻是地图 + 战争迷雾 :所有决策点构成一张有向无环图,每次拷问会话拨开一片迷雾、点亮若干里程碑,直到抵达终点。地图上可以有拷问、原型、研究、基建等不同类型的工单。他自己的用法已超出编程——用它规划课程、甚至在自家花园盖办公室。
4. 日班/夜班节奏 ——白天规划,晚上让 Agent 干活,早上看干净的代码。他为"离开键盘(AFK)"优化一切,因为痛恨在终端间切上下文。
#论点三:最有意思的发现——引导词(Leading Words)
Matt 发现 Agent 在生产"软件熵",代码越改越烂(呼应《程序员修炼之道》的 software entropy),于是翻开还没拆封的《The Pragmatic Programmer》,发现几乎每行都像为今天写的。
关键动作:把书里的经典概念——曳光弹(tracer bullet)、垂直切片(vertical slice)、不要超出车灯照见的范围(don't outrun your headlights)、巧合式编程(programming by coincidence) ——直接写进提示词。结果是:
模型开始把这些词"说回来",在自己的推理痕迹里使用这些术语,行为随之改变。
原理很朴素:这些经典书就在模型的训练数据里,术语本身就是激活模型深层概念的钥匙。他把这命名为"引导词"(借文学术语 Leitwort,重复短语引导方向)——和三十年前 Kent Beck 与 Ward Cunningham 抱着同义词词典找"最准确的词"形成完美历史回环。
同样思路延伸到 DDD:他发现 Agent(尤其 Opus 5)啰嗦至极,而建立 Eric Evans 说的统一语言(ubiquitous language) 能让人机对话质变——他和 Agent 一起发明"幽灵课程""物化级联"这类领域术语,之后几个词就能描述复杂变更意图,Agent 也能 grep 领域词汇导航代码库。
#论点四:为什么代码库整洁更重要了
精妙的类比:《记忆碎片》驱动开发 ——Agent 像每天早上醒来就失忆的人。人类能靠长期记忆硬扛烂代码库,Agent 不能,每个会话都是初见。
所以:代码库是 Agent 的运行环境,优化环境就是优化产出。工程师的角色被重新定义为——"我们本质上就是自己 Agent 的平台团队。" 这也回应了"园丁"隐喻(需要有人静静看 PR 流、拔掉蔓延的 lint 抑制):Matt 更激进,"你的团队唯一需要的就是园丁"。他每天早上有自动循环跑"改进代码库架构"的 skill,产出提案,一键转工单执行。
#速览:其余重要观点
- 战略编程为什么难学 :反馈回路太长,战略失误九个月后才找上你(巨大调音台推子阵的比喻:混音时听不出问题)。AI 让你跑更快所以错误更快反噬——反而压缩了学习周期。但开放问题还在:AI 也能更快修错,伤疤变浅,学习是否还那么深刻?
- 初级工程师 :他反问——既然战略知识能空前的杠杆化使用,公司为什么雇不具备它的人?给新人的建议:尽情用 Agent,但别把"学习"本身外包出去。grill me 的妙处恰在逼你持续思考。
- TDD 重新评估 :TDD 本质是为"工作记忆很小的人类"设计的(失败测试帮你记住进度),Agent 工作记忆大得多——瞄准错了问题。但 Agent 需要反馈回路,且 TDD 让 Agent 难作弊。他常要求"给我 TDD 证据:证明没有这个改动测试就会失败"。Agent 还特别爱写同义反复的垃圾测试(定义常量再断言它等于自己),需要自动化审查 Agent 治理。
- 技术债 :Jared Friedman 说"技术债曾是你不得不与大代码库共存的东西,现在不用了",Matt 神回复:"是的,现在小代码库里也能共存了。"Agent 无法战略思考,极易让代码库随时间劣化——需要实现 Agent + 审查 Agent 双轨制,这是永恒战斗。
- 告别本地开发环境 :"我在放弃本地开发环境。"理由是协作——组织需要共享那"100 个终端",能在 Slack/Linear 里 @ 一个人进入拷问会话。他现在每天和 Agent 开晨会。(Ramp、Stripe、Uber 平台团队把云端开发环境做成一条 Slack 命令,70-80% 开发者已自愿转向云端,前端是少数例外。)
- 瀑布流骂错了吗 :引 Grady Booch——瀑布的问题从不是"先计划再实施",是计划一年实施三年、四年后发现做错。两周三月的"迷你瀑布"一直是大厂常态,那个被打的"瀑布皮纳塔"早不存在了。
- 教育的未来 :"Agent 教你一切"很性感但只在部分场景成立。人们真正需要的是策展 ——把知识依赖图变成最优线性路径("在知识图谱上跑 Dijkstra"),而这恰是 AI 不擅长的战略工作。他从 TypeScript(战术层)转到 AI 工作流(战略层)之所以成立,正是踩中了这个价值转移。
#收场
Gergely 结尾点破全部讽刺之处:Matt 找"如何与 AI 更好协作"的答案时,真正帮到他的不是前沿新方法,是《The Pragmatic Programmer》《软件设计的哲学》《领域驱动设计》这三本 20 多年前的老书。纸上的最佳实践不仅依然有效,在 Agent 时代反而更重要——因为 Agent 没有长期记忆、软件熵以前所未有的速度累积、沟通鸿沟比以往更真实。
三句话带走:用对术语(经典词汇是激活模型深层能力的引导词);建好反馈回路(代码库是 Agent 的环境,做它的平台团队和园丁);守住战略层,别把学习外包(知识已免费,智慧和品味是唯一的护城河)。