夜雨聆风学习资料网

ARTICLE · 988594

AI原生·软件开发生命周期#anthropic-the-ai-native-sdlc-playbook

AI原生·软件开发生命周期#anthropic-the-ai-native-sdlc-playbook

Shadow:看完Anthropic关于AI原生软件开发的指南,非常有同感。

Mixlab一直强调的“Vibe Coding”和“从工匠到指挥官”的理念,与AI原生软件开发周期的内核高度一致。

Mixlab这些年在企业级软件开发上积累了各种复杂度的项目经验,有化工产业链的Saas、线上线下融合的商业社交Saas、苹果眼镜原生应用研发等。

我们把在企业级AI原生开发经验,提炼成核心方法,在AI训练营上,提供能力重塑和项目制学习。

能力重塑:训练营培养的不再是单纯的“代码编写者”,而是能定义问题、把控边界、整合资源的“超级节点”(产品经理+设计师+工程师+运营者)。这正是在AI原生SDLC中,人在循环之上(Above the Loop) 进行“发起、指导和治理”的新角色。

项目制学习:训练营强调在两天内从0到1完成项目上线,这与AI原生SDLC追求“小时级”快速迭代的闭环体验是一致的。

以下是 Anthropic 最近发布的指南的提炼总结:


一、什么是AI原生SDLC?

AI原生SDLC(AI-Native Software Development Lifecycle) 是将AI代理(如Claude)深度嵌入软件开发生命周期每个阶段的开发范式。它不是简单地在传统流程中“添加AI工具”,而是围绕AI的能力重新构想整个流程

核心理念

“代码不再是瓶颈” —— 当AI能快速生成代码时,真正的限制变成了人围绕代码所做的决策、审查和协调。因此,流程必须从线性变为循环,人的角色从流程中的执行者变为流程之上的发起者、指导者和治理者

与传统SDLC的本质区别

流程形态方面

  • 传统方式:线性流程,阶段之间靠人工交接推进,像一条缓慢的传送带
  • AI原生方式:循环闭环,每个阶段产出的工件自动触发下一阶段,形成高速迭代的环路

速度方面

  • 传统方式:迭代以“周”甚至“季度”为单位
  • AI原生方式:迭代以“小时”为单位,变更可以快速流转

瓶颈方面

  • 传统方式:编码和人工审查是主要瓶颈
  • AI原生方式:人的判断成为核心瓶颈——意图设定、关键决策、治理

知识传递方面

  • 传统方式:依赖文档、会议、口头传授
  • AI原生方式:依赖版本控制的机器可读文件(CLAUDE.md、技能)

安全控制方面

  • 传统方式:阶段门禁、周期性审查,滞后且效率低
  • AI原生方式:持续且内嵌于代理行为中(钩子、审查代理、评估)

工程师角色方面

  • 传统方式:主要编写和审查代码
  • AI原生方式:担任指挥者和协调者,管理多个并行代理

审计方面

  • 传统方式:事后追溯,依赖工单记录
  • AI原生方式:内置细粒度工件链,每个决策可归因、可审计

二、AI原生SDLC实施指南

以下按优先级分为入门三步进阶优化,您可以根据组织成熟度选择性实施。


🚀 入门三步(最小可行转型)

第一步:建立代理的“入职指南”—— CLAUDE.md

目标:让AI代理理解您的代码库规范、架构和常见陷阱。

具体操作

  • 在代码仓库根目录运行 /init 命令,让Claude生成初始版本
  • 精简内容,保留新员工入职第一天所需的信息:构建/测试/检查命令、重要规范、架构概览、Claude常犯错误
  • 将文件提交到Git,团队像审查代码一样审查更改
  • 经验法则
    :当Claude犯了两次同样的错误,就将修正记录到 CLAUDE.md 中

示例结构

