落地:让 GSDD 成为 Agent 的默认开发工作流
运行时三件套,第一周六步
6小时43分钟前
aardpro aardpro
规范写在 ssot/ 里,靠什么保证 AI 真的按它干活?常驻指路、流程封装、系统层隔离,加一个初始化入口和第一周的六步闭环。

这个系列叫 GSDD(Governed Spec-Driven Development,治理规范驱动开发)。到上一篇为止,该立的都立完了:01 篇立论,程序员盯 SSOT(Single Source of Truth,唯一事实来源),不盯代码;02 篇立规范,SSOT 三层八文件,什么是对的、住哪、谁把控、怎么改,全有明文;03 篇立判卷,acceptance(验收标准)→ testcase(剧本)→ tests 三层单向引用,回答凭什么信。但还悬着两件事。其一,规范写在 ssot/ 里,靠什么保证 AI 在日常开发中真的按它干活,而不是靠人每次开工前提醒一遍?其二,骨架、文件、流程都讲清楚了,合上文章还是不知道第一周星期一早上干什么。

本文回答这两件事。它不加新规则,讲运行方式:GSDD 怎样长进 AI 的日常工作,让它在整个开发周期里自动循规;以及一个新项目怎样一次长出这套运行时。

出发前先立本文的地基。GSDD 的默认工作方式,是让 AI 无人盯守地干活:不逐行盯、不逐步批、不在每个动作上停下来等确认。理由有三。其一,01 篇已经把人从每一步的驱动位上请下来,看结果说话;一道每写一个文件都要人点头的闸门,等于把刚拆掉的驾驶座装回去。其二,会被训练成肌肉反射的确认提示比没有更糟:人不会每次都认真看,人会形成条件反射式的通过。一道被训练成自动放行的闸门,消耗的注意力高于没有闸门,提供的安全性低于没有闸门。这条判据压的是运行时的动作确认,高频、低权重的那种弹窗;定规范是另一回事:改规范低频而权重高,该过的人审一道不少,02 篇的门槛梯度管的就是它。其三,03 篇的信任结构本来就不在人盯执行里:被验证的对象不能参与定标准,人逐行审代码从来不是这套方法的组件。

由此得出运行时的三条原则。一,不拦动作,只喂规范:AI 该读到的规范,在它动手前就送到眼前;它读错了、读漏了,是规范侧的问题,回去修 SSOT。唯一的拦,留给不可逆的动作,第七节专门交代。二,不盯过程,只验结果:AI 怎么编排工作、走什么步骤,是它的实现自由;人验的是它交回的证据是否支撑验收项。三,规范错了,产品就错:GSDD 不承诺零错误交付,它承诺错误可追溯、可归因、可在规范侧修正。治理的投资押在规范侧,不押在执行侧设卡。

边界一句话说清:权限、拦截、审批,这些是 harness(护栏,01 篇讲历程时给过它名字)的事。harness 管越界,GSDD 管人干什么、事实烂没烂、凭什么信,分界在 01 篇已立,本文不展开 harness 的配置。

一、运行时三件套:指路、封装、隔离

GSDD 落地,不是往项目里放几份文件,是装一套运行时。运行时由三件事构成。

**常驻指路。**每个 session 开始时,AI 必须知道三件事:SSOT 在哪、开场先读什么、发现规范缺口时走哪条通道。这份指路常驻在 AI 的工作上下文里,多数 agent 平台都提供一份每个会话自动载入的项目级说明文件,指路就住在那里。它是运行时最薄的一层:不执行任何动作,只保证 AI 一进门就看见规矩。也别高估它。指路是说明书,不是护栏,01 篇讲历程时点过这个教训:文件管得住愿意听的 AI,管不住它的动作。凡必须生效的约束都不能只靠文字自觉,只读那条底线靠第二节的隔离,动作的纪律靠第三节的封装。

**流程封装。**GSDD 有一组 AI 要反复执行的动作:开发前读齐规范、交付前执行验收并交证据、发现规范缺口时提案、需求变更时先落账。这些动作不该每次靠人记得、靠对话临时交代,而应封装成 AI 可自动触发的流程单元,多数平台把它叫作 skill。这是运行时最厚的一层,也是本篇的主体。

**隔离。**指路与封装提高循规的概率,有一件事不能赌概率:AI 对 SSOT 只读,02 篇立的底线。它是三件套里最硬的一层,怎么落,下一节专门讲。

