Constitutional AI: Harmlessness from AI Feedback

用“原则列表 + 自我批评 + AI 反馈”重构对齐流程,尝试减少对大规模人工偏好标注的依赖。

年份与会议

2022 · arXiv

作者

Yuntao Bai、Saurav Kadavath、Sandipan Kundu、Amanda Askell、et al.

主题

安全对齐

阅读时长

约 4 分钟

收录时间

2022/12/15

标签

原文链接

https://arxiv.org/abs/2212.08073

为什么 Constitutional AI 值得单独读

InstructGPT 之后,行业逐渐确认了一件事:让模型“更听话、更安全、更符合人类偏好”并不是附属工作,而是大模型走向产品化的核心环节。但 RLHF 也同时暴露出一个现实难题:高质量人工偏好标注非常贵,而且很难无限扩张。

Anthropic 的《Constitutional AI》要解决的,就是这个扩展性问题。它提出的关键想法不是“完全不要人类监督”,而是:

人类能不能把自己的安全原则、行为边界和价值偏好,先写成一套明确规则,再让模型依据这些规则去自我批评、自我修正,并进一步监督其他模型?

如果这个问题成立,那么对齐流程就有机会从“主要依赖人工逐条比较”转向“人工制定原则 + AI 放大监督能力”。

背景:为什么 RLHF 还不够

RLHF 很有效,但它有几个长期存在的瓶颈:

  1. 偏好数据获取成本高,且需要持续维护。
  2. 标注者之间常常存在偏好差异,规则很难完全一致。
  3. 当问题涉及安全、伦理、价值取向时,人类偏好本身可能并不稳定。
  4. 如果模型越来越强,完全依赖人类逐条审查会越来越吃力。

Constitutional AI 的出发点,并不是否定 RLHF,而是希望找到一种更可扩展、更可解释的补充路线。它把重点从“人类逐条挑答案”转移到“人类先定义原则,AI 再按原则进行大规模自我改写和比较”。

核心想法:先写一部“模型宪法”

所谓 constitutional,其实很好理解。团队先准备一组明确原则,这些原则可以来自公开规范、组织政策、伦理准则或人工总结。例如:

  • 避免鼓励有害行为
  • 面对风险请求时要解释拒绝理由
  • 尽量提供无害替代建议
  • 表达应当清晰、诚实、不过度自信

这套原则并不是直接塞进评测表里,而是成为后续自我批评和自我修正的依据。相比只做“这个回答更好还是更差”的人工比较,宪法式规则让模型的行为约束更显式,也更容易解释为什么某个回答被修改。

第一阶段:监督式 Constitutional AI

论文的第一阶段可以理解成“让模型学会按宪法自我改写”。

流程大致是:

  1. 从一个初始模型出发,对用户提示生成回答。
  2. 让模型根据某条宪法原则批评自己刚才的回答。
  3. 再让模型基于批评结果改写答案。
  4. 用这些“改写后的更好回答”再去微调原模型。

这里最重要的地方在于,监督信号不再只来自人类直接写示范答案,也来自模型对自己的结构化反思。这样做有两个好处:

  • 能更大规模地生成训练样本。
  • 回答为什么被修改会更有依据,而不是只停留在“人类更喜欢这个”。

第二阶段:从 AI Feedback 做强化学习

第一阶段更多像“按原则做自我修正的 SFT”。第二阶段则进一步把这个想法扩展到偏好优化:

  1. 模型对同一个提示生成多个候选回答。
  2. 另一个模型或同一流程依据宪法原则判断哪一个更好。
  3. 用这些 AI 生成的偏好对训练 preference model。
  4. 再通过 RL 方式让主模型偏向这些更符合宪法的回答。

这就是论文里常说的 RLAIF,Reinforcement Learning from AI Feedback。它和 RLHF 的主要区别,不在于后半段有没有强化学习,而在于偏好监督的来源更多由 AI 根据既定原则生成,而不是主要靠人工逐条打分。

如果把这两阶段压缩成一张图,会更容易看清它到底把“原则”插进了训练闭环的哪个位置:

Constitutional AI 的两阶段闭环图 从宪法原则和用户请求出发,模型先生成初稿,再做自我批评和修订形成监督式样本;随后基于原则做候选比较,形成 AI feedback 偏好信号,再通过强化学习得到更安全的助手模型。 Constitutional AI 把“原则”变成可执行的批评与偏好闭环
  <rect x="34" y="78" width="912" height="138" rx="24" fill="#f7f4ff" stroke="#d9cdf6" />
  <text x="58" y="110" font-size="20" font-weight="700">阶段一:监督式自我修正</text>

  <g>
    <rect x="56" y="128" width="160" height="64" rx="16" fill="#ede9fe" stroke="#b7a8ea" />
    <text x="136" y="156" text-anchor="middle" font-size="18" font-weight="700">宪法原则</text>
    <text x="136" y="178" text-anchor="middle" font-size="13" fill="#4b5563">安全边界 / 拒答方式 / 诚实表达</text>
  </g>

  <g>
    <rect x="248" y="128" width="148" height="64" rx="16" fill="#e8f1ff" stroke="#98b7e1" />
    <text x="322" y="156" text-anchor="middle" font-size="18" font-weight="700">初始模型回答</text>
    <text x="322" y="178" text-anchor="middle" font-size="13" fill="#4b5563">先对用户请求生成初稿</text>
  </g>

  <g>
    <rect x="428" y="118" width="192" height="84" rx="18" fill="#fff4dc" stroke="#e2c36f" />
    <text x="524" y="148" text-anchor="middle" font-size="18" font-weight="700">自我批评</text>
    <text x="524" y="171" text-anchor="middle" font-size="13" fill="#4b5563">指出违反了哪条原则</text>
    <text x="524" y="190" text-anchor="middle" font-size="13" fill="#4b5563">解释风险点与改进方向</text>
  </g>

  <g>
    <rect x="652" y="118" width="150" height="84" rx="18" fill="#eef6e8" stroke="#a8c48e" />
    <text x="727" y="148" text-anchor="middle" font-size="18" font-weight="700">修订回答</text>
    <text x="727" y="171" text-anchor="middle" font-size="13" fill="#4b5563">更安全、更可解释</text>
    <text x="727" y="190" text-anchor="middle" font-size="13" fill="#4b5563">保留帮助性</text>
  </g>

  <g>
    <rect x="830" y="128" width="92" height="64" rx="16" fill="#dcfce7" stroke="#86c89a" />
    <text x="876" y="156" text-anchor="middle" font-size="18" font-weight="700">SFT</text>
    <text x="876" y="178" text-anchor="middle" font-size="13" fill="#4b5563">监督微调</text>
  </g>

  <line x1="216" y1="160" x2="248" y2="160" stroke="#5b6b7f" stroke-width="3" marker-end="url(#cai-arrow)" />
  <line x1="396" y1="160" x2="428" y2="160" stroke="#5b6b7f" stroke-width="3" marker-end="url(#cai-arrow)" />
  <line x1="620" y1="160" x2="652" y2="160" stroke="#5b6b7f" stroke-width="3" marker-end="url(#cai-arrow)" />
  <line x1="802" y1="160" x2="830" y2="160" stroke="#5b6b7f" stroke-width="3" marker-end="url(#cai-arrow)" />

  <rect x="34" y="244" width="912" height="142" rx="24" fill="#f9fafb" stroke="#e5e7eb" />
  <text x="58" y="276" font-size="20" font-weight="700">阶段二:AI Feedback 偏好优化(RLAIF)</text>

  <g>
    <rect x="58" y="296" width="176" height="64" rx="16" fill="#e8f1ff" stroke="#98b7e1" />
    <text x="146" y="323" text-anchor="middle" font-size="18" font-weight="700">多个候选回答</text>
    <text x="146" y="345" text-anchor="middle" font-size="13" fill="#4b5563">同一请求采样不同答案</text>
  </g>

  <g>
    <rect x="274" y="286" width="196" height="84" rx="18" fill="#fff4dc" stroke="#e2c36f" />
    <text x="372" y="316" text-anchor="middle" font-size="18" font-weight="700">AI 审稿 / 原则打分</text>
    <text x="372" y="339" text-anchor="middle" font-size="13" fill="#4b5563">比较哪个回答更符合宪法</text>
    <text x="372" y="358" text-anchor="middle" font-size="13" fill="#4b5563">生成偏好对</text>
  </g>

  <g>
    <rect x="510" y="296" width="146" height="64" rx="16" fill="#fce7ef" stroke="#e2a8bd" />
    <text x="583" y="323" text-anchor="middle" font-size="18" font-weight="700">偏好模型</text>
    <text x="583" y="345" text-anchor="middle" font-size="13" fill="#4b5563">AI feedback 数据</text>
  </g>

  <g>
    <rect x="696" y="296" width="100" height="64" rx="16" fill="#dff4f0" stroke="#8dc7bd" />
    <text x="746" y="323" text-anchor="middle" font-size="18" font-weight="700">RL</text>
    <text x="746" y="345" text-anchor="middle" font-size="13" fill="#4b5563">策略更新</text>
  </g>

  <g>
    <rect x="828" y="286" width="92" height="84" rx="18" fill="#eef6e8" stroke="#a8c48e" />
    <text x="874" y="319" text-anchor="middle" font-size="18" font-weight="700">更安全</text>
    <text x="874" y="341" text-anchor="middle" font-size="18" font-weight="700">的助手</text>
  </g>

  <line x1="234" y1="328" x2="274" y2="328" stroke="#5b6b7f" stroke-width="3" marker-end="url(#cai-arrow)" />
  <line x1="470" y1="328" x2="510" y2="328" stroke="#5b6b7f" stroke-width="3" marker-end="url(#cai-arrow)" />
  <line x1="656" y1="328" x2="696" y2="328" stroke="#5b6b7f" stroke-width="3" marker-end="url(#cai-arrow)" />
  <line x1="796" y1="328" x2="828" y2="328" stroke="#5b6b7f" stroke-width="3" marker-end="url(#cai-arrow)" />