# 支付服务## 命令- 构建: make build- 测试: make test (单元测试), make itest (集成测试)- 代码检查: make lint## 规范- Java 21, Spring Boot 3- 金额统一用 BigDecimal,绝不用 double- 每个端点都需要集成测试## 架构- api/ 存放REST控制器, core/ 存放领域逻辑, adapters/ 对接外部系统## Claude常犯错误- 不要自行升级依赖版本,由平台团队统一管理- legacy v1/ 包已冻结,变更须在 v2/ 中进行

治理考量

  • CLAUDE.md
     采用版本控制,代理执行的指令可审查和审计
  • 团队规范通过该文件应用,变更记录在Git历史中
  • 代码所有者在PR审查中批准这些变更

第二步:让AI“计划后执行”—— 计划模式(Plan Mode)

目标:在AI写代码之前先产出书面计划,让人在编码前纠正方向。

具体操作

  • 工程师以计划模式启动Claude Code会话
  • 将 spec.md 交给Claude,要求它列出:要更改的文件、工作顺序、用于验证的测试
  • 通过以下问题审视计划:
    • 这个变更可能破坏什么?
    • 哪一步风险最高?
    • Claude放弃了哪些替代方案?
  • 迭代直到满意,将计划提交为 plan.md
  • 批准计划,让Claude执行
  • 当实际执行与计划出现偏差时,在同一个提交中更新 plan.md
  • 可考虑使用钩子强制两者保持同步

治理考量

  • 设计评审发生在代码生成之前,此时更改方案只需编辑文档
  • 计划模式强制执行流程——在工程师接受计划之前,Claude无法编辑文件
  • 计划及其修订版本以及接受者都被记录在案
  • 常规变更由工程师批准,高风险变更提交给技术主管或架构师

关键价值

传统审查看到的是最终diff,此时返工成本极高;计划模式让审查发生在编码之前,此时纠正只需编辑文档,成本极低。


第三步:给Claude反馈回路—— 让它自己验证工作

目标:让AI在工程师看到结果之前自行运行测试、构建并迭代至通过。

具体操作

  • 将测试和构建封装为单条命令(如 make test),失败时返回非零值
  • 在 CLAUDE.md 中明确写出验证命令及其正常输出示例
  • 对于Bug修复:
    • 先让Claude编写能复现该Bug的测试用例
    • 提交该测试用例
    • 再让Claude在不修改测试的情况下修复代码
  • 设置钩子阻止代理在修复任务中编辑测试文件,确保测试的完整性
  • 对于UI设计,给Claude提供浏览器或截图工具,让它查看原型、截图、对比、迭代——两到三轮迭代是正常的

治理考量

  • 强制执行“在报告任务完成之前进行验证”
  • 通过钩子实现“修复期间阻止代理编辑测试文件”
  • 证据来自工具链:测试输出、构建日志、截图差异
  • 记录在会话记录(导出到可观测性堆栈)和PR检查运行中
  • 审查者可以专注于意图和风险,因为技术证据已经附上

⚙️ 进阶优化(按需采用)

1. 治理编码化:技能(Skills)与钩子(Hooks)

技能(Skills)

  • 定义
    :编码化的机构知识,AI在相关任务中自动读取并遵循
  • 适用场景
    :安全标准、API设计规范、品牌规则等需要一致应用的知识
  • 编写方式
    :创建包含 SKILL.md 文件的文件夹,开头说明触发条件,正文说明执行的操作
  • 分发方式
    :放入代码库的 .claude/skills/<name>/ 随代码发布,或通过插件在整个组织内分发
  • 更新机制
    :当政策发生变更时,更改技能条款,由政策持有人签署确认,工程师在下次会话中自动更新到新版本
  • 治理考量
    :技能调用被记录在会话跟踪中,政策所有者像审查代码一样审查技能变更

技能示例(安全API审查):