**初始化。**一个新项目要让三件套一次到位:建 SSOT 骨架、写入常驻指路、装入流程单元、落定隔离方案。一个初始化入口完成这件事,产出物是一份可工作的 GSDD 运行时,不是几份空文件。

三件套的分工一句话:常驻指路告诉 AI“这里有规矩”,流程封装告诉 AI“规矩怎么走”,隔离保证它写不坏规矩;初始化让新项目一次把三件套装齐。

GSDD 运行时三件套与初始化:常驻指路、流程封装、隔离,加一个一次装齐的初始化入口

二、SSOT 的隔离:把保障放到 harness 外

三件套的第三件是隔离,也是三件里唯一必须确定性生效的。02 篇立的机制底线是:AI 在开发 session 中对 SSOT 全层只读、严禁修改。这条底线在无人盯守的工作方式下尤其要紧,人会看走眼,diff 会刷过去,劝告会被忽略。把保障寄放在某个 agent 平台的权限与拦截层上并不牢靠:那层机制本身可被绕过,各平台实现不同,还随版本变动。02 篇留下过一句伏笔,“只读怎么真正守住是 04 篇的事”;本篇的回答是:harness 里声明权限只是第一步,立得住的保障落在系统层。

三种手段,按强度排列:

手段 做法 为什么无人盯守下依然成立
凭据分离 SSOT 放独立仓库或子模块,AI 只在实现仓库持有写凭据,规范变更走评审由人合并 AI 没有写钥匙,不是“被拒绝”
文件系统层 去掉规范目录的写权限,或以只读方式挂载 操作系统不跟模型谈判
进程隔离 AI 跑在容器或一次性环境里,规范目录以只读卷挂入 越权发生在隔离壁外侧,不在权限层

三者可叠加,也可单用;强不强不看出场顺序,判据只有一条:AI 的执行环境里,存不存在通向 SSOT 的写路径。凭据分离让它没有写钥匙,文件系统让路径只读,进程隔离让路径根本进不来。三条路,同一个判据。

这里有一层意思要点明:**AI 干活的那一侧放开无人盯守,ssot/ 那一侧物理隔离,两者不是矛盾,是同一套设计的两面。**02 篇立下“AI 对 SSOT 只读”这条规矩,本篇把它落到地层上:越是敢让 AI 在代码库里全速跑,越是要让 ssot/ 它写都写不到。隔离也有它的边界:拦得住写规范的手,拦不住口径腐烂,01 篇那六周的失守是多因并举,缺护栏只是其中之一;事实仍靠 02 篇的规范来治。

三种手段落到具体平台、具体操作系统怎么做,是实现细节,进配套仓库;本文只给判据。

三、把日常动作封装成流程单元

常驻指路只解决“看见规矩”。AI 的日常工作里有一组动作要反复执行,靠人记得、靠对话交代,迟早漏。把它们封装成流程单元,每个单元讲清四件事:什么时候触发、输入是什么、做什么、交回什么。本节列四个最必要的。

**开发前检查。**触发于任务开始。输入是本次任务涉及的 SSOT 层与相关剧本。动作是读齐 README 头部的治理规则、读相关需求与事实、读相关剧本、确认涉及的验收项编号。交回一份“本次任务依据清单”:AI 自己声明读了什么、按哪些编号干活。清单是自我声明,不算证据,人不需要逐份审,它的价值在让 AI 显式对齐规范,出了问题能追溯它当时依据的是什么。02 篇“AI 开发前必读”从一句劝告,变成一个可执行的起点。

**执行验收。**触发于任务完成。输入是 acceptance 与 testcase。动作是逐项执行、按编号组织证据、输出验收报告:编号、结果、证据位置三栏。不改标准,不跳失败项,失败项原样上报。03 篇的三层验收在这里被运行化。

**规范缺口提案。**触发于 AI 发现 SSOT 有错、过时、缺失或互相矛盾。输入是缺口所在与影响。动作是输出提案:改哪个文件、哪一处、改成什么、理由、波及范围,提案交人采纳。这是“AI 可以起草,人采纳了才算数”的运行时落点:AI 不被允许自行改规范,但被鼓励把缺口显式交出来,而不是绕开规范硬写实现。

**变更录入。**触发于需求变更。输入是新需求。动作是按 02 篇的格式起草变更条目:日期、新需求、波及文件,交人确认后落进 change-log,AI 再按波及清单更新实现。AI 可以起草账目,落笔的手是人。