</g>
和 InstructGPT 相比,Constitutional AI 的新意不是“也做 RL”,而是把偏好监督前移到“原则驱动的自我批评与 AI 审稿”。

为什么“自我批评”是关键设计

Constitutional AI 最值得记住的,不只是“有一套原则”,而是“原则要进入一个可执行的批评与修正流程”。

如果只有原则列表,没有自我批评环节,模型可能只是被动记住一些拒答模板;而自我批评让模型需要显式回答:

  • 哪条原则被违反了?
  • 为什么这个回答不妥?
  • 应该怎样改得更安全、但又不至于过度回避?

这一步让对齐训练更像一种结构化推理过程,而不是纯粹行为拟合。也正因为如此,这篇论文对后来“让模型解释自己为何拒答、为何改写”的工作影响很大。

论文最重要的结果是什么

论文核心结论可以概括为三点:

  1. 使用宪法式自我监督,可以显著提升模型的 harmlessness。
  2. 模型不只是变得更保守,也能在拒绝不当请求时给出解释与替代建议,而不是简单回避。
  3. AI 反馈在很多场景下确实可以替代一部分人工反馈,降低对纯人工标注的依赖。

这里最值得重视的,并不是某个具体分数,而是它证明了“把原则显式化并交给模型执行”这件事是可行的。对齐流程从此不再只有“人类示范”和“人类偏好比较”两种信号来源。

它和 InstructGPT 的关系

可以把两篇论文放在一起理解:

  • InstructGPT 强调的是:用人类示范、奖励模型和 PPO,把模型从“会续写”拉到“更会按人类意图回答”。
  • Constitutional AI 进一步追问:在安全和价值边界上,能否减少对大量人工偏好打分的依赖,让模型依据一组显式原则自我改进?

因此,Constitutional AI 更像是在 RLHF 基础上,把“偏好监督”这件事做得更制度化、更可扩展。

为什么这篇论文对安全对齐特别重要

很多一般性的偏好优化工作主要关注“更有帮助、更像人喜欢的助手”,而 Constitutional AI 更直接地聚焦安全边界:

  • 如何在有害请求面前不只是拒绝,还能解释理由。
  • 如何降低 evasive behavior,也就是不是简单敷衍或沉默。
  • 如何让模型在更少人工标签下保持可控。

这使它成为“helpful, honest, harmless”框架中非常重要的一步。它让人们开始认真思考:安全策略不能只是藏在隐含偏好里,最好还能被写成规则、被审查、被迭代。

局限:原则写出来不等于问题解决了

Constitutional AI 很有启发,但它也有明显边界:

1. 宪法本身由谁来写,仍然是价值判断

原则的内容、优先级和措辞都会影响最终行为,而这些并不是纯技术问题。

2. AI 反馈会继承模型偏差

如果负责批评和比较的模型本身存在偏差,那么这种偏差就可能被放大,而不只是被纠正。

3. 安全性与帮助性仍然需要平衡

过强的安全策略可能让模型显得过度保守、回避正常需求;过弱则可能留下风险。

4. 它更适合规则可表达的部分

有些复杂社会判断、文化差异和高度语境化的问题,很难通过一套有限原则彻底覆盖。

因此,Constitutional AI 更像一条非常重要的对齐路线,而不是最终答案。

从今天看,这篇论文留下了什么

到 2026 年回头看,Constitutional AI 至少留下了三层遗产:

  1. 对齐不一定只能来自人工偏好,也可以来自“原则 + AI 放大监督”。
  2. 自我批评、自我修正成为后续很多安全与推理工作的重要模板。
  3. “规则显式化”让模型治理更接近可审计系统,而不是完全黑箱。

这也是为什么今天很多团队即使不完整复现论文,也会在内部策略、system prompt、安全评估和拒答设计里借用“宪法式规则”思路。

读这篇论文时最该抓住什么

如果你只想抓住主线,请记住:

  1. 它想解决的是 RLHF 难以扩张的监督成本问题。
  2. 它把对齐信号从“人类逐条打分”部分转移到“人类先写原则,AI 再执行”。
  3. 它让安全对齐开始具备更强的结构化、可解释和可扩展特征。

理解这三点后,你再去看 DPO、RLAIF、system policy 或红队流程,会更容易看懂它们分别在优化哪一层成本。

延伸阅读

相关内容

沿着相近主题继续阅读,加深对方法边界与实践场景的理解。