Matt Pocock 的工作坊提出了一个利用 Claude Code 实现高效 AI 编码的核心工作流。关键在于理解并规避 LLM 的“笨区”(约 10 万 token 后性能下降),并通过一套包含 Grill Me 对齐、PRD 定义、问题看板拆分和 Ralph Wiggum 自动循环的结构化流程,将大任务分解为可管理的“智能区”任务,确保开发过程可控且输出质量稳定。

Matt Pocock 的 AI Coding Workshop 完整教程:Skills、Grill Me、Ralph Wiggum Loop

Matt Pocock 的 AI Coding 工作坊提出了一套将 AI 编码从“氛围编码”(Vibe Coding)推向“代理工程”(Agentic Engineering)的结构化方法论。其核心在于承认并利用 LLM(大语言模型)的特定约束,通过设计精良的工作流来驾驭 AI,而非被动接受其输出。整个流程可以概括为:对齐(Align)、规划(Plan)、实现(Implement)

理解 LLM 的根本约束:智能区 vs 笨区

Pocock 首先引入了一个关键概念:LLM 存在“智能区”(Smart Zone)与“笨区”(Dumb Zone)。这源于一个观察——随着对话上下文(tokens)的不断增加,LLM 的推理能力会显著下降。他将此比作足球联赛每增加一支队伍,比赛数量呈平方级增长,因为注意力机制需要处理 token 间所有复杂的关联。

Pocock 指出,无论模型的上下文窗口是 20 万还是 100 万 token,这个性能拐点大致出现在 10 万 token 附近。当上下文信息超过这个阈值,模型就开始犯下低级错误,进入“笨区”。因此,所有高效的工作流设计都必须围绕一个目标:确保关键任务在“智能区”内完成

这意味着不能让 AI 一次性处理一个庞大的、模糊的任务。相反,需要像对待人类开发者一样,将大任务拆解为清晰、可管理的小块,避免 AI “消化不良”。

第一阶段:使用 Grill Me 技能达到深度对齐

在开始编码之前,Pocock 强烈反对“规格说明直接转代码”(Specs to Code)的模式。他认为代码本身是“战场”,开发者必须理解并塑造它,而不仅仅是审查一份脱离实现的文档。

他解决“对齐”问题的方案是使用一个名为 Grill Me技能。这个技能的指令极其精简,其核心是:

“Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies one by one. For each question, provide your recommended answer. Ask the questions one at a time.”

在工作坊中,Pocock 展示了如何用 /grill_me 命令处理一份模糊的客户 Slack 简报。AI 会先通过一个子代理(Subagent)探索代码库,然后开始就功能的各个方面进行连环提问,并给出推荐答案。这个过程可能持续数十甚至上百个问题。

其目的不是快速生成一份计划,而是像两位开发者配对编程(Pair Programming)一样,与 AI 达成“设计共识”(Design Concept)。只有当开发者与 AI 就目标、边界、技术选择等达成深度一致后,后续工作才有可靠的基础。这通常是一个 “人在环路中” 的任务,需要人类持续参与和决策。

第二阶段:从对齐到规划——创建 PRD 与拆解问题看板

达成对齐后,下一步是将对话中形成的“设计共识”固化为一份“目的地文档”。Pocock 将其称为产品需求文档(PRD)。这份文档的核心功能是清晰定义“我们要去哪里”,包含问题陈述、解决方案概述、用户故事(User Stories)以及关键的技术和测试决策。

Pocock 实践中,他甚至不详细审阅这份 PRD,因为他信任在 Grill Me 阶段建立的对齐基础,知道 LLM 擅长在共享理解下进行总结。

真正的关键步骤是将 PRD 拆解为可执行的“旅程”。Pocock 采用**看板(Kanban)**的形式,创建一系列带有阻塞依赖关系的问题单。他特别强调 “纵向切片”(Vertical Slices)或“示踪子弹”(Tracer Bullets) 的技术。

AI 的自然倾向是进行水平编码:先完成所有数据库层,再完成所有 API 层,最后完成前端。但这会导致集成风险后置,早期看不到可运行的功能。纵向切片则要求每个任务都贯穿系统各层(如:数据库 → API → 前端),形成一个可独立运行、可测试的功能单元。例如,“为完成课程添加积分”就是一个纵向切片,它会涉及数据库 schema、积分服务 API 和前端显示。这种拆解方式能更早暴露集成问题,让每个任务在“智能区”内更可控。

第三阶段:自动循环实现——Ralph Wiggum Loop

有了拆解好的任务看板,便进入实现阶段。这里的核心是 Ralph Wiggum Loop。Pocock 将其描述为一个自动化循环:定义清晰的“目的地”(如 PRD),然后让 AI 自主地、循环地执行“小步骤”,每次都将项目推向目的地更近一步。

他将这种可以完全交由 AI 执行、人类可以“离席”的任务称为 AFK 任务。实现阶段的很多编码工作都可以转化为 AFK 任务。

结合之前的概念,理想的实现单元是一个个“纵向切片”的问题单。对于每个问题单,可以构建一个小型、专注的循环:让 AI(可能通过专用的子代理命令)在智能区内完成该切片的完整实现,然后进行测试验证,确认成功后更新问题单状态,再开始下一个切片。这避免了单次会话上下文过长,同时通过结构化的任务列表保持了方向的正确性。

总结:系统化驾驭 AI 的思维模式

Matt Pocock 的工作坊并非仅仅介绍几个工具,而是倡导一种新的思维模式:

  1. 接受约束,而非对抗:承认 LLM 的“智能区”限制,并以此设计任务大小。
  2. 投资对齐:使用 Grill Me 等技能进行前期深度对齐,这比快速生成一个可能错误的计划更有价值。
  3. 代码即战场:始终保持对代码结构和实现的关注,通过 PRD 和纵向切片进行系统设计。
  4. 自动化可预测的步骤:将实现阶段的编码任务分解为可循环执行的 AFK 任务,利用自动化提高效率。

这套方法论将软件工程的经典原则(如任务分解、纵向切片、配对编程)与 AI 的特性相结合,为构建可靠、可维护的 AI 辅助开发流程提供了清晰的路线图。它帮助开发者从被动的“提示工程师”转变为主动的“代理架构师”。

FAQ

Q: 什么是 LLM 的“智能区”和“笨区”? A: 这是描述 LLM 性能随上下文长度变化的一个模型。在对话开始、上下文较短时,LLM 处于“智能区”,推理能力最强。随着对话进行,上下文 token 数持续增加(约超过 10 万 token 后),注意力机制负担加重,模型容易犯错,进入“笨区”。高效工作流应确保关键决策和任务在“智能区”内完成。

Q: Grill Me 技能主要解决什么问题? A: Grill Me 技能主要解决 AI 编码初期的“对齐”问题。它通过让 AI 连续提问并给出推荐答案的方式,强迫开发者与 AI 就需求细节、设计取舍和技术方案进行深度讨论,直至形成共同的“设计共识”。这避免了 AI 仓促生成一个基于表面理解、可能完全偏离需求的计划,是启动高质量 AI 编码的关键步骤。