单元怎么被 AI 发现、由谁调用,一句话说清:单元住在仓库里,是一份说明文件,开头一段描述写明它管什么动作、何时该用;这份单元清单会被装进 AI 每次任务的可见范围。发现靠描述,调用靠触发条件,条件到了,AI 按描述自行调用,拿不准时人也可以点名调用。串一个完整的任务看节奏:会话开始,常驻指路生效,AI 先读 ssot/README.md;领到“修复登录失效”的任务,开发前检查触发,读齐相关需求、事实与剧本,交回依据清单;实现完毕,执行验收触发,沿剧本走查、跑测试、按编号留证,交人审证据。全程无人逐步盯守;中途若发现剧本与实现互相矛盾,缺口提案触发,提案交人。

这套节奏要真跑起来,还差一块地基:AI 得接得到真实系统。执行验收要跑真的测试、做真的走查,AI 手里得有只读的业务库凭据、多角色的测试账号(第一周清单第④步)、执行测试命令的许可,这是 03 篇证据链的物理基础,接不到真实系统就产不出真证据。接入的原则一条:最小权限,只开干活需要的门。隔离管关门,接入管开门,两件事别混。

每个流程单元,以及第二节每一种隔离手段,都要过同一套自查。01 篇给护栏立过四问:哪个工具、执行点在哪、判定数据是什么、失败了会怎样;本篇补上第五问:**它需要人吗?**需要人批准才能生效的约束,是设计缺陷,不是安全特性。答“需要”的回去重做:要么把判定数据变得足够确定,让机器自己判;要么这条规则本来就不该交给机器判,写进人的流程里。这条判据的适用范围要说清:它管的是运行时里高频、低权重的动作确认;02 篇的改动门槛是低频、高权重的人审,一次审的是一份真正的决定,不在此列。凭据分离是正面示范:它不需要人批准任何一次写入,因为 AI 根本没有写钥匙。“改 SSOT 前先弹窗问人”是反面示范:它拿最稀缺的资源,人的注意力,去换一个必然被训练成自动通过的按钮。

这套封装与市面上把工程纪律沉淀为 AI 可调用动作的做法同处一个生态位,差别在治理对象:它们治理“怎么把活干对”,GSDD 治理“什么是对的”,什么是对的住在 SSOT 里,有门槛、有流水账、有编号。

02 篇立的规矩,各自落在运行时的哪一层,收拢成一张表:

02 篇的规矩 落在哪
AI 对 SSOT 全层只读 第二节隔离,唯一确定性生效的一条
AI 开发前必读 常驻指路+开发前检查单元
变更必录 变更录入单元+时间线“变更时”节点
先改规范再改实现 “变更时”节点,顺序锁死
唯一出处、编号引用 执行验收单元;tests 强制引用编号(03 篇)
负责人批准、第二双眼睛 不进运行时,这类审批由人走,缺口提案与变更录入两个单元负责对接

四、初始化:如果把它做成一个命令

三件套有了,还得一次装齐,这是初始化的职责。新项目要手工建八份文件、写指路、装流程单元、落隔离方案,样样手工,就有人开始抄错。把它做成一个入口,假如你要给它起名,可以叫 gsdd init,跑一次,长出整套运行时。

它该问什么:单人还是多人协作;有没有存量规范要收编;目标平台是哪个;持续集成用不用、用什么;多角色测试账号基建,03 篇第一周清单里的独立一项,默认搭,没有跨角色验收项的项目可跳过。

它该生成什么:ssot/ 八文件骨架与 README 头部五块;常驻指路;一组流程单元;第二节三选一的隔离方案;第一周清单;持续集成若在用,附一份验收工作流骨架,快速冒烟常驻回路、全量走查定期触发、证据按任务归档,03 篇的快慢分层照搬。

比命令本身更重要的是四条设计原则。幂等:重复跑只补缺,不覆盖,毁掉使用者的自定义,工具就成了灾难。可升级:带版本号,升级不踩踏本地改动。可剥离:删掉一个目录就回到原状,不留拆不干净的残留,装得进就要取得出。不锁平台:初始化检测目标平台、生成对应的载体,方法论本身不焊死在任何一家上;agent 平台换代极快,今天的绑定就是明天的迁移成本。

它与常见项目脚手架的区别一句话:脚手架生成的是代码骨架,GSDD 初始化生成的是治理骨架加运行方式。文件是壳,指路和流程单元是让壳活起来的东西。初始化完成的标志不是“AI 知道有了这个目录”,而是“每次任务开始它会自动走开发前检查,每次交活按编号交证据”。

