AI 自己跑完软件流程,人只需在关键节点批准
瓶颈从写代码挪到了人身上
软件从想法到上线,走的还是那条老路:规划、设计、构建、测试、部署、维护。大多数组织都跑这六个阶段,每个阶段归不同角色。产品经理写需求,架构师转设计,工程师实现,QA 验证,发布团队上线,运维盯着运行。工作靠文档、工单和审批在阶段之间传递。
这套流程的前提,是写代码最耗时也最贵。前提已经失效。
AI 代理写掉大部分代码差异之后,瓶颈移到了构建两侧:规划、测试、审查、部署。这些环节还在按人类速度跑。人工逐行审查在代码由人写的时候说得通。现在代理写了大部分 diff,逐行看根本追不上它的产出。
线性流程变成循环
AI 原生 SDLC 把六阶段的线性流程改成循环,AI 嵌在每个环节。每个阶段结束,往版本控制里交一个工件。工件包括 intent.md、spec.md、plan.md、diff 及其测试、带审查意见的 PR、事故记录。下一阶段先读这个工件再开工。
变化最明显的是规划。想法提出者直接和 Claude 头脑风暴,产出一份人类可读、纳入版本控制的 intent.md。在这之前,同样的人得先说服产品团队的人帮他把想法写下来。产品负责人批准 intent.md 之后,Claude 直接产出完整的需求和设计规范 spec.md。品牌、安全、合规、UX 这些策略,作为技能自动套上。产品负责人审这份规范,但不用自己动手写。
构建阶段从 Claude Code 的规划模式开始。工程师把已批准的 spec.md 交给 Claude,这个模式下 Claude 只读代码库,不改任何东西,先产出一份书面计划 plan.md。工程师改计划、批准之后,代码才动笔。后面的阶段拿 plan.md 当基准核对产出。
AI 怎么遵守团队规矩
AI 写代码快不快,取决于它知不知道团队的规矩。这套知识靠三层传递:CLAUDE.md、技能、钩子。
CLAUDE.md 给 Claude 一个新成员该有的上下文:约定、命令、架构、团队最常见的错误。过去这些装在人脑和 wiki 里,现在变成 AI 每次会话开头必读的文件。整个团队维护它,每犯一次错就更新一次。
技能把组织的制度知识变成可执行的指令。它是仓库里 .claude/skills/ 下的文件夹,里面装一个 SKILL.md。frontmatter 写清触发条件,正文写清要执行什么。政策一变就集中更新,技能跟着代码一起上线。
钩子是构建阶段真正硬性的防护层。技能只是建议性的,钩子会拦截:阻止对受保护路径的编辑,像生成的类、被冻结的包;文件编辑后跑格式化和 linter,让漂移攒不下来;把凭据挡在 diff 外面。
一个工程师管多个 AI
工程师能同时跑多个并行的 Claude Code 会话,每个在自己的 git worktree 里处理独立任务。在途任务量随之涨上去,工程师的活从写代码变成指挥和审查这些会话。
有个做法很关键:给 Claude 验证自己工作的手段,比如测试、构建、截图对比。它能在工程师看到之前自己迭代修复错误。持续评估(evals)是 AI 原生版的阶段把关。代理配置一变,比如换了新模型、重写了提示词,就自动跑一遍测试套件,确认产出的标准没掉。
审查、部署,人留在哪
PR 审查里,Claude 既审传入的 PR,也回应自己 PR 上的意见。工程师专注行为层面的判断,归结起来就是判断意图和风险。逐行读代码被移出人类工作流,因为实在跟不上 AI 写 diff 的速度。
部署仍保留审批门。钩子能暂停操作,等特定的人批准,这正是发布门控要的形态。平台工程师把每个门实现成一个钩子,在 Claude 行动前运行;脚本可以放行、询问或者拦下。CI/CD 流水线里,Claude 在带受限凭据的沙箱中非交互运行。部署工具通过 MCP 暴露给代理。写完代码和测试的工作流能直接部署、回滚,但要穿过按环境定义的权限门。
从事故到修复,也进了循环
维护环节闭环了。一个确定性脚本盯着生产环境,控制带被突破就自动调用 Claude 诊断异常。诊断结果按第一阶段的格式写成 intent.md:异常、证据、建议方案、受影响系统、未解决的问题,都写进去。这份诊断像其他任务一样进流水线。
Claude Tag(公开测试版,现在 Slack 里能用)让 Claude 以自己身份进事故频道。每个新事故都有第一响应者,响应过程本身成为下一次事故的循环和记忆。频道就是审计线索:请求、诊断、人类授权、修复,全留在事故处理现场。这套流程把人类判断力放在中心,也把大型企业的治理和监管要求算了进去。只是当 AI 自动诊断、开出 PR,人在维护闭环里的动作,主要剩两个:批准,或者驳回。