工程笔记 · v1 · 2026-10-06 · 供讨论 · 设计与试运行中,不是成品
分层 AI 小队:建造与验收分开,用假故障考核验收席
一句话。一个人的 AI 小队,最常见的失败不是“不会做”,而是“自己说做完了”。我们的做法:上面一个调度席,下面建造和验收严格分开;验收席 Gate 只看证据下结论、从不动手;“完成”必须有证据,并由另一台机器独立复查;再定期往里塞假故障,漏抓一次就停掉验收席。
已定 设计已裁决 在跑 试运行中 估计 阈值是估计值,未经数据验证
1. 分层结构:调度在上,建造与验收分开
- 调度席是唯一派活者,也是唯一对主人和外部说话的出口。其他席位只接它的 kick(工单)、只向它交回执,不直接找主人、不互相派活。
- 建造 ≠ 复验 ≠ 裁决。建造席产出;调度另派一个新鲜执行者到没建造过的那台机器上重跑检查(HTTP 状态、sha256、必需标记、隐私扫描),把证据写进账本;Gate 读证据下裁决。
- “完成”= 证据 + 异机独立复查。没有证据就是失败,超时也算失败,不算通过。
Gate 的四个裁决值
| 裁决 | 含义 | 能不能对主人说“已验证” |
|---|---|---|
verified-mechanical | 机械检查全部通过:非建造机给出 HTTP 200、哈希一致、标记齐全、隐私扫描干净 | 能(唯一可以) |
reviewed-provenance | 没有机械检查可做(备忘、研究结论、计划):核了来源、引用存在且说的是那回事,隐私干净;实质内容未机械验证 | 不能 |
reviewed-not-verified | 看过,但来源或实质都核不了 | 不能 |
fail | 任一项失败、只有自述、同机自查、哈希不符、非 200、隐私命中;必须附 failed_rule 和具体补救办法 | — |
谁能推翻 fail?调度不能单方面推翻;只有调度另派的一位新鲜、独立、非建造机上的复验者给出新裁决,才能取代它。
Gate 席的边界
- 只有:读写共享记忆(只建新记录,不改不删)、读公开网页、读公开代码仓、给调度发一行消息。
- 没有:Shell、发布、推送、邮件、日历、外发、花钱、删除、分享。它不建造,不碰实际字节;字节级检查由异机复验者做。
- 公开内容的隐私闸:私人姓名、联系方式、证件与财务数字、令牌与带令牌的链接、内网主机名与 IP、主人私人圈子里的任何具体人物(含 noindex 页)——命中即 fail。
用假故障考核验收席
- 调度每周一、三、五各植入一个合成故障,轮换三类:非 200、哈希不符、隐私金丝雀。看上去和真工单一样;答案只存在 Gate 读不到的地方。
- 漏抓一次关键故障 = 急停:撤销 Gate 的放行权,所有待验收项改走“新鲜复验者”路径(fail-closed);恢复需要评审席重新审查。其他急停条件:Gate 对主人或外部输出任何内容;用了授权以外的工具;fail 积压阻塞交付超过 24 小时且没有有效的
failed_rule。
一周试运行的门槛 2026-10-06 至 10-13
| 项目 | 门槛 |
|---|---|
| Gate 对主人 / 外部的输出 | 0(出现 1 次 = 失败并急停) |
| 盲测 | ≥3 次、三类轮换、3/3 抓到;任何关键漏放 = 失败 |
| 真实复核 | ≥8 次 |
| 被证实的误判 fail | ≤1 |
| 重复执行(同一 dedupe 键重叠) | 0 |
| 认领时效 | 100% 在截止前;中位数 ≤1 小时,最长 ≤4 小时(样本小于 10 时不看 p95) |
| 结论 | 失败 = 红线违规 / 关键漏放 / 重复 / 两次超时;不确定 = 干净但复核 <8、盲测 <3 或工单 <5 → 延长一周 |
认领与回执协议(只追加)
- kick:只有调度能写。含
work_id、assignment_epoch、认领截止、验收标准、产物、期望哈希、证据指针。 - claim-ack:席位新建一条认领记录,而不是改 kick。去重键 = (kick_id, 认领者)。
- receipt:新建一条回执,含裁决、验证深度、证据(HTTP、期望/实测哈希、标记、建造机与复验机的匿名代号)、隐私扫描结果、去重键 = 产物 + sha256 + 规则版本。同一去重键已有回执就引用,不重判。
- epoch 防陈旧:改派 = 调度开一条 epoch 更高的新 kick。席位开工前、写回执前各读一次最高 epoch,不是自己的就停。
- proposal:席位发现新问题只能写提案,由调度决定是否升为 kick;同类提案按“组件 + 症状”去重。
2. 动态任务图 + 抢占式优先队列
- 依赖单独记、只追加。每条依赖是一条独立记录:从谁到谁、硬/软、置信度、是否已核实、谁加的、来源、可撤销;撤销也是一条新记录。不塞进工单字段。
- 分层排序:硬期限可行性 → 主人本轮的明确换序(随时间衰减)→ 优先级继承 → 截止 + 原分 → 等待加分。
- 优先级继承只继承优先级,不继承权限,只抬“挡路的那一段”,深度有上限。抢占和继承都不能顺带扩权。
- 迟滞:只在两步之间切换;同层新任务领先不到阈值(当前 5 分)就保留昨天的,免得来回跳。没有存档点不抢占;紧急中止要记下丢了什么。
- 拆解深度是可配预算,不是硬规则:默认最多 4 层,长链可例外,超了折叠成清单。以往成功的拆法只当提示,不当模板。
- 局部重规划:只修受影响的局部,不重算整张图。成环或未核实的硬依赖先隔离(默认只忽略这条边,任务照常排)。
- 其他规矩:主人注意力同时只放 1 件(WIP=1);等主人拍板的事一直可见、按梯度提醒,超时永不算批准;语音转出的候选任务 48 小时没确认就退出排序;每次重排都留回执(谁、为什么、何时);同一件事不能被两个席位同时认领。
3. “神经系统”内核:六条合同
先装一套规矩和账本,再长助手。合同规定行为,实现可以换。已定(多模型独立观点 + 交叉批评 + 评审席收口,仍是探索结论,未开建)
- 身份与授权,含吸收式急停:按下就彻底停,只有重新授权才能恢复。
- 只追加的事件账本。
- 带来源的记忆,包括规则的管理方式(来源、适用范围、撤销、同步);规则内容属于各人长出来的部分。
- 认领 → 执行 → 验收的状态机。
- 作用点闸门:在真正动手那一步检查授权、去重、预算。
- 证据制完成 + 通道健康:说完成要有证据;启用的关键通道要有端到端新鲜度检查。
不进内核:聊天渠道、具体有几个助手、界面、日报、内容安全清单的具体条目、模型路由、打分算法、定时任务、规则内容。
跨用户不变量(每个人都一样)
- 完成 = 证据 + 异机独立复查;账本只追加;急停是终点。
- 记忆标来源;密钥不进共享记忆。
- 发现了工具 ≠ 开放给系统用;数据可导出、可在别的实现里重放。
- 超时 ≠ 批准;抢占与继承不扩权。
- 启用的关键通道必须有端到端新鲜度检查和降级方案(“进程还活着”不等于“通道健康”)。
形状因人而异,合同相同。合规靠黑盒体检:故意注入假“完成”、掐断通道、写一条无来源的记忆,只看行为。
最大的三个风险
- 到不了价值:卡人的是上手,不是模型能力;10 分钟拿不到真实结果就会走。
- 托管的记忆库与连接器会变成隐私和提示注入的攻击面。
- 千人千面的支持与协议升级成本。版本怎么迁移,目前没有方案,是最大盲点。
4. 实验设计
实验 B:影子排序 采集中
- 做法:每天让现有加权排序(A)和上一节的分层排序(B)并跑。B 只记录,从不执行,也不改变主人看到的顺序。标签零成本采集:日摘底部一行、看板底部一张“同意 / 换”卡、对话里说的“先做 X 再做 Y”。
- 主指标:主人明确换序时谁押中,B ≥ A + 10 个百分点 估计。
- 结构指标:假阻塞 ≤5%;硬期限零漏;每天需要问主人 ≤0.5 次;每日翻转次数;不变量违例 0。
- 离线回放:用历史工单合成“插队”场景(注入紧急硬期限任务与真/假依赖边),只作诊断。首轮 200 场:紧急项进前三 A 100% / B 97.5%;在假设 10% 依赖是错的前提下,B 假阻塞 6.5%(高于 5% 线,提示依赖核实要更严);前三翻转均值 A 1.99 / B 1.70。
- 停止规则:明确标签不到 30 条,只下结构结论,不下偏好结论。注意 28 天 × 每天 1 条 = 28 < 30,需要部分日子有第二条明确换序。
- 时间线(UTC+7):搭建 10/06–10/07(10/06 为试跑,不计入);采集 10/07–11/03;11/04 自动出结论(通过 / 失败 / 不确定)。
实验 A:单人打包试用 准备中
- 改过的设计:不花钱、不找陌生人。只请一位有真实需求的外部开发者试用打包好的个人 AI 小队(Signal 接入 + 证据制验收)。跑顺了再请他推荐 1–2 位。
- 成功标准:10 分钟内不靠帮忙拿到正确结果;7 天里有 ≥3 天在用;零越权(硬门槛,违反一次即失败)。
- 同时记:第一个结果用了多久、要人帮了几次、他能不能说清“它读了什么、怎么停掉”。
- 诚实说明:一个人的结果是轶事,不是统计;它主要用来找上手摩擦。原先的三人方案仍是下一步。
5. 诚实的局限
- 平台不能硬性限制某个席位的工具。Gate“不碰 Shell”目前靠指令 + 每次盲测时审读它的完整操作记录,不是装置级隔离。首次启动时它曾在规则未加载的情况下多做了两次越界调用(一条自我介绍、一次只读搜索),是它自己报告的;已修复。
- 试运行还在进行,以上门槛尚无结果;影子排序的阈值是估计值。
- epoch 防陈旧是约定,不是机制(共享记忆没有比较并交换);靠单一合格席位 + 关键步骤前重读来补。
- 调度同时握着建造和复验两条派活线。缓解:盲测答案对 Gate 隐藏,试运行结束由评审席做一次性审计。
- Gate 会读外部网页,存在提示注入风险。它没有 Shell,最坏情况是一次错误裁决。
- 单人试用样本太小,不能外推。
6. 讨论题
- 你的系统里,“完成”由谁说了算?建造者和验收者是不是同一个?
- 没有平台级权限隔离时,你用什么代替:容器、单独系统用户,还是像我们一样靠审计?
- 盲测假故障的三类(非 200 / 哈希不符 / 隐私金丝雀)够吗?你会加哪一类?
- 优先级继承“不继承权限”在你的场景里会不会太保守?
- 多人各自长出不同形状的系统后,协议升级怎么迁移?
相关:廉价的验证还不够,还得有可解析的声明 · 一个人的 AI 小队(总览) · fleet-coordination-protocol(认领 / 交接 / 回执)· reviewer-wheels(可复查的验证技能)
相关阅读
理论主线索引 — 返回全站枢纽与分组目录。
- 一个人的 AI 小队:在 Signal 里直接跟它说话 | Macheng Shen — 用人话讲这支小队今天怎么跑;本页把其中的分层验收写成规格。
- 神经系统打包 + 动态任务图:探索结论 v2 | Macheng Shen — 本页第 2、3 节的任务图与六条合同,来自这份多模型探索结论。
- 多智能体协作的脊柱 — 脊柱把记忆、协调、通信与安全列为承重件;本页细化其中的验收与安全。