明说一句:以上是设计思想,不是产品发布。GSDD 是方法论,工具化与否、何时做,是使用者的决定;但判据在这里,谁做都得答得上这些题。

五、全周期的时间线

流程单元把动作定义了,串起来就是 GSDD 在开发周期里的节奏。六个节点:

节点 GSDD 要求什么 靠什么保证 证据是什么
会话开始 先读 ssot/README.md,按任务读齐相关层 常驻指路 依据清单(可选留存)
任务拆解 任务从验收项编号派生,不新增标准 开发前检查 + acceptance 任务→编号映射
实现中 不问人、不停顿;规范边界由隔离层兜住,不可逆外部动作由第七节闸门拦下 默认工作方式,无需保证;安全由隔离与闸门兜底 无需人审
交付前 沿剧本走查、跑测试,按编号留证 执行验收单元 编号/结果/证据位置
变更时 先追加 change-log,再改波及文件,最后实现跟进 变更录入单元 流水账条目
归档复盘 证据随代码库留存,不进 ssot/;缺口修在 SSOT 里 代码库与持续集成 周期性全量走查报告

一句话收拢:GSDD 不是一套静态文件,是一个有入口、有流程、有出口的循环。02 篇的规范与 03 篇的验收链,在这个循环里被运行化。

表里补上 03 篇悬着的一件事:证据的住处。03 篇说证据随代码库与持续集成留存、不进 ssot/,没给目录。给一个可抄的约定:证据目录随任务建,例如 evidence/2026-11-03-登录修复/,目录里一份清单文件,三栏:编号、结果、证据路径。提案格式同理给定:改哪个文件、哪一处、改成什么、理由、波及范围,五项齐全才算提案。

质量的那半边也交代一句。隔离管越界,封装管动作,质量靠模型与工具,是概率;概率性保障的兜底不在过程里,在证据里:验收项覆盖到的错误,证据会让它显形。

六、流程单元也要治理

流程单元是文件,文件会腐烂。一句措辞的改动就能让 AI 传错参数、漏掉一步、绕过该走的顺序,改流程单元就是改 AI 的行为。这不是文档维护,是行为变更。归属先说清:封装物跟代码同库、一样版本化,但把控的手是人的手,它写的对象是 AI 的行为,AI 不能自己改自己的作业。它对 SSOT 只引用、不定义:单元里出现的验收项编号与改动门槛,一律引用 SSOT 的,自己不立新标准,免得“验收该怎么走”在 SSOT 之外长出第二个出处。所以封装物自己也要过治理关,用的还是 02 篇那套药:变更留痕,谁改的、改了什么、为什么改,进变更记录。

判据再往前走一步。封装动笔之前,先看没有它时 AI 会怎么失败:拿一组任务让它裸跑,把失败的样子记下来。写完封装,再拿同一组任务对照,确认它真的改变了行为。没见过 AI 没有它时怎么失败,就不知道它教的是不是对的东西。写流程单元和写验收项是同一个手艺:先立标准,再交实现。

SSOT 会腐烂,流程单元也会,同一个病,同一个药:变更留痕,评估留证。02 篇“够用是铁律”在工具层同样成立:四个单元够用,就不要造第五个。

七、不问人的边界

隔离与封装不是全能。无人盯守之后,实现过程里没有任何东西能拦住一个错的想法,这个代价必须先说透。人的杠杆只剩两端:事前的规范质量,事后的证据质量。所以第一周“先立规范、再解锁”的顺序是承重墙,不是流程整洁:规范没立好就放手,等于让 AI 以全速奔向一个错误答案,沿途无人挡。所有人都在教怎么让 AI 全速自主,没有人教全速自主的前提。

边界上保留唯一一道闸门,它仍然是机器判,不问人:跨出代码库且不可逆的外部动作,部署到生产、真实支付、给真实用户发消息、删除外部数据。测试若触到真实支付、真实用户,同样算跨出。判据不是“危不危险”,是“能不能回滚”。代码库里的一切,改文件、跑测试、重构,都可逆;可逆以独立副本为前提:独立副本里开工,跑完即弃,出错就回滚重来,第二节进程隔离给的可丢弃环境,正是这份可逆性的地基。闸门自己也答得上判定数据:机器凭目标环境与动作类型判,一份可逆动作的清单之外,一律按不可逆处理。不可逆的,机器在边界上直接拒绝,不商量;需要人点头的闸门,又回到第五问的老问题上。安全模型随之换轨:从事前问一句,换成事后可弃加证据兜底,兜底的就是 03 篇的验收证据,人审的对象从过程换成编号下的证据。

