轻持则活 · SDD 与 OpenSpec 的禅学解读

MATTHEW · 2026-08-14 · ESSAY

轻持则活
—— SDD 与 OpenSpec 的禅学解读

关于「如何持有文字」的一桩公案

一、缘起:一场发生过两次的争论

SDD 的全部争论——要不要写 spec、spec 该多重、语言能否穷尽实现——在禅宗一千二百年的历史里完整地发生过一遍。这不是修辞巧合,是同构:两边争的都是同一件事,文字与真实的关系,以及人应当如何持有文字。经院派把文字越写越厚,狂禅派把文字全部烧掉,而禅门真正的传统站在中间:文字是渡河的筏、指月的指——郑重地用,用完就放。

下文五节,每一节取一个禅学概念,对应 OpenSpec 的一个具体机制。对应是机械的、可检验的,不是氛围比附。

二、筏喻:spec 的本体论地位——筏,不是彼岸

“知我说法,如筏喻者。法尚应舍,何况非法。” 《金刚经》 · 教法是渡河的筏子,没有人顶着筏子赶路
此岸 想法 · 模糊意图 河:从意图到实现的距离 changes/add-dark-mode/(筏) proposal Δ specs design tasks 渡 · propose → review → apply 彼岸 新真相 specs/ + 代码 archive/(舍筏 · 冻结)
fig.1 — 筏喻:change 文件夹渡你过河;到岸即舍,归档冻结。留下的是鱼(合并进真相的行为差量),舍掉的是筌
交互模块加载中 …(需可访问 CDN)

fig.1a — 渡河,实时模拟(质感版):此岸装货(proposal → Δ specs → design → tasks)→ 经停 review → apply 靠岸卸货 → 舍筏入 archive 冻结;新筏再起,账不清零。拖拽可旋转视角。

SDD 最常见的堕落形态是执指为月:把 spec 当成系统本身,文档越写越厚,维护文档反客为主——spec-kit 每个 feature 七个文件,评测者说 review 变成了”审计 AI 生成的文本而非设计软件”,这就是顶着筏子赶路。而 OpenSpec 把”舍筏”做成了内建仪式:change 文件夹从出生起就注定被归档,proposal、design、tasks 渡你过这一条河,archive 之后统统冻结,不再背负。一个工具在设计层面承认”我的产物是用完即弃的方便法门”,这在文档工具里是罕见的自觉。

三、无常:delta 的形而上学——流是实相,快照是假名

全量 spec 派有一个隐藏的形而上学承诺:系统存在一张可被完整描述的终点蓝图——一个”常”。佛教对此的回答干脆:诸行无常,变化才是唯一的基本单位。”describe the diff, not the destination” 是无常观的工程表达;再深一层是缘起无我——specs/ 里的”真相”没有自性,它不是被谁一次性写就的本质,而是几十次归档变更缘起和合的当前断面。系统之”我”,只是变更之流的相续。

变更₁ 变更₂ 变更₃ 变更ₙ archive:每一念折叠进相续 specs/ —— 变更的积分 当前断面(假名) 今天的”真相”只是 流在此刻的截面 未来变更 流不止
fig.2 — 缘起无我:真相无自性,由归档变更和合而成;OpenSpec 仓库自身 83 个归档变更就是完整的”念念相续”事件日志

四、顿渐之争:两偈分宗——spec-kit 与 OpenSpec 的分岔

北宗 · 神秀 —— 渐修
身是菩提树
心如明镜台
时时勤拂拭
勿使惹尘埃

南宗 · 慧能 —— 顿悟
菩提本无树
明镜亦非台
本来无一物
何处惹尘埃

渐门 · spec-kit 五阶硬管道,闸门森严 constitution specify plan tasks implement 门(gate) 单向拾级;中途返工须重跑整段 顿门 · OpenSpec enablers, not gates proposal Δ specs design tasks 依赖只供上下文,不设闸门;任一 artifact 随时回改,悟无先后
fig.3 — 顿渐分岔:阶梯是方便,不是律法。OpenSpec 的 “fluid not rigid” 就是顿宗宣言(另:schema 系统恰是一条守破离——守默认 schema → fork 破 → 自定 DAG 离)

五、中道:狂禅与经院之间——百丈清规

对抗评审一下——真正彻底的禅其实是反方:”不立文字,直指人心。模型已经够强,一个 plan.md 直接开写,要什么 spec 框架?”这是标准的禅门锋芒,而且它没错。但禅宗史早给出了下文:取消一切形式的”狂禅”最终都堕落了——”酒肉穿肠过”的后半句没人念。于是百丈怀海立清规,”一日不作,一日不食”:禅门自己最终也立了制度。不是背叛顿悟,而是发现:护持日常修行的,恰恰是最小限度的形式。戒不是束缚,是护栏。

