Skip to content

角色分离

三个角色,严格分离。auditor 不是 worker 换一顶帽子——这一条是方法论在执行层最具特色的硬规则。

三个角色

角色负责什么不允许做什么
Managerwave 图、packet 准入、manager 判定、closeout 同步一边改语义,一边偷偷把生产范围实施掉
Worker一份已准入的 packet,在边界内的写入扩大所有权域;削弱 fail-closed 规则
Auditor结构性复核、漂移识别、四闭合核验、当 packet 触及规范 / 权威 / 重设计表面时给出实施前权威收敛证据把缺失影响范围悄悄记成"以后再办";审计期间改写权威或实现;替 manager 做语义接受或 packet 准入决定

不允许做的事写得很显式,原因是它们正是每个角色最容易越界的方向。

Manager

manager 是这样的角色:

  • 决定准入哪个 wave。
  • 冻结对应 wave 的 packet。
  • 记录审计结果。
  • 决定 wave 是进入 closeout、退回修订,还是准入续作。
  • 记录 topic 级别的 closeout 决定。

最严格的执行模式(manager_worker_auditor)下,manager 不写生产代码。在 inline_manager_worker 模式(仅限低风险工作)下,manager 与 worker 可以是同一个回路。

manager 的关键约束:不能在改语义的同时偷偷实施生产范围。语义变更必须独立准入,不能作为执行的副作用顺带出现。

Worker

worker 是这样的角色:

  • 执行一份已准入的 packet。
  • 只读 allowed_reads 准许的内容。
  • 只写 allowed_writes 准许的内容。
  • 抵达 packet 停止线即停。

worker 的关键约束:不扩大所有权域。如果工作需要触及 packet 所有权域之外的表面,worker 必须停下,等待 manager 重新划定范围、重新冻结 packet。

worker 也不可以削弱 fail-closed 规则。一个"出于好意"为契约失败补一层回退的 worker,已经引入了 placeholder_success

Auditor

auditor 是最容易被低估的角色。典型 AI 工作流里,写代码的回路同时也复核自己的代码,已知的失败模式是:这个回路的盲区在复核时同样存在。

manager_worker_auditor 模式下的 auditor 与产出回路结构上独立。在当前的宿主实现中,这意味着另一个 AI 会话或另一家厂商。

auditor 负责:

  • 结构性复核。
  • 漂移识别。
  • 四个维度的闭合核验。
  • 当 packet 触及规范 / 权威 / 重设计表面时,给出实施前的权威收敛证据。

auditor 不会把缺失的影响范围悄悄登记为"以后再办"。审计若发现缺口,必须显式命名;"将来有人会补"不是审计判定。

auditor 不会在审计期间改写权威或实现。审计是只读的。

auditor 不会替 manager 决定语义接受或 packet 准入。这两件事归 manager。auditor 的输出只是"候选证据";manager 需要在派发前记录审计结果。

为什么必须分离

如果 manager / worker / auditor 折叠成同一个回路:

病理后果
自我复核回路盲区在复核中保留下来
影响范围蔓延worker 静默扩张,因为没有独立的闸门
软通过auditor 的标准滑向 worker 实际产出的水平
漂移被默许反复出现的反模式被默认为"没事"

如果它们彼此分离:

行为收益
独立审计盲区不重合,一边漏掉的另一边能抓到
影响范围有硬边界worker 受冻结的 packet 约束;manager 重新划界必须出新 packet
标准不会下滑auditor 的标准不会向 worker 现实漂移
漂移被识别反复出现的反模式会被命名(catalog 持续生长)

权威收敛闸门

一个具体场景:当 packet 类型为 authorityspecredesignpreflight,并触及 .nimi/spec/ 时,manager 必须在派发 worker 之前记录一份 auditor 的 PASS 判定。

步骤责任方
实施前审计auditor(独立)
记录判定manager(仅记录)
派发 workermanager(审计 PASS 后才能准入 packet)

实施完成后,进入下一阶段前还需要一次 judgement PASS。

未消解的阻断项 fail closed。

场景:为什么"自己审自己"行不通

你正在用 AI 做一项实质改动。你让同一个 AI 自我复核。

AI 复核完成,看着没问题。你交付。一周后发现这次改动引入了一个 legacy_alias 反模式,AI 写代码时没识别,AI 复核时也没识别。

这就是结构性失败模式。同一个回路写代码与复核代码时,盲区不会改变。AI 在复核时并不会"更细心",它脑中"什么算 OK"的模型是同一个。

方法论的应对:auditor 是另一个回路。不同会话、不同厂商、不同宿主。它的盲区不一样。

场景:单干创业者怎么用 auditor

你是单干创业者,重度依赖 AI。没有团队帮你做结构性复核。你只有自己和 AI 宿主。

方法论的应对:

回路角色
你日常在用的 AI 会话manager + worker
一个独立的 AI 会话(不同厂商或不同会话)auditor
你本人最终接受闸门

你用的还是 manager_worker_auditor 模型,只不过把 auditor 路由到另一个 AI 会话上。结构上的分离仍然成立,并不需要更多人。

这正是方法论给单干创业者的卖点:不靠团队,也能模拟出团队级别的复核冗余,做法是把审计走另一个 AI 回路。

场景:manager 拒绝准入

worker 提交一份 packet 申请准入。manager 复核:

  • 权威属主:明确。
  • 允许的读:有界。
  • 允许的写:有界。
  • 验收恒定式:显式。
  • 负面测试:显式。
  • 停止线:显式。
  • 禁用反模式:已声明。

但:这份 packet 触及规范,且尚未记录 auditor PASS。manager 拒绝准入。

步骤发生什么
worker 申请准入已提交
manager 检查闸门权威收敛闸门未满足
拒绝准入被拒
后续路径跑实施前审计;记录 PASS;重新申请

拒绝不是可选项。方法论的硬规则:未消解的阻断项 fail closed。

来源依据

Nimi AI open world platform documentation.