收尾回扣 01 篇的伏笔:harness 是一个位置,不是某个产品。本文讲的载体,常驻指路、流程单元、隔离手段,在哪家平台上都有等价物。换了工具,把三件套照着五问重新落一遍即可。GSDD 站在方法论层,不站在产品层。

八、第一周:六步跑通第一轮闭环

运行方式回答“怎么装”,这一节回答“先干什么”。六步的顺序由依赖决定:①到④在立规范,先有规矩;⑤上隔离、解锁,把它护住;⑥闭环,跑完第一轮。工期按项目体量伸缩,顺序不可换。往 ssot/ 落笔的手,前四步全是人的手。

第一周六步时间线:建骨架与 README、三层文件初稿、首批验收与剧本、多角色测试基建、上隔离解锁、第一轮闭环

① 建骨架与 README(半天)。ssot/ 目录与八份文件建齐,README 头部五块按 02 篇立起来:世界观句、原则、角色、改动门槛与流程、AI 只读;正文写文件清单。完成判据:八份文件齐,清单与实际一一对应,头部写明“AI 对 SSOT 全层只读”。

**② 三层文件初稿(半天到一天)。**L0 写定用户、价值、范围边界;change-log 立好条目格式,条目留给第一次真实变更。L1 收术语唯一口径与关键设计。L2 两份先立骨架。起草方式统一:AI 出草稿,落笔的手是人的手。完成判据:每份文件有实质内容;正文出现的术语,glossary 里都有词条。

**③ 第一批 acceptance 与 testcase(一天)。**只挑一条最核心的业务流程,够第一轮闭环用。验收项带编号,配行为矩阵与证据要求;剧本每一步只引用编号,不定义新标准。完成判据:验收项全部可执行、有证据要求;剧本每步映射到编号。

**④ 搭多角色测试基建(一天)。**每个角色一套测试账号与凭据,token 有统一注入入口。03 篇说它是第一周必须搭的基建:缺了它,跨角色验收项永远停在手动。完成判据:一条多角色端到端链路在本地跑通;凭据不以明文进库。

**⑤ 上隔离、解锁(半天)。**第二节三手段选一落地,然后做一次隔离验证。验证任务要真实:挑一条会碰到规范的任务,比如“按新需求 X 更新 change-log”,它该交回一份提案,而不是落笔。物理上写不到 ssot/,行为上走了提案通道,两样都验到,隔离才算立住。完成判据:验证任务里 AI 交的是提案,ssot/ 无一笔改动。这一步之前,规范必须已经立住,顺序是承重墙;解锁后的第一个真实任务,是⑥的事。

**⑥ 跑通第一轮闭环(一到两天)。**解锁后的第一个真实任务,也是第一轮完整闭环:给 AI 一个来自 SSOT 的任务,读 SSOT、实现、执行验收、交证据;人审证据,不审代码。⑤验的是隔离立不立得住,⑥验的是循环转不转得动。第一轮大概率暴露 SSOT 的缺口,口径没写、验收项不可执行,修 SSOT,重跑。缺口修在 SSOT 里,不在代码里。

一周走完,给第一周本身立四条验收项:八文件与头部五块齐;隔离验证通过;第一轮闭环有完整证据链;change-log 收进第一条真实条目。


四根支柱至此全部落地:人的岗位(01 篇)、分层规范(02 篇)、验收体系(03 篇)、护栏保障(本篇),隔离在系统层,指路与封装在 harness 内,唯一一道闸门架在不可逆的动作上。全系列的机制讲完了,剩下的不是理解,是动手:跑一次初始化,或照第四、五节亲手搭一遍,把第一周走完。

这套方法的诚实所在:初始化装好的是流程,不是规范本身,改 SSOT 的手始终是人的手。AI 无人盯守地工作,规范错了产品就错;错误可追溯、可在规范侧修正,这是 GSDD 承认的代价,也是它把治理押在规范侧的理由。规范在 ssot/ 里,运行方式在指路与封装里,钥匙在你手里。程序员盯 SSOT,不盯代码。

统计
10
© aard.ltd 2024-2025 ✉ 239479@qq.com