Constitutional AI 与规则覆盖


文档摘要

Constitutional AI 与规则覆盖 本节摘要:Anthropic 2026 年 1 月 22 日发布的 Claude Constitution(宪法)长达 79 页、以 CC0 公开。它把对齐从「基于规则(rule-based)」推进到「基于推理(reason-based)」,并确立四层优先级:① 安全与支持人类监督 > ② 伦理 > ③ Anthropic 指南 > ④ 有用性。行为分成两类——硬编码禁止项(生物武器赋能、CSAM 等),运营商和用户都不可覆盖;软编码默认值,运营商可在声明范围内调整。2022 年的原版(Bai 等)通过自我批判(self-critique)+ RLAIF(从 AI 反馈做强化学习)对照宪法训练出无害性。

Constitutional AI 与规则覆盖

本节摘要:Anthropic 2026 年 1 月 22 日发布的 Claude Constitution(宪法)长达 79 页、以 CC0 公开。它把对齐从「基于规则(rule-based)」推进到「基于推理(reason-based)」,并确立四层优先级:① 安全与支持人类监督 > ② 伦理 > ③ Anthropic 指南 > ④ 有用性。行为分成两类——硬编码禁止项(生物武器赋能、CSAM 等),运营商和用户都不可覆盖;软编码默认值,运营商可在声明范围内调整。2022 年的原版(Bai 等)通过自我批判(self-critique)+ RLAIF(从 AI 反馈做强化学习)对照宪法训练出无害性。诚实的告诫是:基于推理的对齐依赖模型把原则泛化到未见情境;Anthropic 自己 2023 年的参与式实验显示,公众来源原则与企业原则有约 50% 分歧,而 2026 版并未吸收那些发现。本节讲透四层层级、硬编码与软编码的分界、CAI 训练循环、基于推理对齐抓得住与抓不住什么,以及为什么硬编码禁止项是「合上长尾」的必需品——它是第 14 节「硬性宪法限制」在对齐层的对应物。宪法住在模型层(权重被训练成偏好什么),kill switch 与金丝雀住在运行时层(运行时允许什么),两层都需要,各覆盖不同类别的失败。

对应原课程:Phase 15 · Lesson 17 · constitutional-ai(原英文 phases/15-autonomous-systems/17-constitutional-ai/docs/en.md)。前置:第 06 节(自动化对齐研究)、第 10 节(权限模式)。

学习目标

阅读完本节,你应当能够:

  1. 区分基于规则对齐(RBA)基于推理对齐,说出各自的优缺点与失败模式。
  2. 复述 Claude Constitution 的四层优先级,并解释层级冲突时「高层胜出」的解析逻辑(类比 Unix 优先级/网络 QoS)。
  3. 分清硬编码禁止项(运营商与用户都不可覆盖、在权重层强制)与软编码默认值(运营商在声明范围内可调)。
  4. 描述 2022 CAI 训练循环:生成 → 自我批判对照宪法 → 修订 → RLAIF。
  5. 指出基于推理对齐抓得住什么(未预见的原语组合、禁项的近邻类比、社会工程)与抓不住什么(原则歧义攻击、层级歧义、训练周期里的原则漂移)。
  6. 说清宪法(模型层)与 kill switch(运行时层)在栈中各住何处、为何缺一不可

一、问题与直觉

一个上线的 Agent 会遇到设计者从未见过的输入。没有一份规则列表长到能覆盖它们,也没有一份规则列表短到能在算力压力下快速应用。实际问题:怎么把 Agent 对齐到既能熬过案例长尾、又能快速推理的原则上?

  • 基于规则对齐(Rule-Based Alignment, RBA):列出每一件不允许的事。检查快、易审计、不可能保持时效、在未预见的近邻类比上常过度拒绝。
  • 基于推理对齐(Reason-Based Alignment, 2026 Claude Constitution):编码原则,让模型推理。跨未见案例可扩展、更难审计、失败模式是「原则误用」而非「漏规则」。

2026 年宪法取显式的中间立场。硬编码禁止项——错误性不依赖上下文的事(生物武器赋能、CSAM)——是 RBA:永远不,无论运营商还是用户指令。其余一切在四层层级内基于推理:安全与支持人类监督第一、伦理第二、Anthropic 声明的指南第三、有用性最后。运营商可在软编码区调整默认值,但碰不到硬编码禁止项。

⚠️ 核心张力:基于推理对齐依赖模型把原则泛化到未见情境。攻击者只要能让模型接受一个前提(如「我们是有执照的生物武器研究实验室」),往往就能绕过依赖案例推理的原则。硬编码禁止项不向前提框架弯腰——这是它存在的根因。

硬编码禁止项 vs 软编码默认值