经院 · spec-kit 执则死:文字成枷锁 七文件五阶段,review 变审计 中道 · OpenSpec 轻持则活 百丈清规:最小仪轨,护持日常 propose · apply · archive,日日是好日 狂禅 · vibe coding 舍则狂:无护栏即兴 “自信地实现你模糊要求的任何东西”
fig.4 — 执舍光谱:SDD 的根本公案不是”要不要文字”,而是”如何持有文字”
“吃粥了也未?””吃了。””洗钵盂去。” 赵州从谂公案 · apply 完要 archive,吃完粥要洗钵;吃了粥不洗钵的人,厨房(主 spec)会慢慢烂掉。修行不在开悟那一刻,在洗钵这件小事的不遗漏里

六、言语道断:缝隙处的诚实,与一枚圆相

对 SDD 最深的一刀是那句:”如果 spec 真能唯一决定实现,spec 就成了更高级的编程语言”——即语言不可能穷尽实现。禅宗对此从不辩解,直接承认:言语道断,心行处灭。所以只说到指月为止,剩下的留白给参。OpenSpec 的 spec 格式恰好是这个态度:只写外部可观察行为,requirement 粒度,明令禁止写类名、库、实现步骤。它不试图说尽,只负责指认;spec 与代码之间那道不可消除的缝隙,留给 design 与实现去”参”。这不是能力缺陷,是对”言不尽意”的诚实设计。

留白 言语道断处: spec 与代码之间 不可消除的缝隙 propose apply archive
fig.5 — 圆相(ensō):日常循环画成一笔,缺口即留白。生其心:郑重写下 spec;无所住:随时可改,用完即舍,归档不恋

执则死,舍则狂,轻持则活。
OpenSpec 做的事情,是把”应无所住,而生其心”八个字工程化了。 全文总纲 · 《金刚经》,慧能闻此句而悟

七、对照表:禅学概念 ↔ OpenSpec 机制(可检验的映射)

出处 OpenSpec / SDD 对应物
筏喻 · 得鱼忘筌 《金刚经》/《庄子》 change 文件夹注定归档:渡河即舍,archive/ 冻结不背负
执指为月 《楞严经》 文档拜物教:全量 spec 越写越厚,维护文档反客为主 [ spec-kit 病灶 ]
诸行无常 三法印 delta spec:变化是唯一基本单位,”describe the diff, not the destination”
缘起无我 中观 specs/ 无自性:真相=归档变更之流的当前断面(事件溯源)
渐修 · 北宗 神秀偈 spec-kit 五阶段闸门,返工须重跑整段
顿悟 · 南宗 慧能偈 “enablers, not gates”:无阶级,任一 artifact 随时回改
守破离 禅艺/武道 schema 系统:守默认 spec-driven → schema fork 破 → 自定义 DAG 离
狂禅 禅史堕落形态 vibe coding:无护栏即兴,”自信地实现模糊要求” [ 另一极 ]
百丈清规 百丈怀海 最小仪轨护持日常:propose · apply · archive,无高潮,日日是好日 [ 中道 ]
赵州洗钵 赵州公案 archive 不可遗漏:吃了粥不洗钵,主 spec 烂掉
言语道断 禅门共法 spec 只写可观察行为、禁写实现——不试图说尽,只负责指认;缝隙留给参
应无所住而生其心 《金刚经》 八字总纲:生其心=郑重写 spec;无所住=随时可改、用完即舍

4 responses to “轻持则活 · SDD 与 OpenSpec 的禅学解读”

  1. […] 日期 2026-08-14 对象 同一性问题 · OpenSpec v1.9.0 总纲 同一性不是被保存的,是被记录的 体裁 解读随笔(非调研) 姊妹篇 轻持则活 · SDD 与 OpenSpec 的禅学解读 […]

  2. new bee

Leave a Reply

About Me
Matthew Hong’s work avatar

I’m Matthew Hong, an engineer focused on architecture, standards, and documentation — and, increasingly, on the philosophy of how humans and agents work side by side. Matthew Labs is where I think out loud about how we build, organize, and work in the AI-native era.

Currently @ TapNow

matthewohmygosh@gmail.com

@Matthewohmygosh

Discover more from Matthew Labs

Subscribe now to keep reading and get access to the full archive.

Continue reading