@mattpocockuk: Going live, doing a full feature build using: - /grill-with-docs - /handoff - /prototype
摘要
Matt Pocock live streams building a 'delivery calendar' feature for his course video manager using AI tools like Grill with Docs. He focuses on aligning terminology and data models with AI agents, and discusses the importance of coding standards for agent experience (AX).
查看缓存全文
缓存时间: 2026/05/19 00:40
Going live, doing a full feature build using:
- /grill-with-docs
- /handoff
- /prototype
https://t.co/NK1Bz4gCq6
TL;DR: Matt Pocock 在本次直播中尝试为他的课程视频管理器添加“交付日历”功能,主要精力花在与 AI 代理对齐术语、明确数据模型(课程、创意简述、视频的关系)上,并探讨了编码标准对代理体验(AX)的影响。
直播背景:在 Chat 中热身,OBS 的小插曲
直播开始后,Matt 先与观众互动,提到他前两天身体不适,刚恢复。他使用 OBS 推流,遇到窗口总在最前的问题,调整后恢复正常。聊天区有 250 人观看,观众来自印度尼西亚等,Matt 表示了感谢。他还提及使用了 WSL(Windows Subsystem for Linux)以便将显卡费用计入公司成本,并提到自己目前主要用 Claw Code 开发,但计划尝试 Codec。
构建目标:为课程视频管理器添加交付日历
Matt 解释了本次直播的核心任务——为他的“课程视频管理器”(Course Video Manager)添加一个交付日历功能。这是一个他用于运营整个业务的内部工具,已经包含了课程、创意简述(Creative Brief)、TL Draw 图表等功能,但缺少按日历排期的概念。交付日历将让所有交付物(课程、视频等)有一个明确的截止日期,帮助他规划与盘点。
他计划使用“Grill with Docs”工具进行端到端开发,代码库是 React Router 应用,全部使用 TypeScript,严重依赖 ffmpeg 等外部工具。
交付日历的数据模型:术语对齐的拉锯战
这是直播的核心技术部分。Matt 通过 Grill with Docs 与 AI 代理对话,尝试定义“交付物”(deliverable)的数据模型。
术语冲突与分支决策
AI 代理读入项目的 context.mmd 文件(226 行)后,指出 Matt 现有的词汇与“交付日历”的概念并不完全吻合:
- “创意简述”已经是视频创意的包装。
- “课程”没有调度概念。
- “视频”是制作产物。
- “任务”在领域里不存在。
AI 提议至少三种可能模型,并强调:“一旦语言确定,就完成了一半”。Matt 认同这一点,但随后进入了对具体实体定义的反复讨论。
核心争论:交付物到底是什么?
- AI 的最初提议:交付物是课程、创意简述或任务的父类型。日历显示其中任何一个的实例,代替 Google 文档。
- Matt 的反馈:课程当然是交付物,但视频呢?视频有两种:独立视频(已被创意简述包装)和课程内的视频。他认为真正的交付物是“从创意简述创建的视频”——创意简述轻量级(5 分钟可创建),而视频才是耗费时间、需要计划排期的实体。
- AI 的第二轮提议:引入“幽灵视频”(Ghost Video),允许在课程范围内提前规划,但 Matt 拒绝了这个想法,因为幽灵视频仅在计划将要上线的课程创建过程中有意义,不适合日历场景。
- 最终近似模型:Matt 认为日历上放的是“发布视频的承诺”。更准确的数据模型是:交付物 = 课程 或 创意简述。当创意简述被创建并最终发送为视频时,才算完成一次交付。视频可视为次要产物。
Matt 感叹:“有时候对齐很容易,但像这样的对齐实际上相当困难。” 整个对话耗费了大量时间,但 Matt 认为这种“咬文嚼字”是必要的,因为语言决定了后续所有实现。
关于“任务”的排除
Matt 明确决定 V1 版本不包含“任务”。他认为任务本质上是指向课程的指针,可以后续在数据库中创建实体,而非交付日历的核心。
编码标准与代理体验(AX)
在对话过程中,Matt 回应了观众关于“代码质量对 AI 代理是否重要”的问题。他强调了代理体验(AX) 的重要性:
“如果你的代码库里有垃圾代码,代理只会产生更多垃圾代码。”
他认为编码标准对于项目比以前更重要,因为代理对代码质量比人类更敏感。好的代码质量能提升代理的工作效率,坏的代码则会导致更多坏代码。
关于 TDD 与 Goal 特性的简短问答
直播结尾,观众提问:“你认为用 TDD 配合 Goal 特性完成任务,而不是把 Ralph 引入 Sand Castle 并运行,这样合理吗?你对 Goal 特性有什么看法?”
Matt 承认还没试过 Goal,但它本质上就是 Ralph 循环。他对 Goal 的具体实现方式持谨慎态度,主要取决于它是否采用了“智能区”并如何填充上下文。他没有深入展开,只是表示这是一个很大的问题。
直播中的意外:录制丢失
直播过程中,Matt 意外丢失了一段视频录制(代码片段),导致他决定不再录制本次直播,只保留直播本身。他通过重连避免了进一步损失。
总结
本次直播虽然技术实现(写代码)部分较少,但深度展示了“用 AI 辅助设计软件架构”的真实过程——主要挑战在于理解业务意图并精确定义领域语言。Matt 最后感叹:“当你坐下来计划时,‘我将在三周内发布这个想法。’视频行存在吗?不,不存在。” 这直接点出了数据模型必须与现实中的时间线对齐的难度。
相似文章
@mattpocockuk:我刚刚尝试并非常喜爱的一个工作流:1. 使用 /grill-with-docs,讨论一个新的 UI 功能 2. 它问我一个除非做原型开发否则无法回答的问题 …
Matt Pocock 分享了一个利用 Claude Code 的 /grill-with-docs 和 /prototype 命令的工作流,用于迭代 UI 设计,并在继续之前总结从原型开发中学到的经验。
@mattpocockuk:我正在从零开始开发一款叫 Slopwatch 的应用,并把整个过程拍成视频。这是学习像真正的工程师一样使用 AI 编程工具的绝佳方式……
Matt Pocock 宣布他正在从头构建一款名为 Slopwatch 的应用,并全程录像,旨在分享高效使用 AI 编程工具的实用技巧。项目第一步是从 Rust、Go、Node.js 和 Bun 等选项中选定编程语言。
@lastbtnotleast: 我刚刚发现了@mattpocockuk的技能仓库,对/grill-with-docs这个技能着迷了。我喜欢它的简洁性……
发现了Matt Pocock的技能仓库,重点介绍了用于AI工作流的/grill-with-docs技能,赞赏其简洁性,但指出从markdown文件中丢失了结构化数据的问题。
@nurijanian: 我用AI编写需求最喜欢的方法 1. /grill-me by @mattpocockuk https://github.com/mattpocock/skills… 2.…
讨论用AI编写需求时最喜欢的工具和方法,重点介绍了Matt Pocock的/grill-me技能以及一个基于业务分析师文献的新技能,旨在改善对齐并减少AI编码代理的冗长性。
@mattpocockuk: 人们在我的 grill-* 技能上常犯的错误:- 过于被动 - 不并行处理 - 不进行原型设计 - 进入…
Matt Pocock 分享了软件开发中 'grill' 技能的常见错误,包括过于被动、不进行原型设计以及使用过于简单的模型。