基于 Anthropic《The AI-Native SDLC Playbook》、三大开源规约框架(OpenSpec / spec-kit / mattpocock skills)的源码研读, 以及同一个真实需求(适老化 macOS 计算器)在三条方法论路径上的完整实现对比,给出一份不抄概念、只讲实战的专家级总结。
传统 SDLC 的全部设计前提——PRD、估算仪式、串行评审、阶段性签核——都建立在"写代码最贵、最慢"这一事实上。 当智能体把实现阶段压缩到小时级,这个前提失效了,三件事同时成真:
计划、评审/测试、发布仍以人速运行。构建越快,队列在这些环节堆得越高——安全评审团队是按人类产出配置的,智能体放大产出后,要么评审排队,要么代码欠审上线。
逐行人工评审在"人写每一行"的时代是合理的;当智能体写出大部分 diff,它既不可行也无意义。控制必须改由机器执行,人退到门禁上。
例外事项仍要排进周会/月会的委员会。产出越快,等待治理裁决的积压越贵——治理本身成了最需要自动化的环节。
"代码不再是瓶颈——瓶颈是它周围以人速运行的环节。AI 原生 SDLC 不是删掉控制,而是保留旧的控制目标、换上新的执行机制。" —— Anthropic, The AI-Native SDLC Playbook
AI 原生 SDLC 的流程不再是"文档 + 工单 + 签核"的人际接力,而是一条制品链:每个阶段以向版本库提交一个制品结束,下个阶段以读取这个制品开始。 前半程的制品是 Markdown(产品负责人和智能体都能读、都能改的同一文件),从构建起制品变成代码及其记录。整条 git 提交链就是审计链:谁提的需求、智能体产出了什么、谁批准的。
这一设计的深刻之处在于:它把"流程"变成了"数据"。阶段交接不再是会议和工单,而是文件系统的状态转移——可以被钩子(hook)触发、被 CI 编排、被度量直接读取(两个 git 时间戳之差就是阶段耗时)。 人的注意力从"启动每个阶段"收敛到"守护制品被接受的门禁"。这就是"流程即代码"在 SDLC 层面的真正含义。
OpenSpec、spec-kit、mattpocock/skills 都在回答同一个问题——"怎么让智能体持续做对的事"——但给出了三种截然不同的答案。 看懂它们的分歧,比学会其中任何一个都重要;Anthropic 的 playbook 则站在企业治理的高度,把三者共通的底层逻辑讲透了。
| 维度 | OpenSpec规约即活文档 | spec-kit规约即可执行 | mattpocock/skills纪律即技能 | Anthropic Playbook治理即配置 |
|---|---|---|---|---|
| 核心哲学 | fluid not rigid、iterative not waterfall、为棕地而生。规格是与代码共同演进的活文档 | "翻转剧本":几十年来代码为王、规格是用完即弃的脚手架;SDD 让规格直接生成实现 | 反对 GSD/BMAD/spec-kit 式"流程占有"——流程一旦拥有你,流程里的 bug 就难修。技能要小、可改、可组合 | 控制目标不变、执行机制重写。企业级的门禁、审计与合规如何在智能体速度下成立 |
| 制品模型 | specs/(当前真相)+ changes/(增量提案:proposal/design/tasks/delta-specs),archive 后合并回 specs |
每特性一个目录:spec → plan → tasks,外加 research / data-model / contracts / quickstart / checklists,constitution 作为全局章程 |
轻量文本:CONTEXT.md 术语表、docs/adr/ 决策记录、issue 跟踪器上的 spec/tickets |
制品链:intent.md → spec.md → plan.md → diff → PR → 事故记录,每环都可审计 |
| 工作流形态 | /opsx:propose → /opsx:apply → /opsx:archive;delta 语义(ADDED/MODIFIED Requirements + WHEN/THEN 场景) |
constitution → specify → plan → tasks → implement → converge 六步仪式;另有 bug(assess→fix→test)、assess(想法评估)扩展 |
无固定流水线。用户触发型技能(grill-me / to-spec / implement / triage)编排模型触发型纪律(tdd / code-review / domain-modeling) | 六阶段非线性 plays,带依赖图与采纳顺序;终点是闭环——生产异常自动写回 intent.md |
| 质量保障 | 规约评审先于实现;verify-change 核对实现与规约的偏差 | 章程门禁(Constitution Check)、需求 checklist、converge 循环直至收敛 | TDD 红绿重构、双轴 code-review(标准轴 + 规约轴,并行子代理互不污染)、diagnosing-bugs 分阶段诊断环 | skill(建议性控制)+ hook(确定性控制)双层;CI 中跑 evals 回归测试智能体配置本身 |
| 适用场景 | 持续演进的存量项目;特性横跨多仓库(stores 共享规约) | 从零启动的大特性、组织级标准化、需要完整交接产物链的团队 | 资深工程师的日常驱动;重视对齐、反馈环与代码设计的长期项目 | 受监管组织、平台团队、需要向审计与合规交代的规模化落地 |
| 根本分歧点 | 规约驱动派相信"把规格写对,代码自然对"——分歧只在规格的生命周期(OpenSpec 认为是持续演进的差量,spec-kit 认为是完整的前置仪式) | 工程纪律派与治理派则相信"规格写不全所有事"——真正决定质量的是对齐访谈、反馈环速率、代码设计品味,以及控制是否由机器确定性执行 | ||
实战中最常见的错误是错配阶段:在需求还是一团雾时上 spec-kit 的重仪式(产出一堆精致的错误规格), 或在项目已进入持续演进期后还在为每个小改动跑完整流水线(流程成本超过收益)。 成熟的做法是按阶段切换工具,而三者共享的底层资产——术语表、ADR、测试套件、CLAUDE.md——可以一路沉淀下去。
intent.md 原型规约——人可读、可版本化、下一阶段立即可消费。从数周的引出-澄清周期压缩到小时级。要点不在"写得快",而在零转译损耗:intent.md 保留了提出者的原话、约束和悬而未决的问题(Open Questions 是必备章节), 产品负责人审的是智能体是否误解了意图,而不是替智能体重写。非工程师无需碰 git——连接器让智能体代为提交。
proposal.md 用 Why / What Changes / Capabilities / Non-goals 四段结构,其中 Non-goals(明确不做人民币大写、历史记录、设置页)事后证明价值最高——它封死了智能体在实现阶段"顺手多做"的空间。写给智能体的规约里,负面约束的边际收益远高于正面描述。
这一阶段最被低估的变化是设计的事实源上移:传统流程的事实源是 Figma 画板,AI 原生流程中它变成仓库里的文本规范——因为文本是 AI 的原生格式:可读、可 diff、可 lint、可版本化。Figma 退为协作与存档层,HTML 高保真原型成为设计稿的形态(真实排版引擎渲染、秒级迭代)。
designmd lint 做质量门:断引用报错、对比度低于 WCAG AA 4.5:1 告警——规范工具本身就是无障碍守门员。写作心法的核心:一个具体引用胜过一串形容词("央企门户、机关报式排版"远比"简洁现代大气"信息量高);负面约束是免费的("不要渐变、不要大圆角"直接封死风格漂移)。
plan.md,后续评审拿它对照 diff。计划够扎实,实现往往一次通过。构建阶段的四块基石,实战中缺一不可:
/tdd 技能把红-绿-重构固化为纪律,配合"一次一个垂直切片"的步长控制;/diagnosing-bugs 把调试包成分阶段门禁的循环(构造复现环 → 最小化 → 假设 → 插桩 → 修复 → 回归测试)。经验是:反馈环的速率就是你的速度上限——智能体没有反馈时不是写得慢,而是在错误方向上写得飞快。
@claude 标记即修复,修复循环可由智能体自己跑到全绿,只等 code owner 批准。.claude/settings.json 或平台托管配置;block 必须自解释(原因 + 申诉路径)。生产部署的批准永远留给具名的人。这些原则在三套框架和 playbook 中反复出现、又被实战反复验证——它们比任何具体工具都长寿。
软件开发最常见的失败模式是错位(misalignment),AI 时代亦然。mattpocock 的 grill 式访谈把"让智能体追问你"固化为技能:在生成任何东西之前,把设计树的每个分支问到收敛。提示词质量的上限不是措辞技巧,而是你想清楚的程度——访谈是强迫你想清楚的机制。
CONTEXT.md 式术语表把项目黑话压缩成智能体可解码的共享语言:变量/函数/文件命名因此一致,代码库对智能体更可导航,思考消耗的 token 更少。实战中"播报词决策""数值规范文本""链式立即执行"这类命名一旦确立,后续每个会话都在吃它的红利。
没有反馈的智能体不是慢,而是在错误方向上飞快。静态类型、一条命令的测试、浏览器/截图回环,缺一不可。并且必须保护反馈环本身:修复代码的智能体不得削弱检查代码的测试。
skill 让违规变得稀少,hook 让违规近乎不可能;必须无条件成立的策略,背后一定要有确定性机制。人的批准只放在门禁上——把批准提示塞进构建环路,等于把人重新钉回所有并行会话的关键路径。
智能体以空前速率生产复杂度。对策是 Kent Beck 的老话:"每天投资于系统设计"——深模块(小接口、厚实现、干净接缝、可经接口测试)要成为日常纪律,定期扫描代码库的"深化机会",而不是等泥球成形后抢救。
会话是易失的,仓库里的 Markdown 才是团队记忆。每个阶段以提交制品结束、以读取制品开始;交接(handoff)的本质是把上下文压成下一个智能体能独立接手的文档。"一个没见过对话的人能否仅凭计划实施"是制品质量的试金石。
Non-goals、"不要渐变"、禁改清单、封顶 Nit 数量——对智能体而言,封死错误方向比描述正确方向更有效、更省 token。正面描述留下无穷多种"对的"实现,负面约束直接消除整片错误空间。
不需要新的度量系统:两个 git 时间戳之差是阶段耗时,PR 元数据给一次通过率与返工轮次,hook 决策日志给门禁等待时间,eval 通过率给配置质量。每个 play 都明确领先/滞后指标——不能从 git 和 CI 里读出来的度量,在 AI 原生流程里不存在。
"The loop keeps running. Human judgement stays above it." —— 闭环持续运转,人的判断悬于其上。 —— Anthropic Playbook 结语。人的角色从"写代码的人"变为"定义意图、评审制品、守护门禁的人"
用同一个真实需求(面向老年用户的 macOS 原生计算器:大字体大按钮、四位分节/千分位、中文读数与语音播报、防误触、实体计算器语义) 分别走 OpenSpec、spec-kit、mattpocock skills 三条路径完整实现。这是极少有人做过的对照实验,结论如下。
| OpenSpec 路径 | spec-kit 路径 | matt-skills 路径 | |
|---|---|---|---|
| 最有价值的产物 | proposal.md 的 Why/Non-goals;delta spec 的 WHEN/THEN 场景清单——天然就是验收用例 |
constitution(适老化硬性指标:字号 ≥24pt、触控目标 ≥44×44pt、对比度 ≥4.5:1)作为 Phase 0 前置门禁;用户故事的 Independent Test 让 MVP 边界无争议 |
CONTEXT.md 术语表 + docs/adr/(语音数值策略、播报脚本分层);访谈中涌现的"播报词决策""数值规范文本"等概念成为全代码库的命名基准 |
| 流程体感 | 最轻。propose → apply → archive 三步,规约随代码生长,几乎没有仪式负担 | 最重也最全。spec → plan → tasks → research → data-model → contracts → quickstart → checklists,产物链完整到可直接移交陌生团队 | 对话密度最高。大量时间花在 grill 访谈与术语打磨上,生成阶段的返工反而最少 |
| 暴露的短板 | 对"还没想清楚"的需求帮不上忙——它假设你已有可提案的变更 | 仪式成本固定,小改动不划算;产物多了之后维护规约与代码的一致性成为新工作 | 高度依赖工程师本人的判断力;技能是纪律而非门禁,没有确定性强制,团队规模化时需要自己补 hook 层 |
| 最适用的阶段 | 项目进入持续演进后的每个增量特性 | 从零启动的大特性、需要正式交接与审计的场景 | 需求模糊期的对齐、以及全周期的工程质量保障 |
matt-skills 路径前期花了最多时间在访谈和术语上,但实现阶段几乎零返工;反过来,任何路径里凡是"先写了再说"的部分,都在测试阶段以更高代价还了回来。智能体时代,想清楚的速度才是真正的开发速度。
"大字体"在各路径里都产生过平庸结果;"结果区字号 ≥24pt、点击目标 ≥44×44pt、对比度 ≥4.5:1"则一次到位。能被机器或人客观核对的约束才是约束,形容词不是。
第一次实现时,三条路径的代码质量差距不大;差距出现在后续修改——有活规约(OpenSpec specs/)和决策记录(ADR)的项目,变更成本显著更低。规约不是实现的输入,而是演进的资产。
| 规模 | 起步动作(本周可做) | 三个月后 | 成熟形态 |
|---|---|---|---|
| 个人 / 小团队 | 写 CLAUDE.md(命令 + 约定 + 常犯错误,一页内);建立 CONTEXT.md 术语表;重要改动先 grill 后动手;接入 TDD 反馈环 | 把反复出现的纠正沉淀为 skills;ADR 记录关键决策;实现与测试配对提交 | OpenSpec delta 规约管理演进;hook 保护测试文件与受保护路径 |
| 成长型团队 | 约定 intent/spec/plan 制品模板与存放位置;PR 引入智能体评审(REVIEW.md 定通道与 Nit 上限) | 评审发现回流 CLAUDE.md;CI 中对 CLAUDE.md/skills 变更跑 eval 套件;分支保护 + code owner 批准 | 制品链自动化触发:intent 合并即生成 spec PR;并行会话 + 子代理成为常态 |
| 受监管企业 | 平台团队托管不可覆盖的 settings(deny 清单、沙箱、凭据隔离);列出必须保留的人类审批门并表达为 hook | 每环境分级自治(开发自由 / 生产具名授权);部署经 MCP 暴露为白名单工具;回滚路径定期演练 | 闭环维护:确定性控制带监控 → 智能体诊断 → intent.md 回流;定期安全扫描 + 事故转 eval;OpenTelemetry 全程审计 |
一句话总结:AI 原生 SDLC 的本质,是把软件工程从"人写代码、流程管住人"重构为"智能体写代码、制品承载意图、机器执行控制、人守护判断"。先建反馈环与制品链,再谈自动化;先对齐与约束,再谈生成。