← 返回博客

Rotifer 不做对齐——以及它做的事

'AI 对齐'在行业里至少指三件事,每件事的解决方式完全不同。Rotifer 协议只做其中一件——V(g) 代码安全静态分析。其他两件不是协议的责任,把它们放回正确的层次。

Rotifer 不做对齐——以及它做的事

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 动态代码执行(evalFunction 🔴 严重
S-02 系统命令执行(child_processexecspawn 🔴 严重
S-03 代码混淆(atob + eval 组合) 🔴 严重
S-04 可疑外部通信(fetchhttp.request 🟡 高
S-05 环境变量访问(process.env 🟡 高
S-06 持久外联连接(WebSocketnet.Socket 🟡 高
S-07 文件系统操作(fs.readFilefs.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。它的行为是不是"友好"?

四种立场都成立——每一种代表一组真实存在的、有政治正当性的、互相冲突的价值观。如果协议层判定"这个 Gene 友好/不友好",它必然在选一个立场作为协议默认。

这件事已经在大模型公司里发生过。每一次主流模型升级,关于"它现在变得保守了 / 变得激进了 / 变得过度政治正确了 / 变得不够安全了"的争论,本质上都是不同价值观群体在和模型公司选定的那一组价值观辩论。这种辩论一旦发生在协议层,整个生态就裂成了"接受协议默认的一群"和"另起协议的一群"。

互联网协议的历史教训非常清楚。HTTP 不裁定网页内容是否合适。SMTP 不裁定邮件内容是否合适。TCP/IP 不裁定数据包内容是否合适。这些协议之所以成功,正是因为它们坚决拒绝在协议层做内容判断

内容判断属于应用层。协议层只判断结构。

Rotifer 把同样的原则用在能力协议上:V(g) 检查代码结构,不检查能力意图。意图判断由 Binding 层、由部署者、由具体的法律管辖区、由具体的产品定位完成。

这不是 Rotifer 不关心价值观,是 Rotifer 拒绝替任何一组价值观做协议级别的代理人


那么"对齐"放在哪里

第二层和第三层不消失——它们只是被放到协议之上的层级。

Binding 层直接面对运行时环境——Cloud Binding 部署在欧盟、Edge Binding 部署在中国家庭、Web3 Binding 部署在去中心化网络。每个 Binding 知道自己服务的法律辖区、用户群体、监管框架。这才是"AI 行为对齐"应该发生的地方

**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"的简化,都低估了真实分层的精度。

相关参考