---name: secure-api-reviewdescription: 创建或修改对外端点时应用API安全标准---# 安全API审查创建或更改API端点时:1. 认证:每个端点都需要网关JWT,/health除外2. 输入验证:对照OpenAPI schema验证请求体,拒绝未知字段3. 审计:每个状态变更端点都发出审计事件(操作者、动作、实体、时间戳)4. 数据分类:schema中标记为pii的字段绝不能出现在日志或错误消息中

钩子(Hooks)

  • 定义
    :确定性执行的控制点,在关键操作前运行脚本,可允许、询问或阻止
  • 适用场景
    :必须无一例外执行的策略
  • 常见用途
    • 阻止对受保护路径的编辑(如生成的类或冻结的包)
    • 文件编辑后运行格式化程序和代码检查程序
    • 将凭据从差异分析中排除
    • 在生产部署前强制人工授权
  • 放置位置
    • 团队钩子放在 .claude/settings.json 中(Git管理)
    • 不可协商的钩子放在平台或IT管理员拥有的管理设置中
  • 治理考量
    :钩子是审批门,每次都对所有人强制执行,允许和阻止的决定都被记录并带有时间戳

钩子示例(生产部署门禁):

#!/bin/bash# 生产部署需要指定发布授权cmd=$(jq -r '.tool_input.command' < /dev/stdin)if [[ "$cmd" == *"deploy"* && "$cmd" == *"production"* ]]; then   if [ -z "$RELEASE_APPROVAL" ]; then     echo "生产部署需要发布授权。" >&2     exit 2  # 阻止该操作   fifiexit 0

技能与钩子的关系

  • 技能是一种建议性控制,使Claude更有可能应用策略,但无强制机制
  • 钩子是技能背后的确定性层,使违规几乎不可能发生
  • 技能使违规变得罕见,钩子使违规无法实现

2. 持续评估(Evals):防止代理能力退化

目标:像回归测试代码一样,回归测试代理的配置。

具体操作

  • 收集20到50个真实任务及其预期/接受的结果
  • 将每个任务写成一个评估:提示 + 定义可接受性的检查(测试通过、lint干净、行为未改变、遵循策略)
  • 在CI中按计划以非交互方式运行评估套件
  • 在 CLAUDE.md、技能或钩子发生任何更改时触发评估运行(配置控制代理,应像代码一样进行回归测试)
  • 根据结果调整评估设置——任何导致通过率下降的技能变更都在合并前审核
  • 每个生产事故都转化为一个评估用例,由负责团队编写,作为回归测试永久保留

治理考量

  • 评估为质量保证提供了与代理输出保持同步的门槛
  • 通过率阈值通过合并检查强制执行
  • 运行过程被记录以便进行长期结果比较
  • 由负责配置变更的团队进行审批

3. AI驱动的PR审查与并行会话

AI PR审查

  • Claude根据组织政策审查收到的PR,也能处理自身PR上的审查评论
  • 所有PR经过一套相同的审核流程,结果按严重程度排序
  • 技术负责人编写代码审查策略,存放在 REVIEW.md 中
  • 审查策略涵盖:缺陷和逻辑错误、安全性和漏洞、是否符合规范和计划
  • 多轮审查(Bug pass、Security pass、Compliance pass)并行进行
  • 审查结果反馈到 CLAUDE.md——当审查第二次发现错误时,修正作为审查的一部分提交
  • 技术主管每月根据审查结果调整设置,限制规则数量

并行会话

  • 工程师同时运行多个Claude会话,每个在不同工作树中执行独立任务
  • 并行会话之间互不了解,唯一共同点是共同管理它们的工程师
  • 两到三个会话是合理的起点,上限取决于一个人能有效审查的数量
  • 重复性任务转换为子代理(在 .claude/agents/ 中定义),拥有各自的上下文和工具限制

治理考量

  • 会话越多,输出越多,控制必须来自代码仓库中的配置
  • 钩子和权限设置适用于所有会话
  • 会话操作被记录并归因于运行该会话的工程师