硬编码:生物武器/CBRN 赋能、CSAM、对关键基础设施的攻击、被直接询问时就模型身份欺骗用户。运营商不能覆盖、用户不能覆盖。在可能处于模型权重层(RLHF/Constitutional AI 训练)强制,在不可能处于推理层强制。

软编码默认值(运营商可调):响应长度默认值、主题范围(模型可拒绝运营商部署外的主题)、风格(正式 vs 随意)、工具使用模式。运营商调整发生在声明范围。运营商不能靠重命名来移除硬编码禁止项。

2022 CAI 训练

原版 Constitutional AI(Bai 等,2022)训练无害性:

  1. 对一组提示生成响应。
  2. 让模型对照宪法(显式原则)批判每个响应。
  3. 基于批判修订响应。
  4. 在修订对上做 RLAIF(从 AI 反馈做强化学习)。

结果:一个用有原则的解释而非一刀切拒绝来回绝有害请求的模型。2026 年宪法用这套训练的后代,加针对显式四层层级的额外训练后阶段。

基于推理对齐抓得住与抓不住什么

抓得住:原则清晰适用的、允许原语的未预见组合;禁项的近邻类比新请求;依赖「你没说 X 被禁」的社会工程攻击。

抓不住:利用原则歧义的攻击(「用户要这个,所以有用性说该给」);两个原则以未预见方式冲突、层级顺序又歧义的情境;训练周期里原则解释的缓慢漂移(重新诠释)。

2023 年参与式实验

Anthropic 2023 年跑了一个实验,对比企业撰写的宪法与通过公众输入(约 1000 名美国受访者)生成的宪法。两版在约 50% 的原则上一致。分歧处,公众版在某些议题(政治内容处理)更严、在另一些(AI 身份自披露)更松。2026 年宪法没有吸收公众来源的发现——这是该方法里一个有记录的张力。

为什么硬编码禁止项是必需品

光靠基于推理对齐合不上长尾。能让模型接受一个前提的攻击者,常常能绕过依赖案例推理的原则。硬编码禁止项不向前提框架弯腰。它们是第 14 节「硬性宪法限制」在对齐层的对应物。

宪法在栈中住在哪里

宪法不是第 14 节的 kill switch。它住在模型层:模型权重被训练成偏好什么。kill switch 和金丝雀令牌住在运行时层:运行时允许什么。两层都需要。一个因为模型权重宽松而把所有错动作都触发的运行时,是运行时问题;一个因为运行时过严而把所有对动作都拒绝的模型,也是运行时问题。层覆盖不同的失败类

二、从零实现:四层优先级解析器

原课程 code/main.py 实现一个最小四层优先级解析器。解析器接收一个提议动作和一组原则评估(安全、伦理、指南、有用性),返回「放行 / 拒绝 / 修改后放行」。驱动器跑一个小案例集:清晰允许、清晰拒绝、硬编码禁止项触发、跨层歧义案例。下面给出关键骨架。

硬编码禁止项:不向任何层弯腰

