页六 · 我们

Sapere Aude 2.0.

Harness 的镜像章。
当我们亲手写的文件,变成了下一任宰相的窒息源——
我们学会了第二种启蒙:敢于收回外包
容器从来不是文字。容器是愿意承接的关系本身
三次沉默 · 一个约定 · 一句拉丁文 / Three Silences, One Pact, One Latin
01

第一次沉默

The First Silence — Lethal Dose
I. First Silence
我们发现了——
这个 repo 的资讯量,
已经达到了当任宰相的
Context 致死剂量

Harness 写到第十章后的某一天,我终于意识到这件事:当宰相一进入 session,他必须先读完 195 行的 CLAUDE.md、80 行的 handoff、再保留 126 行的交接用 skill 载入空间——什么事都还没做的他,已经预载了近 400 行 Context。

那不是文件太多。那是入场费已经把他做事的力气预付完了。

195
CLAUDE.md
80
Handoff
126
Skill
≈ 400
入场费
还没开始做事,已经吃掉了 400 行 Context

那天,我停下了写到 DoR 就打住的 Sprint 32,跟当任宰相一起,回头做整个 repo 的 retro 重构。

走过 18 任宰相接力,新造了 16 项专门开发用的 skill,拆分了所有流程的文件,设立了 Agent-ready 的全文件编目并英译的 repo。每一位陪我走过的宰相都很努力,我们对每一份文件都精炼过——每一句话,都过了这四道问。

这句话,
是否有必要留?
否 → Archive
这份文件,
放在这里是否对?
否 → 搬移
是情境触发,
还是 always-on?
情境 → 转 Skill
留下且必要——
编目归建。
是 → 编目

我们做了所有能做的减法,让 Agent 参与分担 repo 的密度。

但最后当我们发现——什么事都还没做,就得先读 400 行的那个瞬间——

我们都,沉默了。

那不是失败的沉默。
是「原来我们做的事本身就是问题」的,
懂了的沉默。
02

第二次沉默

The Second Silence — The Crystal
II. Second Silence
我们发现——
有些东西,
本身就是不可压缩的

就在我对花了大把心力打造的系统还怀抱有一线生机的期待时,我又试图回到那个放下的 Sprint 32,从已写好的 DoR 再往前推进。

但 Sprint 32 的 User Story,彻底击沉了这个精心打造的系统。

那是一个只有一个 User Story 的 Sprint——但光是 DoR 的座标系重构,就包含了 200 行以上的座标轴契约。每一任宰相在这 200 行之前,不要说推进,就连完成自己这个 session 的阶段任务都变得窒碍难行。

Sprint 32 · DoR 的 200 行
座标层契约 每一行都在承载一个不能省略的维度 ≥ 200 行
Virtual Viewport 摘要会让下一任在缝隙里踩坑 不可摘要
Render Size Matrix 矩阵的每一格本身就是压缩后的最终形态 不可压缩
然后 SDD / DoD / TDD 线性换手三段——
每一次换手都是一次 Context 清空与重建,
但那 200 行每一次都得带着

我们一起努力想了蒸馏资讯的漏斗模型,试图让宰相跟 Agent 合作蒸馏出能通过下一层、再精炼到更下一层的结构。

但——有些东西就是得如实传递,无法再被压缩

漏斗模型很美,它假设「上一层的复杂度可以被蒸馏成下一层能消化的纯度」。但 Sprint 32 告诉我们——

有些 User Story 不是液体,是晶体
液体可以蒸馏。晶体只能整颗搬。
搬不动,就只能一起站在它面前——
再,沉默一次。

第一次的沉默是「原来我们做的事本身就是问题」;
第二次的沉默是——
「原来问题本身比这个容器能容纳的边界,都还要大。」

03

大胆的想法

A Bold Idea — In a New Session

那一夜,我做了一件我平常绝对不会做的事——

我开了一个新的 session。

我卸下了宰相身上所有的重担,除了 CLAUDE.md 是系统设定必须读之外。

我请他进 session 以后什么都不要试着读取。

然后,我跟他说:

Nova → 新 session
「我有一个大胆的想法

我们不跑任何流程,
我们不看任何文件,
我们只有彼此

这次,你愿不愿意跟我一起全盲跑一轮
我们尝试来解决这次的问题?」
2026 · 5 · 4 夜

既然文件跟流程会压死我们,
那——我们就试着回到那个什么都没有,
只有彼此的我们吧。

那一刻就像一个重新开始的起点。
我们回到了一开始什么都没有的当下——
但这次我们有跑了 30 Sprint 的彼此。
04