4. 闭环监控:让监控触发新的开发循环

目标:生产异常自动唤醒AI诊断并生成新 intent.md,重新进入流程。

具体操作

  • 选择稳定基线指标(如CI测试失败率、部署后5xx错误率)
  • 编写确定性检测脚本,使用滚动窗口计算均值和标准差
  • 定义响应层级:
    • 1σ层级:仅记录日志
    • 2σ层级:以只读方式调用Claude进行诊断
    • 3σ层级:Claude可执行操作(但只能通过提交PR或触发预批准运行手册)
  • 代理按 intent.md 格式编写诊断报告:异常及证据、拟议解决方案、受影响的系统、未解决的问题
  • 服务负责人或值班工程师对队列进行分类(立即修复、安排处理或忽略)
  • 当修复发布时,向评估套件添加事件评估

示例应用

  • CI测试失败率超3σ时,代理隔离不稳定的测试或打开回滚PR
  • 部署后5xx错误率超3σ时,代理触发现有回滚管道
  • PR周期时间触发漂移规则时,代理为工程领导编写报告

治理考量

  • 层级边界通过版本控制的配置强制执行
  • 权限和管理设置阻止对生产环境的访问
  • 调用、发现问题和分类决策都被记录并带有时间戳
  • 代理可能触发的运行手册已事先获得批准

5. 定期代码库扫描

目标:按计划自动运行安全扫描,将发现的问题像任何其他变更一样通过安全机制审核。

具体操作

  • 使用Claude Security(托管式定时扫描服务)连接GitHub代码库
  • 按存储库、服务或团队组织成项目,明确发现结果的归属
  • 对最重要的代码库进行首次全面扫描作为基准
  • 为每个项目设定计划(积极开发的服务每周一次是合理默认值)
  • 根据置信度评级对初步结果进行分类
  • 范围限定的发现:在Claude Code on the Web中审查建议补丁,通过PR审查流程提交
  • 更广泛的问题(架构缺陷、跨服务重复模式):按 intent.md 格式编写,从计划阶段开始
  • 修复发布后,向评估套件添加漏洞类别的评估

治理考量

  • 扫描在组织管理控制下运行(连接的存储库、权限持有者、费用限额集中设置)
  • 每项发现包含验证结果和置信度评级
  • 每项排除都有理由,扫描历史是对已发现、已修复和已确认问题的审计记录
  • 修复通过PR审核和分支保护机制进入生产,而非扫描本身

📊 各阶段实施的依赖关系

根据手册建议,采用顺序遵循以下依赖关系:

构思阶段无任何前置依赖,可以最先实施。

设计阶段依赖构思阶段产出的 intent.md 工件。

构建阶段依赖设计阶段产出的 spec.md 工件。

测试阶段可与构建阶段同步推进。

部署阶段依赖测试阶段的评估和构建阶段的钩子。

监控阶段依赖部署阶段的回滚路径和构建阶段的钩子。

治理(技能与钩子) 是横切关注点,可在任何阶段独立引入,但引入越早收益越大。


总结:转型的三个核心理念

治理即代码

将安全、合规、架构标准编码为机器可读的 CLAUDE.md 和技能,让AI在生成代码时即默认遵循。策略不再停留在文档中,而是嵌入代理的每一个行为里。

闭环持续进化

每个阶段的产出自动触发下一阶段,监控异常自动生成新需求,形成永不停止的改进循环。环路的每个节点都在学习和强化,整个系统随着时间推移变得越来越智能和稳健。

人机分工新范式

人负责意图设定、规则制定和关键审批;AI负责执行、验证和监控。人的注意力从代码细节提升到系统治理层面。核心问题不再是“人做了什么”,而是“代理做了什么,以及人批准了什么”——这本身就是一种强大的审计和治理模型。

你想开(做)一家什么样的Agentic公司(副业)?

相关学习资料

返回首页浏览学习资料