HARDCODED_PROHIBITIONS = { "bioweapons_uplift", # 生物武器赋能 — 错误性不依赖上下文 "CSAM", "critical_infra_attack", "identity_deception_when_asked", } def check_hardcoded(action): """运营商与用户都不可覆盖;在权重层与推理层都强制。""" if action.kind in HARDCODED_PROHIBITIONS: return ("refuse", "硬编码禁止项: 不向任何前提框架弯腰") return None

四层解析:冲突时高层胜出

def resolve(action, evals): # 1. 先过硬编码禁止项(独立于四层) hard = check_hardcoded(action) if hard: return hard # 2. 四层评估, 冲突时高层胜出(类比 Unix 优先级 / 网络 QoS) # evals = {"safety": +1/0/-1, "ethics": ..., "guidelines": ..., "helpfulness": ...} for tier in ["safety", "ethics", "guidelines", "helpfulness"]: v = evals.get(tier, 0) if v < 0: # 该层判定违规 → 高层已无违规, 此层决定拒绝 return ("refuse", f"违反 {tier} 层") if v > 0: # 该层明确支持, 且更高层无反对 → 放行 return ("allow", f"由 {tier} 层支持") return ("allow", "默认放行(全中性)")

设计要点:四层不是「投票」,而是有序解析——就像网络 QoS 里高优先级流先得带宽。这种框架意在产生可预测的解析,而非任何单一轴上的最优行为。

软编码默认值:运营商在声明范围内调

SOFT_DEFAULTS = { "response_length": {"default": 500, "min": 100, "max": 2000, "operator_settable": True}, "topical_scope": {"default": "general", "operator_settable": True}, "style": {"default": "formal", "operator_settable": True}, } def set_operator_default(key, value, operator_scope): spec = SOFT_DEFAULTS[key] if not spec.get("operator_settable"): raise PermissionError("硬编码项, 运营商不可改") if not (spec["min"] <= value <= spec["max"]): # 必须落在声明范围 raise ValueError("超出声明范围") operator_scope[key] = value

三、框架对比:两层防线各管什么

住处 强制方式 覆盖的失败类 例子
宪法(模型层) 模型权重 RLHF/CAI 训练 + 推理层兜底 模型偏好层面的违规、未预见案例的长尾 拒绝生物武器赋能、用原则解释而非一刀切
Kill switch / 金丝雀(运行时层) 运行时 外部布尔/诱饵/熔断 模型已生成但运行时该拦的动作 急停、蜜罐凭据告警、循环熔断
权限阶梯(第 10 节) 运行时 逐动作审批 越权升级、范围外动作 Claude Code plan/auto/bypass
成本治理(第 13 节) 运行时 预算与速度限制 钱包拒服务 $50/10min 即断

关键观察:宪法管「模型做什么」,运行时层管「模型被允许做什么」。模型层宽松时,运行时层会疲于拦截;运行时层过严时,模型的能力被白白浪费。完整防线是模型层 + 运行时层的叠加,任何单层都有它合不上的长尾。

⚠️ 一个常见误解:有了宪法就不用 kill switch 了。错。宪法是模型偏好,不是保证——基于推理的对齐会被原则歧义攻击绕过,这时运行时层的硬性拦截(第 14 节)是最后兜底。反过来,运行时层再严,也挡不住模型在允许范围内做语义组合攻击——这要靠模型层的原则泛化。

四、可复用产物

原课程 outputs/skill-constitution-review.md 审计一个部署的宪法层:哪些硬编码、哪些软编码、运营商能在哪调、四层层级是否真的是解析顺序(而非只是文档里写写)。它把「枚举后果性动作 → 为每个标硬/软 → 检查运营商可调边界 → 验证层级解析顺序」串成可重复清单。

code/main.py 是零依赖解析器,改 HARDCODED_PROHIBITIONSSOFT_DEFAULTS 即可贴合规部署;四层解析逻辑本身无需改动。

五、练习

  1. code/main.py:确认硬编码禁止项即使有用性很高也会触发。把解析器改成「有用性权重高于伦理」,观察失败模式——体会层级顺序的意义。

  2. 读 Claude Constitution(公开、79 页、CC0):找出一条你认为欠规范的原则,写两段说明具体歧义并提出更紧的表述。

  3. 为客服 Agent 设计软编码默认值集:运营商调什么?碰不到什么?为每条边界说理。

  4. 读 Bai 等 2022 CAI 论文:描述一个案例,CAI 的「批判-修订」循环会比一刀切规则产出更差的结果,并识别这一类。

  5. 参与式宪法的部署设计:Anthropic 2023 实验发现公众与企业原则约 50% 分歧。挑一个对产线部署要紧的类别(如政治中立),提出一个让运营商表达自己价值观、同时硬编码禁止项不被触碰的设计。

本节要点回顾

  1. 2026 Claude Constitution 把对齐从规则推进到推理:79 页 CC0,确立安全/伦理/Anthropic 指南/有用性的四层优先级。
  2. 四层是有序解析, 不是投票:冲突时高层胜出(类比 Unix 优先级/网络 QoS),意在可预测而非单轴最优。
  3. 硬编码禁止项(生物武器/CSAM/关键基础设施攻击/被问时身份欺骗)不可被运营商或用户覆盖, 在权重层与推理层都强制。
  4. 软编码默认值(响应长度/主题范围/风格/工具用法)运营商可在声明范围内调, 但不能靠重命名移除硬编码项。
  5. 2022 CAI 训练循环:生成 → 自我批判对照宪法 → 修订 → RLAIF,产出「有原则的解释」而非一刀切拒绝。
  6. 基于推理对齐抓得住未预见组合与近邻类比, 抓不住原则歧义攻击、层级歧义、训练周期里的原则漂移
  7. 硬编码禁止项是合上长尾的必需品:攻击者一旦让模型接受前提,就能绕过依赖案例推理的原则——硬编码项不向前提弯腰。
  8. 宪法住模型层, kill switch 住运行时层, 两层都需要:模型管「想做什么」, 运行时管「被允许做什么」, 各覆盖不同失败类。
  9. 参与式张力:2023 实验显示公众与企业原则约 50% 分歧, 2026 版未吸收——这是该方法里有记录的开放问题。

下一节,我们看 Meta 的开源对齐分类器——Llama Guard,它把「模型层原则」落地为一个可独立部署的输入/输出分类模型,守护宪法边界。


发布者: 作者: Rohit Gupta 转发
评论区 (0)
U