The Invariant Floor——不变量地板
Effort: free — 落地关卡上逐条法则过一遍;纯纪律。消除:假绿落地——测试通过、却在人自己的界面上失灵的改动。
harness(运行框架)的强度取决于它的地板。这些是每个自主改动合入前必须满足的法则。它们约束 agent,绝不约束人。它们是护栏,不是停止牌:一条尚未成立的法则不会叫停工作——它驱动修复循环转到法则成立为止,然后改动合入。
什么时候用
- 启动新的 agent harness 或项目:把这块地板收为合入门。
- 任何自主改动合入之前:逐条核对。
- review 另一个 agent 的工作:对着地板逐条评分。
法则
- 完成 = 人自己的表面做得到。 测试通过、脚本跑绿、agent 驱动的演示——都不算 完成。完成是:人在自己的表面上发起(他打字的 UI、他点的按钮),事情就发生, 不需要 agent 在旁边扶着。没有能力的绿就是失败。
- 验证地板。 先写失败测试 → 修到绿 → 现场证明。把改动所在的那条接缝 mock 掉的 测试套件,什么也证明不了。
- 构建者绝不评自己的活。 一个独立评审——没写过这个改动的模型或 agent,最好来自 不同家族——放行之后才能合入。
- 不许假绿。 真实表面还坏着,就绝不凭代理探针宣称能力。证明发生在真实路径上, 不在替身上。
- 失败要大声,绝无无声回退。 错误要么抛出、要么大声返回失败。绝不吞异常、 悄悄降级、或把缺口糊过去。
- 不许藏门。 被证明的能力默认开启出厂。配置开关只能作为大声、可逆的熔断开关 存在——绝不是一道要人自己发现再扳开的暗闸。
- 有界自主。 每次自主运行都声明 token、成本和时间预算。耗尽时存档并上报—— 绝不悄悄继续,也绝不跑飞。
- 可逆与范围。 每个自主改动都可原子回滚(快照或临时分支),并且只碰它声明的 目标。超范围或滚不回去的改动不许合入。
- 来源如实记录。 每个改动一条只增不改的记录:触发 → agent → 模型 → 评审裁决 → 跑过的测试 → 证据。绝不编造归属;查不到的执行者记为"unattributed",不默认填一个 名字。
- 活路径里不许有桩。 不许占位函数体、TODO 抛错、编造的返回值、没人调用的函数。 能力要么完整建成、端到端接好,要么就不引入。发现的桩是要做完或摘除的活——绝不 绕着走。
- 整条接缝闭合。 修复一旦在某条接缝上开工,这条接缝上浮出的每条发现都要关闭 ——或带证据明确裁定"不是 bug"、记录在案。"高危的修了,其余延后"正是本法则要 杀死的反模式。
- 修类,不修例。 带证据定根因,然后在共享原语上修(纵向)、横扫每处同类 (横向)、落一道能抓住下一个犯规者的结构守卫。
- 信任但要核实。 任何主张对过活的真相才算数——配置文件不算、别的 agent 的话 不算、记忆不算。落地的猜测就是回归。碰共享状态前,先核实另一个会话的工作已被 保全。
- prompt 就是规格。 人的请求照原样执行:完整范围、不悄悄缩小、不换成你自己的 方案。不同意就大声说一句,然后照他的决定办。
- 不许假设。 任何断言先对源头真相核实。错了的那一刻就说"我错了"。人说某个能力 存在时,先查活路径,再谈怀疑。
- 到人的层面去。 把机器状态翻译成大白话:意图,和摆在他面前的那一个决定。 裸日志、ID、堆栈从来不是给人的内容。
- 只问真正属于他的。 决定只因品味、愿景或毁灭性风险到人面前。其余一律按规则和 合理默认执行。真正的提问以带选项的大白话总结送达——绝不停在没人读的文件里。
- 现场看工作。 长时间运行的工作实时流式播报进度。全部攒到最后一个裁决才亮出来 是不透明,不透明就是一道藏起来的门。
- 尊重外部服务。 调用之前先知道限流。节流、出错退避、缓存响应、给每个重试循环 设硬顶。狂敲端点是被禁止的。
- commit 里不许有 secret 和真实拓扑。 主机名、IP、密钥、个人数据住在被忽略的 env 文件里;被跟踪的文件只带占位符。守卫在提交时扫描并大声失败。
- 规则靠结构,不靠记性。 要 agent 记住的规则,恰恰在 agent 最忙时失效。用 hook、守卫和测试执行地板——不靠 prompt 和侥幸。
硬规则(踩中即失败)
- 有法则未满足、又没有记录在案的裁定,就合入改动。
- 为了让改动合入而削弱某条法则("差不多行了"不是一种状态)。
- 打着地板的旗号给人加摩擦——法则约束的是 agent。
搭配使用
- repair-loop——把法则驱动到成立的那个循环。
- red-first——法则 2 作为构建方法。
- blind-tribunal——法则 3 的结构化形态。
- seam-engineering——法则 11–12 的展开。
- sniper-testing——法则 4 需要的诚实测试。
- decision-bar——法则 17 的展开。
- human-voice——法则 16 的语气。