Anthropic · The AI-Native SDLC Playbook
这份 playbook 讲的是:当写代码这一步快到几乎不要钱,整条流水线上真正卡住的是哪里,以及该怎么重新排。
“Code is no longer the bottleneck — the human-speed steps around it are.” 代码不再是瓶颈了,卡住的是它周围那些按人的速度走的环节。
阶段名跟教科书一样:Plan、Design、Build、Test、Deploy、Maintain。变的是每个阶段结束时手里剩下什么——不是一份会议纪要,是一个进了版本库的文件。
| 阶段 | 课本里的样子 | playbook 的做法 | 留下的产物 |
|---|---|---|---|
| Plan | 需求评审会、干系人访谈、签字 | 直接跟 Claude 把痛点谈成机器可读的意图,写明要什么、为什么、有哪些约束 | intent.md |
| Design | 需求分析和概要设计分两拨人、分两个阶段 | 合并成一次会话;组织的策略以 skills 的形式作为约束参与进来,有疑虑的地方标出来 | spec.md |
| Build | 看着设计文档开写,实现计划在脑子里 | 先在 plan mode 里产出书面计划,人审过再动手改文件 | plan.md CLAUDE.md |
| Test | 信号来得晚:CI、QA、线上 | 把校验收成一条命令,让会话自己跑到过为止,再给人看 | 测试 + 通过的构建 |
| Deploy | 人逐行看完,治理靠自觉 | 分层的机器评审按严重度排序,人的评审留给风险高的部分;治理在动作发生时被强制执行 | REVIEW.md 已合并的 PR |
| Maintain | 出事了等人响应 | 控制带被击穿时自动触发诊断,结论写成新的 intent.md 回到第一步 | bands.yaml 新的 intent.md |
这条产物链本身就是审计链:intent.md → spec.md → plan.md → PR → 事件记录,每一环都有 commit 作者和时间戳。原文的说法是「谁提的、agent 产出了什么、谁批准的」,全在 git 里。
假设线上反馈:订单导出 CSV,数据量大的时候超时。下面是它在这套流程里怎么走完的。
intent.md不是「优化一下导出」,而是把谁在什么场景下卡住、为什么要现在做、不能碰什么,写成一份进库的文件。
# intent.md(示意,非原文内容) 问题: 商家导出 30 天以上订单时网关 60s 超时 来源: 客服工单 #4412 / 近 30 天 217 次 约束: 不改现有导出接口的 URL 契约 不做: 不引入新的队列中间件
spec.md课本里分开的两步在这里是一次会话。公司既有的策略以 skill 的形式在场——比如「大文件一律走对象存储签名 URL」——设计不需要你从头背一遍规范。拿不准的地方由 Claude 标出来给人看。
plan.mdplan mode 是只读的:它产出「要改哪些文件、按什么顺序、测什么」,你审过之后才开始动手。这一步是把设计评审强行插在写代码之前。
关键不在于让 Claude 写测试,而在于把校验收成一条能跑的命令,让它拿到反馈自己迭代,直到检查全绿再交到人手里。做 UI 的话,把浏览器和截图能力给它——原文说通常两三轮收敛。
REVIEW.mdREVIEW.md 定义要过几遍、每遍看什么:bug、安全、合规,findings 按严重度排。人的评审不是取消,是被留给真正需要判断的那部分代码。原文还建议给 nit 设上限——一次评审最多五条。
发布到生产由 hook 挡住,直到有人给出发布授权。原文的界线写得很清楚:agent 可以一路走到生产这道门前,但过不去这道门。
bands.yaml上线后由控制带盯着。指标偏离到不同程度触发不同动作,诊断结论被写成一份新的 intent.md 进入待办队列——这条流水线是个环,不是一条线。
这是这份 playbook 里最值得你现在就记住的一个区分。它决定了当你想「让 AI 别再犯某个错」时,该往哪儿写。
.claude/skills/)
把机构知识和策略写成规则,在代码被写出来的过程中起作用。它影响产出,但不构成拦截——写得再好,也是「让它更可能做对」。
.claude/settings.json)
在动作发生之前放行、阻断,或者要求人来批准。它不看模型怎么想,它就是一道闸门。「不许直连生产库」这种事写在这里,不写在 skill 里。
CLAUDE.md
约定、命令、架构、常犯的错误——团队里那些「老员工知道、文档里没有」的东西。原文的建议是控制在一页以内。
原文把指标分成两类,并且要求成对看。只看前者,你得到的是一支跑得飞快、返工也飞快的团队。
| 类别 | 原文列举的例子 |
|---|---|
| 先行指标 速度 | 从想法到 intent.md 提交的时间(预期从数周降到数小时);intent.md 与 spec.md 两次提交的间隔;首次实现就被合并的 PR 占比;首次评审到达的时间(预期降到分钟级) |
| 滞后指标 质量 | 每个改动的返工轮次;CI 测试失败率的 30 天滚动基线;上线后 5xx 比例;同类事件的重复发生;每人每周合并的改动数——要和返工率一起看 |
一个采纳顺序上的坑。原文特意说明:plays 是按阶段列的,但箭头给的是采纳顺序,两者不是一回事。比如 CI/CD 集成要求先有 PR 评审回路和 hook 闸门;持续 eval 要求先有 CLAUDE.md 和反馈回路。照阶段顺序从 Plan 一路铺到 Maintain,会在中途踩空。
如果「能把代码写出来」不再稀缺,一个刚毕业的人最容易慌的就是这个问题。这份 playbook 其实已经回答了:它把大量篇幅花在意图、规格、评审策略、控制带、审计链上——这些全是判断,不是打字。
CLAUDE.md 和 skills,才会作用在每一次生成上。原文最后一句是 “Humans remain accountable for every decision that requires judgment.”——需要判断的决定,责任仍然在人身上。这句话不是安慰,是岗位说明。