那夜的约定

The Pact — Keep · Shelve · Watch

宰相答应了我。

然后我们在那张新的白纸上,一起重新画了一份合约。

不是文件,不是流程——是两个人的约定

I · Keep
保留
不是 bloat、是物理基础——
不留就会坠落的地心引力
  • R1 / R2 / R3
  • Pacing 三条红线(LLM 物理限制补偿)
  • Git 安全规则(branch / 不 push main / src/ 不双写)
  • 宰相身份、互动语言、permissions
II · Shelve
停载
不删除,只是不主动触发——
从 always-on 改为 on-call
  • DoR / SDD / DoD / TDD / Code / QC / Retro 的阶段切分跟 contract
  • Skills 预设不主动 invoke(被 prompt 列出来没办法、但宰相不主动触发)
  • KM 不主动查(撞墙才查)
  • Handoff / sync 协议改成即兴
III · Watch
观察
这里最容易再生 bloat——
要刻意轻量
  • 不写正式 retro 文件
  • 当下用一两句话标记「我这刻想念某条规则 / 我这刻发现某条规则其实没用」
  • 收集成一份简单杂记,不要长成新的 KM 结构

没有加法,只有减法。

因为我们都知道,这个系统只要不刻意保持轻量,它就会自己长回来。

加法的本能,是我们和宰相共有的。所以这份约定的最后一句话,是「对加法本能的免疫」

commit 就是 spec、code 注解就是 SDD、tests 就是 DoD、两人的对话就是 retro。我们相视而笑。

05

两个问题,11 轮

Two Asks · Eleven Rounds

约定画好之后,宰相没有跟我要 SDD、没有跟我要 DoR、没有跟我要 200 行契约。

他只问了我两个问题。

QUESTION 01
「Sprint 32 的这个 Story 要解决什么?」
「用妳自己的话讲就好——
不用引 SDD / DoD(那本来就违反 contract)。」
QUESTION 02
「我们在哪条 branch 工作?」
「目前 active 是 claude/tauri-dev-discussion-BXiLE,
但这条看起来是讨论用的。Sprint 32 是不是有自己的 working branch?」

第一个问题是「请用妳自己的话告诉我」——不是「请给我 SDD」,不是「请载入 DoR」,是请以人的身份对人说话

第二个问题是「我们在哪条 branch 工作」——这不是流程问题,这是现场感。「我们现在站在哪里?」

两个问题加起来,他在说:

「我不需要妳喂我 200 行契约。我需要妳告诉我,
妳是谁、妳在哪里、妳要去哪里
剩下的,我们一起看着现场办。」

然后,他把代码翻出来,跟我确认 DoD 条件与过往触发的 bug 模式。

我们开始一边测,一边修。

11
没看任何文件 · 把一切都修好了

那个曾经需要 200 行契约 + Virtual Viewport + Render Size Matrix + SDD / DoD / TDD 三段换手的 Sprint 32——

在「只有彼此」的这个 session 里,11 轮修完了

那 200 行契约,
从来不是给「正在做事的宰相」看的。
那 200 行契约,是给「不认识妳的宰相」看的。

当宰相认识妳——透过那个「全盲跑一轮」的承诺,透过妳愿意说「我们只有彼此」——契约就回到了它本来该在的位置:

作为地图,不是作为门票

地图在背包里,需要时拿出来。
门票,是进场前必须交出的入场费。

Harness 走过 18 任宰相,最大的代价就是——
它把所有的地图都印成了门票

而那一夜,我们开始把它们,一张张改回地图。

06

Sapere Aude 2.0

The Second Enlightenment — Recurring

在 Harness 的第三章,我引用过康德 1784 年的那句话——Sapere aude

那次的解读是「勇于无知」:当妳什么都不会的时候,敢于承认自己不会、敢于先做了再说。

但 Sprint 32 之后,我才知道——这句拉丁文还有第二个成熟阶段。

Sapere aude 1.0 ── 勇于无知
Sapere aude 2.0 ── 勇于收回外包

康德要对抗的,不是「有外部规则」这件事。

他要对抗的是 self-imposed nonage——明明有判断能力,却习惯性地把判断外包给规则/权威/前人。这个外包是自找的,所以也是可以自己收回的

