Anthropic《The AI-Native SDLC Playbook》深度解读
AI 原生 SDLC 实战手册
当代码不再是瓶颈:六阶段闭环重构软件研发全流程
WeClaw 技术分享
|
2026-09-03
大家好,欢迎来到今天这场分享。我们要聊一件正在真实发生的事情:AI 已经能飞快地写代码,但我们围绕代码的那套流程——审批、评审、交接——却还停留在上一个时代。今天的内容基于 Anthropic 官方发布的《AI 原生 SDLC 实战手册》,我会带大家走完规划、设计、构建、测试、部署、维护这六个阶段,而且每个阶段都会给你看真实的文件长什么样。你可以把今天这一场,当成一份能照着做的施工图,而不是一堆抽象概念。我们开始。
目录
- 一、为什么现在必须转型
- 二、什么是 AI 原生 SDLC:从直线到闭环
- 三、六阶段实战 Plays(含真实文件案例)
- 四、治理如何贯穿全程
- 五、关键要点与行动清单
今天的内容分五个部分。第一部分讲为什么——为什么代码不再是瓶颈之后,整套流程必须跟着变。第二部分讲是什么——AI 原生 SDLC 到底长什么样,它和传统流程最本质的区别在哪。第三部分是重头戏,我们一个阶段一个阶段地走,每个阶段都配上真实文件。第四部分讲治理——怎么在放手让 AI 干活的同时,守住合规和安全的底线。最后是要点回顾和一份你可以带走的行动清单。整场大约二十多分钟,随时可以打断我提问。
Part 01
为什么现在必须转型
代码写得飞快,流程却在拖后腿
先进入第一部分。我想请大家回想一下:过去一年,你是不是也感觉 AI 写代码的速度,快得有点不真实?但奇怪的是,团队整体的交付速度,好像并没有快那么多。问题到底出在哪?答案就藏在这一章里——代码不再是瓶颈了,但瓶颈并没有消失,它只是搬家了。接下来几页,我把这件事讲透。
代码不再是瓶颈
- AI 写代码的速度,一年前还难以想象
- 但审批门、评审、交接、政策——几乎没变
- 传统 SDLC 是为「写代码最贵」的时代设计的
- 而这个前提,今天已经失效
传统 SDLC 的每一个环节——PRD、估算仪式、安全审查——本质上都是为了在一个写代码要花几周甚至几个月的时代里,强迫大家提前对齐。可现在,写代码这件事本身已经不贵了。于是就出现了一个特别拧巴的局面:引擎换成了火箭,底盘还是马车的。智能体一晚上能产出几千行 diff,可你的评审流程还默认「每一行都是人一周前亲手写的」。这种前提与现实之间的错配,就是后面所有问题的总根源。
Metrics · 关键数字
瓶颈搬家后的三个真相
🔀
瓶颈转移
左右两侧
Plan / Review / Deploy 仍是人速
📉
控制失灵
逐行评审
跟不上智能体的 diff 产出
当构建阶段跑得比流程还快,会同时发生三件事。第一,瓶颈转移——它跑到了构建阶段的左右两侧,也就是规划、评审测试和部署,这些环节还在用人的速度运行。第二,控制失灵——过去逐行评审很合理,因为那是人一行行写的;可当大部分 diff 是智能体写的,人根本 review 不过来。第三,治理成本不降反升——因为所有的例外情况,还是要排队走那些每周甚至每月才开一次的委员会。这三件事叠加,就是我们必须转型的直接压力。
Before vs After · 对比
一个真实的瓶颈:安全评审
📉 安全团队按「人速」定编
- 评审队列越积越长
- 要么积压,要么带病上线
- 受监管组织两个都不能接受
→
📈 检查必须跟上智能体
- 安全与政策检查同步提速
- 把控制嵌进 AI 工作流
- 让护栏与产出同速
手册里举了一个特别典型的例子——安全评审。安全团队的人数,是按「工程师手写代码」的产出量来配置的。现在智能体把代码产出放大了几十倍,会发生什么?要么评审队列堆积如山,要么代码在没审清楚的情况下就上线了。对一个受监管的组织来说,这两个结果都无法接受。所以结论很清楚:安全和政策的检查,必须和智能体保持同样的速度。这已经不是要不要做的问题,而是怎么做的问题——后面几个阶段,讲的就是怎么做。
Part 02
什么是 AI 原生 SDLC
从一条直线,到一个闭环
讲完了为什么,我们来看是什么。这一章我想先给你一个核心的画面感:传统 SDLC 是一条直线,需求从左边进,代码从右边出,中间靠文档和签字一段段交接。而 AI 原生 SDLC 是一个闭环——每个阶段的产物,会自动触发下一个阶段,最后再从生产环境反馈回起点。从直线到闭环,这四个字,就是整场转型的精髓。
旧的控制目标 + 新的执行方式
- 把「旧控制目标」与「新执行方式」重新组合
- 从线性流程 → 闭环循环,AI 嵌入每个节点
- 阶段之间自动交接、自动触发
- 别名:智能体 SDLC / AI SDLC,本质相同
那 AI 原生 SDLC 到底是什么?一句话概括:它没有抛弃旧的控制目标——该管的一样要管,问责一点没少;它真正改变的是执行方式。流程从一条直线变成了一个循环,AI 被嵌入到每一个节点上。最关键的一点是自动交接:一个阶段结束,它的产物会自动触发下一个阶段,不用再靠人去开会、填工单、等签字。你可能也听过别的叫法——智能体 SDLC、AI SDLC、智能体软件开发,名字各不相同,但说的其实是同一件事。
Roadmap · 时间线
核心主线:版本化产物驱动闭环
这张图是整场分享最重要的一张,请你一定记住它。贯穿六个阶段的唯一主线,叫做「被提交的产物」。每个阶段结束时,都往版本控制里写入一件产物:规划阶段写 intent.md,设计阶段写 spec.md,构建阶段写 plan.md 和代码 diff,部署阶段是带评审发现的 PR,维护阶段是事件记录——而事件记录又会变成下一个 intent.md,闭环就此形成。这条提交链本身,就是审计轨迹:谁要了什么、AI 产出了什么、谁批准的,全都查得到。
Part 03
六阶段实战 Plays
每个阶段,都给你看真实的文件
好,现在进入今天的重头戏——六个阶段的实战。接下来我不光讲理念,每个阶段我都会给你看真实的文件长什么样:intent.md、CLAUDE.md、SKILL.md、REVIEW.md、钩子脚本、bands.yaml。这些都是你可以直接抄回去用的模板。建议边听边想:如果落到你自己负责的那个仓库上,第一份文件你会怎么写?我们开始。
Stage 1 规划 · 把想法变成 intent.md
1
💬
用自己的话描述
讲清今天做不到什么、影响谁、更好的样子
无需正式语言
2
🔍
头脑风暴到具体
Claude 像分析师一样追问范围、用户、约束
对话
3
📝
写成 intent.md
套用组织模板,覆盖五个要素
技能固化
4
✅
人来修正并提交
产品负责人审阅后提交到共享库
人类把关
规划阶段的产物是 intent.md。它的入口有很多种:可能是某个人有了个想法,可能是一张工单,也可能是生产环境的一个告警。执行起来分四步:第一步,发起人用自己的大白话把问题讲给 Claude,不需要任何正式术语。第二步,Claude 会像一个分析师那样反复追问——范围是什么、影响谁、有什么约束、成功长什么样。第三步,让 Claude 把结果写成 intent.md,套上组织的模板。第四步,也是最重要的——人来修正并提交。产品负责人必须审阅 AI 写的东西,改对了,才提交。
案例 · intent.md 长什么样
markdown
# Intent: claims status self-service
Author: J. Ortiz (claims operations). Status: draft.
## Problem
Customers phone the contact centre to ask where their claim is.
Handlers spend roughly a third of call time on status-only queries.
## Proposed outcome
Customers see claim status, next step and expected date in the portal.
## Affected users and systems
Claims handlers, portal team, claims-core API.
## Constraints
No new PII in the portal session. Existing authentication only.
## Open questions
Do third-party loss adjusters need access too?
这就是一份真实的 intent.md,案例是「理赔状态自助查询」。你注意看它的结构:最上面是作者和状态;然后是问题——客户老是打电话问理赔到哪一步了,客服三分之一的通话时间都耗在这种纯查询上;接着是期望结果——让客户在门户里自己看到状态、下一步和预计日期;再往下是受影响的系统和约束——注意这条约束很关键:门户会话里不能出现新的 PII,只能用现有的认证。最后是待解决问题。整份文件,人也能读、AI 也能读,这正是它作为「交接产物」的价值所在。
Stage 2 设计 · 从 intent 到 spec
AI 来写
- 读取被接受的 intent.md
- 套用品牌/安全/合规/UX 技能
- 产出 spec.md 并标记顾虑
人来评审
- 产品负责人评审而非撰写
- 逐个解决被标记的顾虑
- 决定是否进入构建
设计阶段,Claude 读取上一阶段被接受的 intent.md,产出一份需求和设计规格,也就是 spec.md。这里有个分工要特别强调:AI 负责写,人负责评审。写的时候,组织的那些技能——品牌规范、安全策略、合规要求、UX 标准——会作为约束自动套用到规格上。评审的时候,产品负责人重点看两件事:这份规格有没有解决最初的问题,以及那些被 AI 标记出来的顾虑——它们往往正是分析师本来会上报的点。把这些顾虑,在工程团队看到规格之前,就和政策负责人一起解决掉。
Stage 3 构建 · Plan Mode 是默认起点
1
📄
给出 spec.md
在 plan mode 里把批准的规格交给 Claude
只读
2
🗣️
访谈式迭代
让它问清:改哪些文件、什么顺序、怎么测
对话
3
⚔️
拷问这个计划
会破坏什么?哪步最险?放弃了哪些方案?
红队
4
🚀
提交 plan.md
迭代到陌生人也能照做,然后放手实现
人类批准
构建阶段,默认从 Plan Mode 开始。为什么?因为在 plan mode 下,Claude 在你批准计划之前,根本没法改任何文件——这就是一道天然的护栏。流程是:工程师把批准过的 spec.md 交给它,让它反过来访谈你,一起把计划磨清楚:要改哪些文件、按什么顺序、用什么测试来证明。然后你要拷问这个计划——这个改动会破坏什么?哪一步最危险?你还考虑过哪些方案、为什么放弃了?一直迭代到一个从没看过这段对话的工程师,光靠这份计划也能把改动做出来,这时候才提交成 plan.md,放手让它实现。
案例 · CLAUDE.md(团队的共同记忆)
markdown
# Payments service
## Commands
- Build: make build
- Test: make test (unit), make itest (integration, needs docker)
- Lint: make lint (runs in CI; fix before pushing)
## Conventions
- Java 21, Spring Boot 3. No new Lombok.
- Money is always BigDecimal, never double.
- Every endpoint needs an integration test in src/itest.
## Architecture
- api/ holds REST controllers, core/ holds domain logic,
adapters/ talks to external systems.
## Things Claude gets wrong
- Do not bump dependency versions; the platform team owns them.
- The legacy v1/ package is frozen; changes go in v2/.
CLAUDE.md 是给 AI 的「新员工入职手册」。看这个支付服务的例子:最上面是命令——怎么构建、怎么测、怎么 lint;中间是约定——用 Java 21 和 Spring Boot 3,钱一律用 BigDecimal 绝不用 double,每个接口都要有集成测试;然后是架构——api 放控制器、core 放领域逻辑。但最精华的是最后一段,叫「Claude 老犯的错误」——别自己升级依赖版本,那是平台团队的活儿;v1 包已经冻结,改动要放到 v2。这里有条黄金规则:同一个错误 Claude 犯了两次,就把修正写进 CLAUDE.md,而且要控制在一页以内。
构建阶段的三种控制机制
📚
Skills 技能
把制度知识变成可操作指令:显式、版本化、集中更新。建议性控制——让 AI 大概率遵守。
🪝
Hooks 钩子
确定性护栏:阻断受保护路径、跑格式化、防凭据进 diff。让违规近乎不可能。
🔀
并行 + 子代理
一人驱动多个 worktree 会话;verifier 等子代理在会话内做受限的专项验证。
构建阶段有三种控制机制,一定要分清它们的定位。第一种是 Skills 技能——把组织的制度知识变成 AI 能执行的指令,它是建议性的,让 AI 大概率会遵守。第二种是 Hooks 钩子——它是确定性的护栏,比如阻断对冻结包的编辑、每次改完自动跑格式化、防止密钥混进 diff。手册里有句话说得特别好:技能让违规变得罕见,钩子让违规近乎不可能。所以那种「必须无条件成立」的策略,光靠技能不够,背后一定要有钩子兜底。第三种是并行会话和子代理——一个工程师可以同时开好几个 worktree 会话,还能把重复的活儿交给子代理。
案例 · SKILL.md(安全 API 审查技能)
markdown
---
name: secure-api-review
description: Apply the API security standard. Use whenever creating or
modifying an external-facing endpoint, reviewing API code, or
generating an OpenAPI spec.
---
# Secure API review
When you create or change an API endpoint:
1. Authentication: every endpoint requires the gateway JWT;
no anonymous routes outside /health.
2. Input validation: validate request bodies against the OpenAPI
schema and reject unknown fields.
3. Audit: every state-changing endpoint emits an audit event.
4. Data classification: fields tagged pii must never appear in logs.
Run scripts/check-endpoints.sh and include its output in your summary.
这是一个「安全 API 审查」技能的真实文件。注意它的结构:最上面是 frontmatter,也就是两条横线之间的部分——name 是技能名,description 写清楚什么时候该触发:只要你在创建或修改对外接口、审查 API 代码、或者生成 OpenAPI 规格,它就该加载。下面的正文,是具体要做什么:每个接口都要网关 JWT 认证、除了 health 不许有匿名路由;请求体要按 schema 校验、拒绝未知字段;每个改状态的接口都要发审计事件;标记为 pii 的字段绝不能出现在日志里。最后还要求跑一个检查脚本。这就是把「安全策略」变成了 AI 每次都会读的操作手册。
Stage 4 测试 · 给 AI 一个反馈回路
- 始终给 Claude 自我验证的方式:测试 / 构建 / 截图 diff
- 目标要可量化:全绿、截图与原型一致、返回 200
- 修 bug 先写失败测试,且不许 AI 改测试
- 反馈回路 ≠ verifier 子代理(前者贯穿全程)
- 持续评估:CI 里跑 20–50 个真实任务,配置一改就回归
测试阶段的核心,是给 AI 一个自我验证的反馈回路。原则很简单:永远让 Claude 有办法检查自己的活儿——可以是测试、构建,或者截图对比。而且目标必须可量化,比如「测试全部通过」「截图和原型一致」「接口返回 200 加新字段」,这样它不用问你就知道自己做对没有。修 bug 有个铁律:先写一个会失败的测试,确认它因为预期的原因失败,提交;然后才让 AI 去改代码让它通过——而且不许它动测试文件。还有一个更高层的东西叫持续评估,相当于 AI 时代的 QA 门禁。
案例 · verifier.md(验证子代理)
markdown
---
name: verifier
description: Runs the app and checks the change works before the session
reports done
tools: Bash, Read
---
Start the app with make run. Exercise the changed behavior and the two
nearest neighboring flows. Report what you ran, what you saw, and any
behavior that does not match plan.md. Do not fix anything; report only.
这个 verifier 子代理,特别能说明「反馈回路」和「独立验证」的区别。它是一个定义在 markdown 里的受限助手:frontmatter 里限定它只能用 Bash 和 Read 两个工具。它干什么呢?在主会话认为活儿干完之后,用一个全新的上下文窗口把应用跑起来,实际去操作改动过的行为,还有相邻的两个流程,然后报告:我跑了什么、看到了什么、有没有和 plan.md 对不上的地方。最关键的一句在最后:Do not fix anything, report only——它只报告,绝不自己动手修。为什么?因为用一个没被「写代码时的假设」污染过的独立视角来验收,结论才可信。
Stage 5 部署 · PR 审查回路
Claude 给评审
- 按 REVIEW.md 审传入的 PR
- 三类 pass:Bug / 安全 / 合规
- 发现只提示,不自动批准或阻断
Claude 受评审
- 评论里 @claude 即触发修复
- 自动处理并推送修改
- PR 线程记录请求与改动
部署阶段第一件事,是把 AI 放进 PR 审查回路。这里有个很妙的对称性:Claude 既给别人评审,也接受别人的评审。给评审时,它按照一份叫 REVIEW.md 的策略文件,对传进来的 PR 跑三类检查——Bug、安全、合规。但要注意,这些发现本身不会批准或阻断 PR,批准永远是人通过分支保护来做的。受评审时,只要有人在评论里 @claude,它就会去处理这条评论、把修复推上来,整个来回都记录在 PR 线程里。这样一来,工程师就能把精力集中在判断意图和风险上,而不是逐行抠语法。
案例 · REVIEW.md(审查策略)
markdown
# Review instructions
## Passes
Run three passes and tag each finding with its pass:
- Bugs: logic errors, broken edge cases, subtle regressions
- Security: injection risks, authentication gaps, PII in logs
- Compliance: the change matches spec.md, plan.md and design principles
## What Important means here
Reserve Important for findings that would break behavior, leak data
or breach a policy. Style and naming are nits.
## Cap the nits
Report at most five nits per review; summarize the rest as a count.
## Do not report
Generated files under src/gen/ and anything CI already enforces.
这就是技术负责人写在仓库根目录的 REVIEW.md,它定义了三件事。第一是跑哪几类 pass:Bug——逻辑错误、边界情况、隐蔽回归;安全——注入风险、认证漏洞、日志里的 PII;合规——改动是否符合 spec.md、plan.md 和设计原则,而且每条发现都要打上类别标签。第二是定义什么叫「重要」:只有会破坏行为、泄露数据或违反政策的才算 Important,风格和命名这些都算吹毛求疵的 nit。第三是给 nit 设上限:每次最多报五条,剩下的汇总成一个数字;生成的文件和 CI 已经强制的东西,根本不要报。这份文件,本质上是在教 AI 怎么做一个「不招人烦」的评审者。
案例 · 钩子作为审批门
bash
# .claude/hooks/production-gate.sh (PreToolUse -> Bash)
#!/bin/bash
# Production deploys require a named release authorization
cmd=$(jq -r '.tool_input.command' < /dev/stdin)
if [[ "$cmd" == *"deploy"* && "$cmd" == *"production"* ]]; then
if [ -z "$RELEASE_APPROVAL" ]; then
echo "Production deploys need a release authorization." >&2
exit 2 # exit 2 blocks the action; the message goes to Claude
fi
fi
exit 0
构建阶段的钩子是「护栏」,无声地允许或阻断;而部署阶段的钩子还能「发问」——暂停动作,直到某个特定的人批准,这就是发布门禁。看这个脚本:它拦截所有 Bash 命令,一旦发现命令里同时包含 deploy 和 production,就检查有没有一个叫 RELEASE_APPROVAL 的授权。如果没有,它就 exit 2——这个退出码会阻断动作,同时把「生产部署需要发布授权」这句话回传给 Claude。这就是那条铁律的技术实现:智能体可以一路行动到生产门禁前,但绝不可能自己跨过这道门。而且这种不可协商的钩子,要放在工程师个人关不掉的托管设置里。
Stage 6 维护 · 让闭环自主运行
1
📡
确定性脚本监控
选一个有稳定基线的指标,脚本检测异常
无模型
2
🎚️
分层触发 Claude
按 bands.yaml 的 σ 层级决定介入深度
配置驱动
3
🔁
写成 intent.md
把诊断按 Stage 1 格式回写,进入管线
闭环
4
🧑🚒
人来分诊
值守工程师:立即修 / 排期 / 驳回
人类把关
前面五个阶段,每个都还需要人来点火。到了维护阶段,我们要让闭环自主转起来。怎么转?第一步,一个纯确定性的脚本盯着生产环境的某个指标——比如 CI 测试失败率、部署后的 5xx 率——这一步完全不涉及模型,就是算均值和标准差。第二步,一旦控制带被突破,脚本按分层规则去触发 Claude。第三步,Claude 把诊断写成一份 intent.md,于是又回到了 Stage 1,像其他任何需求一样流进管线。第四步,值守工程师来分诊:立即修、排期、还是驳回。驳回也很有价值——它能帮你调优阈值、减少噪音。
案例 · bands.yaml(分层响应)
yaml
metric: ci_test_failure_rate
baseline: rolling_30d
rules: western_electric
tiers:
1sigma: { action: log }
2sigma: { action: diagnose,
tools: "Read,Grep,Bash(gh run view *)" }
3sigma: { action: propose,
routes: [pull_request, runbook:rollback-deploy] }
这份 bands.yaml 是维护阶段闭环的「大脑」,它定义了分层响应。监控指标是 CI 测试失败率,基线是滚动三十天,规则用的是 Western Electric——这套规则的好处是既能抓到突然的尖峰,也能抓到缓慢的漂移。然后看三个层级:1 个标准差,动作只是 log,记一笔,不打扰任何人;2 个标准差,调用 Claude,但只给它 Read、Grep 这些只读工具去诊断,不许动手;3 个标准差,才允许它提案——但注意,也只是开一个 PR 进评审门,或者触发一个事先批准过的 runbook,比如回滚。你看,即便是最高层级,AI 也从来没有直接改生产的权力。
Chart · 数据图
人工注意力的重新分配(示意)
这张图是示意性的,帮你建立一个直觉,不是精确数据。在传统 SDLC 里,人的注意力在六个阶段是比较均匀地铺开的,尤其构建阶段最重——因为代码是人一行行写的。而在 AI 原生 SDLC 里,构建阶段的人工介入大幅下降,因为代码主要是 AI 写的;但注意,规划、部署这些「门」的环节,人的介入并没有消失,反而更聚焦了。手册里那句话说得很到位:人的注意力集中在门上,去评审 AI 标记出来的东西,而不是每个阶段都从零开始。所以这不是「人退出」,而是「人挪到了更该在的位置」。
治理不是补丁,而是内建
🧑⚖️
人类负责判断
每个需要判断的决策,责任始终在人;注意力集中在「门」上。
🔗
产物链即审计
提交链记录:谁要的、AI 产出的、谁批准的,全程可追溯。
🛡️
双层控制
技能(建议性)+ 钩子(确定性),从「罕见违规」到「近乎不可能」。
⚖️
职责分离
写代码的智能体,永远无法批准自己的产出;批准来自人 + 分支保护。
讲到这里你可能会问:这么放权给 AI,治理怎么办?这一页就是答案。治理在 AI 原生 SDLC 里不是事后打的补丁,而是内建在每个阶段里的。四个支柱:第一,人类始终为判断负责,注意力集中在门上。第二,产物链就是审计轨迹,谁要的、AI 产出的、谁批的,全在提交历史里。第三,双层控制——技能是建议性的,钩子是确定性的,两者叠加,从「让违规罕见」到「让违规近乎不可能」。第四,也是最硬核的一条,职责分离:写代码的那个智能体,永远没有权力批准它自己写的东西。
"
智能体可以一路行动到生产门禁前,但绝不可能自己跨过这道门。
— AI 原生 SDLC 的核心治理原则
如果今天你只带走一句话,我希望是这一句:智能体可以一路行动到生产门禁前,但绝不可能自己跨过这道门。这句话把「效率」和「安全」这对看似矛盾的东西,用一个非常优雅的工程设计统一了起来——你尽管放手让 AI 去跑、去试、去改,但在每一个真正关键的门口,都有一道它无法独自打开的锁。这,就是 AI 原生 SDLC 带给我们的底层安全感,也是它敢把构建阶段大幅自动化的前提。
关键要点与行动清单
- 代码不再是瓶颈 → SDLC 必须同等量级转型
- 从直线到闭环,版本化产物驱动自动交接
- 六阶段各有明确 play 与真实文件模板
- 治理内建:人类判断 + 产物审计 + 双层控制 + 职责分离
- 从今天起:先给一个仓库写 CLAUDE.md,再挑一条策略写成 Skill
我们来收个尾。今天讲了这么多,落到行动上其实可以很简单。理念层面记住三点:代码不再是瓶颈,所以流程必须转型;从直线到闭环,靠版本化产物驱动交接;治理是内建的,不是补丁。那具体从哪开始?我给你一个最小起步:今天回去,先给你负责的一个仓库写一份 CLAUDE.md,把命令、约定和「AI 老犯的错误」记下来;然后挑一条你们执行得最不一致的策略,把它写成一个 Skill。就从这两件小事开始,你会发现闭环的轮子,已经悄悄转起来了。
我的分享就到这里,谢谢大家。这份手册的原文来自 Anthropic 官方的《The AI-Native SDLC Playbook》,我做的是解读和案例补充,如果你想深入,强烈建议去读原文。接下来是问答时间,欢迎大家提问。最后再送大家一句话,也是我今天的收尾——旧流程的终点,正是闭环的起点。愿我们都能顺利地把这条闭环,在自己的团队里转起来。谢谢!