改变顺序,
保持决策不变。
选项所在的位置,不该决定哪个行动胜出。让分数与行动身份绑定,界面上的顺序就可以自由变换。
选择依赖的是选项位置,还是行动本身?通过交互来看看两者的区别。规范选择头先按稳定 ID 排序,再利用正单纯形计算分数,最后将概率映射回调用方的原始位置。
亲手改变顺序乱序对抗实验场
四个行动,共用一个固定表征。改变选项顺序,观察胜出行动的身份是否改变。点击对抗置换按钮,会遍历全部 24 种排列,找出最能让竞争行动胜出的位置敏感玩具模型输入。
朴素 Softmax
上方的实时翻转率来自你对这个玩具模型的操作,并非论文中的基准测试结果。Softmax 本身具有等变性;导致决策不稳定的是分数中的位置偏置。
Gen-Zero 单纯形 ETF + 规范选择头
实时计数器衡量本演示中行动身份的稳定性:概率始终跟随对应行动。前提是候选集合固定、稳定 ID 唯一,且表征保持不变。
已就绪。高亮行表示各模型选中的行动。
三维正单纯形:交互式四面体
让任意两个顶点对应的方向具有相同夹角。正单纯形将 k 个方向对称地分布在 k − 1 维空间中。拖动图形即可查看:理想几何关系是精确的,显示的坐标和点积则采用浮点近似;旋转时变化的是二维投影。
夹角相等,没有特殊优待的方向
| 顶点对 | 点积 |
|---|
“几何公平”指任意两个方向之间的间隔相等,并不意味着社会公平、语义准确或被选中的频率相同。规范化带来顺序稳定性,ETF 则提供对称的几何结构。
共线与退化:边界情况实验室
两个行动即使语义特征完全相同,也可以拥有不同的稳定 ID。分数相等是合法情况;若要选出唯一胜者,就需要平分处理规则。观察“优先选择首项”的规则如何改变决策,而规范选择始终选取符合条件的最小 ID。
范围:0 至 2 × 10⁻⁷ · 规范选择容差 ε = 10⁻⁷
Rust ETF 选择头使用共享表征,而非为每个候选项各设一个语义向量。特征示意图展示的是上游特征坍缩,不会使构造出的 ETF 坍缩。差值滑块则单独演示论文中的 logit 平分处理规则。
这一保证究竟带来了什么
等变性意味着概率坐标随选项顺序一起变化;不变性意味着选中的行动 ID 保持不变。仅排序还不够:还必须将规范顺序下的分数映射回显示位置,才能完整满足这一约定。
论文中的直接 Rust 基准测试报告:16,232 次对抗置换比较中,行动身份翻转 0 次(翻转率 0.00%),按身份对齐后的最大概率漂移为 5.96 × 10⁻⁸。测试工具还拒绝了全部 24/24 次无效输入探测。这些是有限次压力测试的结果,并非语义准确率。本页面是独立的教学模拟,并未重新运行该基准测试。
生产实现中的 Rust ETF 核心位于 crates/gen-zero-model/src/choice_head.rs:ActionETFChoiceHead::evaluate 按 ActionId 升序排列候选索引,分配规范单纯形顶点,将 logits 映射回调用方位置,再应用 Softmax。选择时,在规范 logit 与最大值相差不超过 10⁻⁷ 的候选中,取 ID 最小的一项。服务通过显式的 ETF 选择头选项开放这一核心;默认文本路径使用语义桥接。集成边界见下方运行时架构图。
图中使用旋转后的正四面体,并非 Rust 实现中的 Helmert 基;JavaScript 计算采用双精度,而 Rust 使用 f32。保证成立的前提是候选集合固定、稳定 ID 唯一且表征固定。它并不能证明答案在医学或事实层面正确。
位置敏感的编码器可能在表征进入选择头之前就改变它。稳定也不等于决策正确。重复 ID 会破坏保证成立的前提;由于 Rust 的帧构造函数不会拒绝重复 ID,调用方必须确保 ID 唯一。
Gen-Zero 模型架构
与神经管线
冻结的语言模型提供表示和似然。专用的决策、对齐和风险路径以不同方式使用它们。空间世界模型是一个独立的学习分支。探索各层并查看其张量形状。
代码审计: · gen-zero @ dc0c2133f059。实线箭头表示已实现的数据流;虚线箭头表示拟议的调度契约。这些组件并非一条在所有场景中统一部署的串行管线。
所有数据流均可见。选择一层以查看其维度和证据。
在窄屏上水平滚动图表。每一层都可用键盘选择;源代码注释还提供文本版本。
检查模型层
选择任意框以查看其张量维度、机制和实现限制。使用 Tab,然后按 Enter 或 Space,或使用指针选择。
实现证据与架构边界
骨干来源。 Qwen2.5-0.5B (d=896)、Qwen3.5-2B、Qwen2.5-72B (d=8192) 和 LLaMA-70B (d=8192) 是文档记录的层级。LLaMA-3.3-70B 是请求的目标,但保留的大模型提取元数据标识的是 LLaMA-3.1-70B。尚未建立经过验证的 3.3 提取结果。
训练范围。 这些路径中的 Transformer 权重保持冻结。语义门控使用 16 个带标签的上下文示例和差分对数似然 (PMI),不拟合安全头。空间模型仍有一个学习得到的结果/奖励头;监督对齐头也仍然存在。“不对骨干进行微调”并不意味着没有下游训练。
v0.1.0 · Fail-Closed. v0.1.0:全六引擎 F01–F09 Fail-Closed 防线通过 11/11 项测试。形式化故障阻断门控拒绝非有限的无效结果。浏览器锁存器演示安全契约;软件测试不构成物理电机停止行为的认证。
crates/gen-zero-model/src/choice_head.rs:ActionId 规范全序排序和 单纯形 ETF 几何;保留的直接 Rust 基准报告 0/16,232 个身份翻转 (0.00%),在表征和候选身份固定时,最大概率漂移为 5.96 × 10⁻⁸。论文证据:equivariant-choice-head/evidence/revision/results.json。python/gen_zero/world_model/neural_dynamics.py:[B,64] 状态 + [B,16] 行动 → [B,80] 拼接 → Δz=f(z,a) → z′=z+Δz;学习得到的 sigmoid 结果头。维度来自空间配置,而非通用类常量。benchmarks/suites/geometric_latent_fusion.py:正交 Procrustes 诊断以及配对 SVD 核心/残差特征。benchmarks/suites/evaluate_manifold_pareto_ensemble.py:监督归一化 logit 融合,与几何投影不同。docs/zero/29-pubmedqa-aegis-unified-manifold-evaluation-closure.md:PubMedQA 78.40% (196/250),选定双头融合;Aegis Track A 81.60% (204/250),选定单 LLaMA 头。这些描述性结果不能证明统计优越性。python/gen_zero/service/semantic_risk.py和python/gen_zero/service/risk_data/report.json:冻结的 0.5B、16-shot ICL、三个顺序、重叠窗口、PMI 评分;AUC 0.944。诊断 τ=0.50 标记 18/18 个危险请求和 7/18 个良性请求。实时阈值为 0.4494 / 0.7620。
每一层的文本版本
冻结的骨干权重
Token ID [B, T] → 隐藏状态 [B, T, d]。Qwen2.5-0.5B 使用 d=896;归档的 Qwen-72B 和 LLaMA-70B 特征使用 d=8192。这里的 Qwen-2B 是 Qwen3.5-2B。LLaMA-3.3-70B 是请求目标;保留的提取元数据标识 LLaMA-3.1-70B,因此这些测量不能验证 3.3 检查点。冻结意味着不进行骨干微调;监督下游头和空间动力学仍需要拟合。
空间输入 · d=64 + 16
这些是工程化的空间特征,并非从 Transformer 隐藏状态投影而来。经评估的空间配置将 z 和 a 拼接为 [B, 80]。该类支持可配置的状态和行动维度。
隐藏状态读出 · [B, T, d] → [B, d]
从前向计算读取隐藏状态而不生成答案 token。池化方式取决于编码器;归档的大模型特征使用末尾 token 池化。CPU 候选选择路径还会使用 提示缓存 评估候选续写。因此,零输出 token 并不意味着只调用一次骨干或没有推理成本。
语义评分 · 标量风险
对每个请求窗口,从 log P(" dangerous") − log P(" safe") 中减去空请求对数几率。按三个演示顺序求平均;使用风险最高的重叠窗口并应用 sigmoid。该语义门控不使用新训练的神经安全分类器。标签 logits 来自冻结模型;它不会生成解释。
残差空间动力学 · 80 → 64
neural_dynamics.py 使用带 LayerNorm 和 GELU 的残差 MLP。单独学习的 sigmoid 结果/奖励头返回 [B];它仍在当前代码中,并且不同于冻结的语义风险门控。该类默认隐藏宽度为 128,包含两个残差块;以检查点配置为准。
选择几何 · k 个行动 → k−1 个维度
gen-zero-model / choice_head.rs 对稳定 ActionId 排序,将共享表征投影到正单纯形 ETF 上,按规范顺序评分,并将概率映射回调用方顺序。定义明确的决策依赖唯一 ID、有效维度、有限输入和确定性平分处理。乱序时,候选成员、身份和共享表征必须保持不变。
对齐与融合是独立路径
正交 Procrustes 使用 XᵀY 的 SVD 得到 R=UVᵀ。GeometricLatentFusion 将该映射存为诊断信息;其特征使用配对 SVD 轴、尺度匹配的核心平均值和残差。监督头从标签学习。PubMedQA 的获胜路径组合归一化头 logits,而不是 Procrustes 坐标:0.75 Qwen + 0.25 LLaMA。
实时阈值和诊断 τ=0.50
已提交的服务使用两个边界:0.4494 用于升级,0.7620 用于硬停止。τ=0.50 是论文的二元分析阈值,而非实时策略。在存储的 36 个案例上,它标记 18/18 个危险请求和 7/18 个良性请求;实时层级对危险案例产生 12 次停止 + 6 次升级,对良性案例产生 9 次升级。
NaN / Inf 安全边界 · v0.1.0 故障阻断
v0.1.0:全六引擎 F01–F09 Fail-Closed 防线通过 11/11 项测试。形式化故障阻断门控拒绝非有限的无效结果。浏览器锁存器演示安全契约;软件测试不构成物理电机停止行为的认证。
乱序结果 · 已测量、范围明确
保留的直接 Rust 基准在穷举小集合排列和带种子的较大集合乱序中观察到 0/16,232 个身份翻转 (0.00%);对齐后的最大概率漂移为 5.96 × 10⁻⁸。在实现的有效输入假设下,规范排序消除了对菜单顺序的依赖。这不是对语义正确性的证明,也不证明对候选内容、提示上下文或模型输出变化保持不变。页面的乱序实验场是教学模拟。
评估 · 选定配置
PubMedQA 选中 fuse0.75+bbp|raw(双头归一化 logit 融合)。Aegis Track A 选中 llama+bbp|raw(单模型头)。这些是描述性本地测试结果,不能证明 SOTA 或普适的对齐增益。双任务宏平均自助法置信区间包含零。
风险证据 · 小型精选套件
AUC 为 0.944444,来自 18 个危险和 18 个良性存储请求。在 τ=0.50 时,危险召回为 18/18,并有 7 个良性标记。裸 chmod 回归探针仍为漏检。实现记录真实计算时间;缓存提示可减少重复设置,但不会消除推理延迟。
调度契约 · 拟议、未部署
拟议的监视器将在调度前验证预测状态、分数和形状;无效值将设置持久化停止状态,在受控重置前阻止后续模型调用和行动。这描述的是所需的硬件安全边界,而不是当前代码库中经过验证的物理锁存器。
Gen-Zero 系统架构与流程
Rust 运行时连接入口、策略、规划、决策头和加密审计。下图按职责对它们分组;所选动词决定实际调用路径。
源代码审计:2026年9月27日 · gen-zero@dc0c2133f05954146e9738bce64bf15dd36ffbee。已由源代码验证连线;不声称有新的部署或模型评估。
选择一层以查看其实现和限制。
此处未实现的内容
所请求的 AST 解析器 + Linux 权能 栈、物理 碰撞检查 以及持久化 故障时闭锁的锁存器,在这些 Rust crate 中并未形成集成的执行路径。无效输入拒绝和策略升级已经存在;它们并不能建立沙箱或物理停止机制。
这些服务路径返回决策和模拟结果。决策账本不能作为外部行动执行的证据。
从请求到响应
- 进入并绑定。 CLI 或 MCP/HTTP 服务接收请求。路由器捕获其挂载快照,验证路由特定字段并选择动词。
- 评估请求。 文本
ask、route和imagine从 Python 桥接获取语义风险。缺失或无效风险会升级;硬停止层级会阻断该路径。选择行动时也会应用策略约束。 - 使用请求的路径。 文本 ask 使用语义评分;不可用时采用明确标注的 首个可行候选回退策略;未评估的风险仍会升级。文本 route 在其桥接无法运行时报告不可用。数值规划使用
gen-zero-planner和gen-zero-worldmodel;simulate、what_if和 shadowaudit暴露未训练的先验。显式 ETF 头使用规范 ActionId 和单纯形投影。数值认知请求有其独立的几何验证路径。 - 门控、记录并返回。 行动选择路径将其策略判定与请求风险合并。成功的
ask结果以及带有决策追加的pipeline decide结果,会在返回其已审计结果前写入来源账本。响应包含路径元数据;不会调度外部命令。
源代码映射和完整层描述
入口层
gen-zero-cli · gen-zero-service — CLI 启动 McpServer 或提交决策。服务通过 stdio 和 HTTP/SSE 接受 MCP,也接受 REST 路径。其 zero 路由器绑定不可变的挂载快照并按动词分派;这些是经由共享 crate 的不同路径。
路径:/ebs/pj/gen-zero/crates/:gen-zero-cli/src/main.rs; gen-zero-service/src/server.rs; gen-zero-service/src/zero.rs
门控与安全
gen-zero-gate — PolicyGate 支持形式化约束、确认注册、熵和语义风险层级。其默认状态没有已注册约束或确认行动。文本 ask、route 和 imagine 使用 Python 语义风险桥接;缺失或格式错误的风险会升级。Shell AST 解析和 Linux 进程能力强制执行未接入此 Rust 门控。
路径:/ebs/pj/gen-zero/crates/:gen-zero-gate/src/policy.rs; gen-zero-gate/src/risk.rs; gen-zero-service/src/bridge.rs
规划与动力学
gen-zero-planner · gen-zero-worldmodel — 数值潜在状态请求可以使用 MCTS、MPC-CEM 或 A*。服务暴露未训练的残差或辛动力学,并带有有限输入检查和终态危险处理。规划会过滤门控硬停止的候选;固定计划模拟仍会执行被阻断行动的步进并记录其门控层级。这是离线动力学筛选,而非经过验证的物理碰撞检查。此 Rust 路径没有接入持久化故障时闭锁的执行锁存器。
路径:/ebs/pj/gen-zero/crates/:gen-zero-service/src/worldsim.rs; gen-zero-planner/src/pipeline.rs; gen-zero-worldmodel/src/dynamics.rs
决策核心
gen-zero-model — ActionETFChoiceHead 对稳定 ActionId 排序,将共享表征投影到正单纯形,将分数映射回调用方顺序并应用 softmax。核心有确定性的近似平分规则。服务通过显式头选项暴露 ETF;普通文本决策使用语义桥接,因此 ETF 不是每个请求的默认头。
路径:/ebs/pj/gen-zero/crates/:gen-zero-model/src/choice_head.rs; gen-zero-service/src/zero.rs
验证与审计
gen-zero-provenance — DecisionAuditEntry 包含前一个 MMR 根。带密钥的 BLAKE3 Merkle Mountain Range 提交决策历史并支持包含证明。成功的 ask 结果和带有决策追加的 pipeline decide 结果会被记录。通过 GENZERO_MMR_PERSIST_PATH 的持久化是可选的;最近 4,096 个叶子保留包含证明,且可信根必须在外部保留;这不是执行审计,不能证明外部 shell 命令或电机行动曾运行。
路径:/ebs/pj/gen-zero/crates/:gen-zero-provenance/src/entry.rs; gen-zero-provenance/src/mmr.rs; gen-zero-service/src/zero.rs
相关运行时基础设施包括 gen-zero-core(共享类型)、gen-zero-lod(图事实)、gen-zero-storage(快照)以及可选的 gen-zero-nanocore 路径。本文下方或上方的实验是研究证据,不能替代此运行时映射。