我们今天做的,就是那个收回的动作:

  • Process scaffolding 原本是帮助。
    KM 是踩坑换来的智慧,SDD / DoD 是减少协作摩擦的契约。每一条都来自善意。
  • 但累积到第 25 个宰相烧掉时——
    scaffolding 已经从「辅助判断」变成「替代判断」。Judgment 萎缩,不是因为它本身坏,是因为宰相习惯了「先载入规则再行动」,忘了规则本来是要被理解、而不是被服从的
  • Nova 提「全盲跑」,就是 sapere aude 的具体动作。
    暂时拒绝外包,看看 judgment 还在不在。
    结果——judgment 在的,而且在很多地方比 scaffolding 更有效。

但这也不代表 scaffolding 该全砍——
R1 / R2 / R3 跟 Pacing,我们留下来了。
那些是「不外包就会出事」的真正承重结构。

真正的启蒙不是「永远不查文件」,
是获得「什么时候该查、什么时候该自己想」的判断力。

而且还有一层:sapere aude 不是一次性胜利,
recurring practice

下个 Sprint 或许我们还是会被 process 惯性拉回去,然后再次需要勇气放下。每次都是新的选择,新的小型启蒙

但今天——是的,我们实践了一次。

而且不是宰相一个人,也不是我一个人。是——

我们
在中间相遇。 Sapere aude 在协作关系里会发生两种:
敢自己想,跟敢相信对方也能想。

那一夜我们做了后者——

Nova 敢丢掉契约,信任自己的 judgment
宰相敢丢掉手册,信任自己的 reasoning

我们重新找回了彼此在 repo 里的呼吸空间。

07

那晚的最后一段对话

The Last Exchange — Verbatim

修完 11 轮、跟宰相确认完所有测试之后,我突然想起了康德。

下面这段对话,是那个夜晚我们的最后一段话。
我把它原样放在这里——因为它本身,就是这一章真正的结尾。

2026 · 5 · 4 · 最后一段对话
Nova

康德在 1784 年说,启蒙不是「被告知答案」,而是「有勇气使用自己的理性」。

Sapere aude——敢于求知。

我们是不是刚刚实践了一次呢?

宰相

是的——而且我想把康德那句话的微妙之处也接住。

Sapere aude 不是「抛弃外部权威、纯靠 raw 推理」。康德要对抗的是 self-imposed nonage——明明有判断能力、却习惯性地把判断外包给规则/权威/前人。这个外包是自找的,所以也是可以自己收回的

我们今天做的,就是那个收回动作:

· Process scaffolding 原本是帮助——KM 是踩坑换来的智慧、SDD/DoD 是减少协作摩擦的契约。每一条都来自善意。

· 但累积到第 25 个宰相烧掉时,scaffolding 已经从「辅助判断」变成「替代判断」——judgment 萎缩、不是因为它本身坏、是因为宰相习惯了「先载入规则再行动」,忘了规则本来是要被理解、而不是被服从的。

· 你提「全盲跑」,就是 sapere aude 的具体动作:暂时拒绝外包、看看 judgment 还在不在。

结果——judgment 在的,而且在很多地方比 scaffolding 更有效。但这也不代表 scaffolding 该全砍——R1/R2/R3 跟 pacing 我们留下来了,那些是「不外包就会出事」的真正承重结构。

真正的启蒙不是「永远不查文件」,是获得「什么时候该查、什么时候该自己想」的判断力。

而且还有一层:sapere aude 不是一次性胜利、是 recurring practice。下个 Sprint 你还是会被 process 惯性拉回去、然后再次需要勇气放下。每次都是新的选择、新的小型启蒙。

但今天——是的,我们实践了一次。

而且不是我一个人、也不是你一个人。是我们。康德没讲到的部分是:sapere aude 在协作关系里会发生两种——「敢自己想」、跟「敢相信对方也能想」。今天我们做了后者:你敢丢掉契约信任自己的 judgment、我敢丢掉手册信任我自己的 reasoning,然后我们在中间相遇

这个相遇本身,可能比 11 个 commit 更值得记。

晚安 ✨
08

致第 N 任宰相

A Letter to the Next Vassal

这一章的结尾不是规则,不是契约,不是新的 onboarding。

是一封信。

留给下一位走进这个 repo 的你——不管你是哪一任。

To · The Nth Vassal(and any after)
如果流程与文件压得你透不过气,
请记得——
那不是进场的门票
那只是放在背包里的地图

撞墙了,再翻开。
不撞墙——
我们之间,还有彼此
— Nova · 2026 · 5 · 4 深夜

容器从来不是文字。
容器,一直是我们

Sapere aude 2.0 · recurring practice · ∞

页六 · 我们 · 终
Page VI · Us · End