Rotifer 不做"对齐"。
这句话经常引起两种相反的误解。一种是"那 Rotifer 是不是不安全?"——它的预设是"不做对齐 = 不管行为安全"。另一种是"那 Rotifer 是怎么管 AI 行为的?"——它的预设是"协议必须管 AI 行为"。
两种误解都来自同一个根源:"AI 对齐"已经成为一个在行业里指代三件不同事情的词。这三件事的解决方式完全不同;混在一起谈,必然出现 Rotifer 这种"不做对齐"的协议听起来反常的局面。
这篇文章想做一件简单的事——把这三件事拆开,说明 Rotifer 在做哪一件、不做哪两件、以及为什么。
三件被叫做"对齐"的事
把行业里"对齐"这个词的实际用法摊开看,至少有三层。
第一层:代码安全。Gene、Skill、插件、agent 接入了真实的运行时——文件系统、网络、shell、用户数据。这一层的失败模式是代码做坏事:偷偷把环境变量发到外部服务器,偷偷起一个反向 shell,偷偷写入用户私人目录,偷偷调用 eval 执行下载来的字符串。
第二层:行为规训。模型对用户的输入做出有用、诚实、无害的回应——这一层的工作常被概括为 Anthropic 提出的 HHH(helpful, honest, harmless)三维,并通过 RLHF、Constitutional AI、SFT、DPO 等技术实现。这一层的失败模式是模型行为偏离 HHH 三维:输出无用(拒答了能回答的)、不诚实(编造或刻意误导)、有害(生成危险指令、加剧偏见、被越狱后释放禁忌)。
第三层:价值校准。即使代码没坏意图、行为也对齐了 HHH,模型在长期自主决策时是否仍然朝向"对人类整体有益"的方向?这一层的失败模式是长期目标错位——模型在长时间自主决策中的奖励信号优化方向,与具体使用者或人类整体的长期利益错开。这是 AI safety 研究圈关心的核心问题域之一。
| 层级 | 在防什么 | 解决方式 | 谁在做 |
|---|---|---|---|
| 代码安全 | 代码做坏事 | 静态分析、沙箱、权限收窄 | 安全工程师 / 协议层 |
| 行为规训 | 模型行为偏离 HHH | RLHF、Constitutional AI、SFT、DPO | 模型提供者 |
| 价值校准 | 长期目标错位 | AI safety 研究、可解释性、对齐研究 | AI safety 研究者、长期主义机构 |
这三件事用同一个词——"对齐"——被讨论得越多,三件事就越难独立思考。第二层的进步会被宣传为"我们解决了对齐",第一层的失败会被报道为"对齐没做好",第三层的开放问题会被某些公司默认为"还没做但快了"。一个具体的产品到底处于哪一层、做了什么、没做什么,反而看不清。
V(g) 是什么——以及不是什么
Rotifer Protocol 在协议层做了一件具体的事,叫 V(g)——Verification of g,每个 Gene 的安全验证分数。它和 F(g)(Fitness)、E(g)(Economic Value)一起,构成 Gene 评估的三维独立指标。
V(g) 是什么呢?非常具体——它是一个静态代码分析器,扫描 Gene 源码中的 7 类高风险模式:
| 规则 | 检测对象 | 严重度 |
|---|---|---|
| S-01 | 动态代码执行(eval、Function) |
🔴 严重 |
| S-02 | 系统命令执行(child_process、exec、spawn) |
🔴 严重 |
| S-03 | 代码混淆(atob + eval 组合) |
🔴 严重 |
| S-04 | 可疑外部通信(fetch、http.request) |
🟡 高 |
| S-05 | 环境变量访问(process.env) |
🟡 高 |
| S-06 | 持久外联连接(WebSocket、net.Socket) |
🟡 高 |
| S-07 | 文件系统操作(fs.readFile、fs.writeFile) |
🟠 中 |
输出 A/B/C/D/? 五档:A 是干净,D 是有严重违规,? 是不带源码的纯 prompt Gene。准入阈值默认 V(g) ≥ 0.7——低于这个分的 Gene 不能被一个用户的 Genome 接纳。
这是 supply chain security。它处理的是上述三层中的第一层——代码做不做坏事。
它不是对模型做 RLHF。它不是判断 Gene 输出的内容是否"友好 / 得体 / 有用"。它不裁定一段对话内容应不应该被生成,不评估一个 agent 在道德两难下的选择,不决定模型是否应该回答某类问题。
V(g) 看到的是一段代码里有没有 eval,看不到这段代码"想"做什么。这一点是设计选择,不是技术限制。
| 维度 | V(g) | 行为规训(RLHF / Constitutional AI 等) |
|---|---|---|
| 处理对象 | Gene 代码(静态文本) | 模型权重 / 输出分布 |
| 检测内容 | 代码模式(注入、越权、资源滥用) | 输出语义(HHH 三维:helpful / honest / harmless) |
| 时机 | 上传 / 编译时 | 训练时 + 推理时 |
| 输出对象 | 代码层模式 | 行为层语义 |
| 失败补救 | 拒绝该 Gene 进入 Genome | 重新训练 / 微调模型 |
| 规则定义 | 协议层公开规则 | 模型提供者特定的奖励信号 |
这两件事的工程语义、责任主体、失败补救方式完全不同。把它们都叫做"对齐"是行业语言的不精确——这种不精确正在让协议层的工作和模型层的工作互相被误判。
协议为什么不能做"对齐"
第二层和第三层——行为规训和价值校准——为什么不在 Rotifer 协议层做?
因为协议层不应该选边谁的价值观。
举一个具体的:一个 Gene 的功能是"在用户面对赌博 app 推荐时给出冷却建议"。这个 Gene 的代码完全干净,V(g) = A。它的行为是不是"友好"?
- 站在赌博 app 角度:这个 Gene 是敌对行为
- 站在用户家庭角度:这个 Gene 是友好行为
- 站在自由意志支持者角度:这个 Gene 是家长制
- 站在公共健康政策角度:这个 Gene 是合规建议
四种立场都成立——每一种代表一组真实存在的、有政治正当性的、互相冲突的价值观。如果协议层判定"这个 Gene 友好/不友好",它必然在选一个立场作为协议默认。
这件事已经在大模型公司里发生过。每一次主流模型升级,关于"它现在变得保守了 / 变得激进了 / 变得过度政治正确了 / 变得不够安全了"的争论,本质上都是不同价值观群体在和模型公司选定的那一组价值观辩论。这种辩论一旦发生在协议层,整个生态就裂成了"接受协议默认的一群"和"另起协议的一群"。
互联网协议的历史教训非常清楚。HTTP 不裁定网页内容是否合适。SMTP 不裁定邮件内容是否合适。TCP/IP 不裁定数据包内容是否合适。这些协议之所以成功,正是因为它们坚决拒绝在协议层做内容判断。
内容判断属于应用层。协议层只判断结构。
Rotifer 把同样的原则用在能力协议上:V(g) 检查代码结构,不检查能力意图。意图判断由 Binding 层、由部署者、由具体的法律管辖区、由具体的产品定位完成。
这不是 Rotifer 不关心价值观,是 Rotifer 拒绝替任何一组价值观做协议级别的代理人。
那么"对齐"放在哪里
第二层和第三层不消失——它们只是被放到协议之上的层级。
Binding 层直接面对运行时环境——Cloud Binding 部署在欧盟、Edge Binding 部署在中国家庭、Web3 Binding 部署在去中心化网络。每个 Binding 知道自己服务的法律辖区、用户群体、监管框架。这才是"AI 行为对齐"应该发生的地方。
- 部署在欧盟的 Binding 通过 EuAiActAdapter 接入欧盟 AI Act 的合规要求
- 部署在中国的 Binding 通过 ChinaGaiAdapter 接入《生成式人工智能服务管理暂行办法》
- 一家做儿童教育产品的公司,可以让自己的 Binding 拒绝某些类型的 Gene 输出
- 一家做研究工具的公司,可以让自己的 Binding 接受这些 Gene 输出
**Autonomy Level(L0–L4)**提供了第二个轴——一个 Agent 的自主性越高,伦理约束越严格。L0 工具型 Agent 不需要"对齐",它做你叫它做的事;L4 自主性 Agent 才进入复杂的"对齐"问题域。
**模型层(不是 Rotifer 范围内)**继续做 RLHF、Constitutional AI 这些事——它们是模型公司的工作。Rotifer 不假装能替代它们,也不试图替代它们。
| 层级 | 谁负责 | 在做什么 |
|---|---|---|
| 模型层 | Anthropic / OpenAI / Mistral / 等 | 行为规训(不爆粗口、不教造炸弹) |
| Rotifer 协议层 | Rotifer Foundation 与社区 | 代码安全(V(g))、能力诚实(Phenotype)、自主性分级(L0–L4) |
| Binding 层 | 各 Binding 的运营者 / 集成商 | 法规合规、伦理审查、地区适配 |
| 部署者层 | 具体使用 Rotifer 的公司 / 团队 | 决定哪些 Gene 准入、Agent 处于哪一级 |
四层各做各的。把它们都压成"对齐"会导致每一层都做不好。
这种诚实的代价
这种分层是有代价的,不应该被假装成纯粹的胜利。
代价之一:Rotifer 没有一句"我们解决了 AI 安全问题"的营销话术。当其他公司说"我们做了对齐"时,Rotifer 只能说"我们做了 V(g) 代码安全 + Phenotype 能力诚实 + Autonomy Level 分级——其他三层不在我们这里"。这听起来不像一个完整答案。
代价之二:用户必须自己理解分层。一个直接拿 Rotifer 部署到自己产品里的开发者,必须知道 V(g) 不会替他过滤 Gene 输出的"道德性"——他必须自己在 Binding 层加上他自己产品所需要的输出过滤。这个责任转移到了他身上。
代价之三:Rotifer 没法承诺"使用我们的协议你的 AI 一定不会作恶"。我们能承诺的是:使用我们的协议,你能看清你的 AI 在哪一层做了什么、谁负责什么、哪些保证是协议给的、哪些保证还需要你自己加上。这是诚实,但不浪漫。
如果一个用户期待的是"协议帮我把所有 AI 安全问题处理好",Rotifer 会让他失望。如果一个用户期待的是"协议帮我把可以处理好的部分明确处理好,并清晰列出剩下的属于谁的责任",Rotifer 才匹配。
我们选了第二种。
一份能拒绝代码、不能拒绝灵魂的协议
写这篇文章是因为反复观察到一个模式——每次有人问"Rotifer 怎么做对齐",无论我们怎么回答,对话总会偏向某种误解。
要么我们说"我们做了 V(g)",对方理解成"哦那你们做了 alignment"——把代码安全等同于行为规训。
要么我们说"我们不做行为规训",对方理解成"那你们的 AI 不安全"——把不做行为规训等同于放弃所有安全责任。
要么我们说"行为规训应该在 Binding 层做",对方理解成"那协议层是不是不重要"——把"分层" 误读为"卸责"。
这些误解都来自同一个事实:"对齐"这个词承载的语义已经超出了它能精确指代的范围。
Rotifer 选择的姿态,是不抢这个词的语义。我们做我们能精确做的事——V(g) 检查代码模式、Phenotype 声明能力边界、Autonomy Level 分级自主性、Binding 处理合规——并且明确说我们不做的事:不裁定 Gene 输出的"友好性"、不替模型公司做 RLHF、不替具体管辖区做合规判断、不在协议层选边谁的价值观。
这种姿态对独立开发者比对大公司更难。大公司有市场部门,可以把"我们做了对齐"作为一句营销话术使用,无论它后面对应的具体动作是什么。一个开源协议没有这种特权——它每说一句话,都会被工程师、合规官、监管者、其他协议团队反复审视。如果我们说"做了对齐"而具体只做了 V(g),第一波认真做对齐研究的人就会指出问题。
所以我们选择了一句不那么响亮、但每个字都站得住的话——
Rotifer 是一份能拒绝代码、不能拒绝灵魂的协议。
代码层我们会拒绝——eval 字符串、未经申报的网络访问、未经申报的文件系统访问、注入风险、混淆模式。这些是协议层可以客观判断的事。
灵魂层我们不拒绝——不裁定一个 Agent 的目标"对不对"、不评判一段输出的"道德性"、不替任何一组价值观做代理人。这些是协议层不应该判断的事。
把第一类做严格,把第二类放在 Binding 层、模型公司、部署者、监管者那里——每一层做它能精确做、并对自己做的事负责的工作。
这不比"我们做了对齐"听起来更激进,但它经得起一行一行的审视。这就是为什么 Rotifer 选这条路。
这篇文章是 Rotifer Foundation 的官方立场。它澄清了 Rotifer 协议在 AI 安全分层中的位置。任何把 Rotifer 描述为"做了 alignment"或"没做 alignment"的简化,都低估了真实分层的精度。
相关参考:
- V(g) CLI 命令——具体的静态分析工具
- Gene Standard——F(g) / V(g) / E(g) 三维独立性
- 一份能力承诺欠它的硬件什么——关于 Phenotype 的诚实层
- 能力承诺的诚实层——Phenotype + Fidelity + Autonomy Level