一、问题引入:AI Agent 最怕的不是能力不够,而是目标太松
这个视频讨论的是一个很实际的问题:当你让 AI 编程 Agent “加一个认证功能”“做一个分析页面”“接一个搜索能力”时,它通常不是完全做不出来,而是会主动填补大量你没有说清楚的细节。它会选择库、改 API、决定存储方式、甚至顺手补一些你没有要求的功能。单次看似聪明,累计起来就是架构漂移。
Owain Lewis 给出的解法是规格驱动开发。这里的 spec 不是为了写一份漂亮文档,而是一份给 Agent 执行的合同:明确要做什么、为什么做、哪些东西不要做、任务怎么拆、每个任务如何验收。重点不是多写文档,而是让 Agent 在执行前先被约束。
视频的价值在于它没有把 spec-driven development 包装成新理论,而是把它还原成工程团队一直在做的事情:先收敛需求,再做设计,再拆任务,再审查,再提交。区别只是执行对象从人类工程师变成了 Claude Code、Cursor 或其他代码 Agent。
二、核心概念解释:PRD、技术设计和 AI Spec 不是同一个东西
PRD 面向人,AI Spec 面向执行
视频中先把几个容易混用的词拆开。PRD 通常回答“为什么做、为谁做、业务价值是什么”,它是给产品经理、业务方和工程团队对齐范围用的。技术设计文档回答“系统怎么建、架构边界是什么、扩展性和安全性如何处理”,主要服务工程决策。
AI Spec 的定位更窄:它是给 Agent 执行的文档。它可以包含一点 why 和 context,因为 Agent 遇到空白时仍需要判断依据;但它不是让团队辩论方向的地方,而是把已经收敛的意图变成可执行步骤。
Spec 的核心组成
一个有效的 AI Spec 至少包含四块:目标、约束、范围外事项、任务拆解。目标让 Agent 知道最终要交付什么;约束告诉它不能随便新增依赖、不能换掉既有模式、不能用不符合团队标准的方案;范围外事项尤其重要,因为 Agent 很容易“热心过度”;任务拆解则把大目标拆成可以 review、test、commit 的增量。
AI Spec 的关键不是让 Agent 更自由,而是减少它需要猜的地方。
三、关键论点与实操步骤:从一句模糊需求到可审查任务
1. 不要直接说“加认证”,先写可执行规格
视频用认证功能举例。模糊 prompt 可能只是“给应用加认证”,但真正实现时有大量隐藏决策:是 JWT 还是 session?是否支持密码重置?是否接 OAuth?access token 和 refresh token 的有效期是多少?用户数据存在哪里?是否允许新增依赖?如果这些都留给 Agent,它会根据训练经验拼出一个方案,而不一定符合项目实际。
规格化后的版本会明确:使用 JWT;access token 为 1 小时,refresh token 为 7 天;不做密码重置和 OAuth;用户数据走 Postgres + Prisma;不要新增依赖;token 不入库;每个接口需要怎样的错误处理和测试。这种写法把“想象空间”变成“执行边界”。
2. 把大功能拆成可以单独验收的任务
规格不是一次性扔给 Agent 让它生成 10,000 行代码。视频反复强调要把工作拆开:先加 user model,再做注册接口,再做登录接口,再做刷新 token,再补端到端测试。每个任务都要有 touched files、实现要求和 verification。任务完成后先 review,再 commit,然后才进入下一步。
这个节奏的实际收益很直接:每一步的 diff 小,review 成本低,错误更早暴露。如果任务 1 的数据模型就错了,你可以立刻修 spec,而不是等整个功能生成完之后在一堆跨文件变更里反推问题来源。
3. Spec 不是瀑布文档,可以边做边修
Lewis 特别提醒,规格不是锁死一切的瀑布设计。你可以先写到足够清晰,让 Agent 开始做第一步;review 后发现问题,再回到 spec 修改约束或任务。关键是把修改写回持久文件,让下一次 Agent session 仍能继承最新事实,而不是依赖聊天上下文。
4. 真实演示:先让 Agent 生成 spec,再人工改掉不可靠选择
演示项目叫 YouTube IQ,作者想新增一个“粘贴 YouTube URL 后分析视频”的功能:拉取字幕,分析开头、节奏、关键点,并给出改进建议。他先用一个 slash command 让 Agent 生成 spec,Agent 把功能拆成转写服务、分析 prompt、后端路由、UI 组件和侧栏入口等任务。
随后作者审阅 spec,发现 Agent 选择了 YouTube transcript package,但他过去遇到过限流和可靠性问题,于是把约束改成使用 SuperData API 拉字幕。这就是 spec-driven workflow 的重点:Agent 可以先给出草案,但人类工程师必须在执行前把关键决策收回来。
5. 执行时只让 Agent 做 T1,并要求验证
作者打开新的 Claude Code session,让 Agent 读取 spec 并只实现 T1。完成后 Agent 按要求跑了 build 或测试,作者再 review 生成代码。他注意到视频 ID 提取逻辑看起来可疑,说明即使通过验证,也还要用工程视角检查边界条件。随后他让 Claude 实际调用新服务,确认能从 YouTube URL 提取 ID、拉到 18 个 transcript segment,并转成 AI 可处理的纯文本。
四、对比表格:不同工作流该怎么选
| 工作方式 | 适用场景 | 优点 | 主要风险 | 建议 |
|---|---|---|---|---|
| 直接 prompt 编码 | 一次性脚本、小 UI 微调、低风险修复 | 启动最快,交互成本低 | Agent 会猜架构、猜依赖、猜范围,容易越界 | 仅用于可一眼 review 的小改动 |
| AI 生成完整大功能 | 原型探索、throwaway demo | 短时间看到端到端效果 | diff 过大,review 困难,后期回滚成本高 | 不要直接进入生产代码库 |
| 轻量 AI Spec | 认证、搜索、计费、数据管道、复杂 UI 流程 | 明确目标、约束和验收,便于多 session 延续 | 需要人类先审阅关键技术选择 | 视频推荐的默认方式 |
| OpenSpec / Spec Kit 等框架 | 团队已经接受文件化流程,或需要严格追踪变更 | 结构完整,有 CLI 和模板辅助 | 可能过重,把 PRD、设计和执行混在一堆 Markdown 中 | 先用轻量 spec,流程复杂后再引入框架 |
五、视频中的核心判断
规格驱动并不是发明一种全新的工程方法;它只是把软件团队原本的需求、设计、拆任务和 review 流程,重新套到 AI Agent 身上。
这句话可以作为整集视频的中心。很多人讨论 AI 编程时,把 Agent 当成一个可以一次性接住所有上下文的超人工程师;作者的实际建议相反:把 Agent 当作一个执行力很强、但需要明确任务边界的工程成员。你不给边界,它就会热心补全;你给了边界,它才更像团队流程中的一环。
六、时间戳目录
七、相关推荐
如果你想把这套方法接到实际工具里,可以继续看这些课程:Claude Code 的计划模式、CLAUDE.md 项目记忆、MCP 工具接入,以及多 Agent 并行开发,都需要类似的规格约束才能稳定工作。
返回课程列表