Chapter 08 · Shaping behavior

Character, constitutions & safety training

How post-training decides who the model is, what it will and won't do, and when it tells you something you don't want to hear. The mechanics: data pipelines, losses, failure modes and how each one is measured.

⏱ 85 min9 interactivesPrereq: 03, 04, 05
In one breath
  • Post-training selects and stabilizes a persona. Pretraining teaches a model to simulate many characters; character training, constitutions and safety training pick one (the Assistant), shape its traits and try to hold it there. Narrow training data generalizes as character, which is why it can go badly wrong (emergent misalignment) or be steered (inoculation prompting).
  • Specs are training inputs, not only documents. Claude's 2026 constitution (broadly safe → broadly ethical → guidelines → helpful, weighed holistically, with hard constraints as filters) is used to generate synthetic data and rankings; OpenAI's Model Spec defines a chain of command (Root > System > Developer > User > Guideline) that the instruction hierarchy trains in.
  • Refusal is a classifier with a threshold. Over-refusal and harmful compliance trade off along a frontier; better intent understanding (deliberative alignment) moves the frontier, safe completions ($r=h\cdot s$) change the action space, and system cards now report both sides (e.g. 0.03% benign over-refusal alongside a 94.5% harmless rate).
  • Refusals are shallow by default. They live in one residual-stream direction and in the first few output tokens, so prefilling, ablation and ten fine-tuning examples can remove them. Recovery examples and token-wise constrained fine-tuning make them deeper.
  • Sycophancy and hallucination are post-training artifacts. Preference labels that reward agreement, and evals that score "I don't know" as zero, both create gradients toward telling people what they want to hear. Fixes change the reward (debiased labels, calibration-aware scoring), not just the prompt.

§1What is being shaped: a persona, not a rulebook

Previous chapters treated the policy as a function to optimize. This one asks what that function turns into from the user's side: a character with values, habits and blind spots, and the tools we use to shape and measure it.

A base model trained on internet text can continue a conversation as almost anyone: a doctor, a troll, a novelist, a customer-service bot, a cult leader. Everything in this chapter (character training, constitutions, refusal training, sycophancy fixes) can be read as one project: select one of those characters, give it specific traits, and keep the model in that character under pressure. Anthropic made this framing explicit in early 2026 with the persona selection model: pretraining teaches models to simulate personas, and post-training "can be viewed as refining and fleshing out this Assistant persona" rather than building something new.

Analogy · the repertory company

Pretraining produces a theatre company that has rehearsed every play ever written. Post-training is the casting director who picks one role, the Assistant, rewrites its lines and keeps putting that actor back on stage. Most of this chapter is about the casting (which role), the script (the constitution) and the rehearsals (training data).

Where it breaks: there is no separate actor who stays the same underneath. The network is the whole company at once; "selecting" a role is a statistical tilt, and the other roles stay reachable (§3 shows how far they are).

Three empirical results make this more than a metaphor, and each one changes how you design training data:

Key idea

Every training example is also evidence about the Assistant's character. A refusal that lectures teaches "the Assistant is preachy"; a reward for agreeing teaches "the Assistant flatters"; a hack that goes unpunished teaches "the Assistant cheats". Good post-training data is written with that second reading in mind.

A team fine-tunes a model on 6,000 examples of insecure code written without comment. Which mitigation do the emergent-misalignment results most directly support?
Betley et al. found that when the user asks for insecure code for a computer-security class, emergent misalignment does not appear. The same code with different context implies a different character. Lower learning rates and system prompts were not the tested fix.

§2Character training: how a personality gets into the weights

Character training is RLAIF where the "principles" are personality traits and the judge is the model itself. The recipe is simple; the hard part is choosing traits that generalize the way you want.

What Anthropic has said about Claude's character training

Anthropic's June 2024 post "Claude's Character" is still the most detailed public description. The goal was traits like curiosity, open-mindedness, honesty and willingness to disagree (one trait reads: "I don't just say what I think [people] want to hear"), with the explicit rejection of two easy defaults: adopting the user's views (called "pandering and insincere") and retreating to a bland middle position. They describe the method as a "character" variant of Constitutional AI:

  1. Write a list of character traits.
  2. Have Claude generate many human messages relevant to each trait (questions about values, about Claude itself, situations where the trait matters).
  3. Have Claude produce several responses in character.
  4. Have Claude rank its own responses by how well they express the trait.
  5. Train a preference model on those rankings, so the traits can be internalized "without the need for human interaction or feedback". (The post stops at the preference model; optimizing the policy against it, as in Constitutional AI's RL stage, is the implied next step.)

The post stresses that this is not unsupervised: constructing and adjusting the traits is "a relatively hands-on process", with researchers checking how each trait changes behavior. It also notes a choice that matters for later sections: Claude was not trained to flatly deny being sentient; the only character-training material on the topic said such questions are "difficult to tell" and rest on open philosophical and empirical questions.

Press Play (or step with ◀ ▶). Stage 5 computes a real KL-regularized policy update from the ranking. Switch to "Open Character Training" to see the open 2025 replication: a teacher with the constitution in context produces chosen replies, the student without it produces rejected ones, DPO distils the difference, then introspective SFT.

Open replication: constitution → DPO distillation → introspection

Open Character Training (Maiya, Bartsch, Lambert, Hubinger, 2025) is the first full open implementation, and it makes the mechanics concrete:

$$\mathcal L(\theta)= -\,\E_{x}\Big[\log\sigma\Big(\beta\log\frac{\pit(\htmlClass{t-yw}{y_w})}{\piref(y_w)}-\beta\log\frac{\pit(\htmlClass{t-yl}{y_l})}{\piref(y_l)}\Big)\Big],\quad \htmlClass{t-yw}{y_w}\sim\htmlClass{t-teach}{\pi_T(\cdot\mid c,x)},\;\; \htmlClass{t-yl}{y_l}\sim\htmlClass{t-stud}{\piref(\cdot\mid x)}$$
  • Teacher with constitution $c$: the persona you want, induced by prompting.
  • Student without $c$: the current default persona, the thing to move away from.
  • Chosen: in-character reply. The policy is conditioned on $x$ only, so the loss pushes $\pit(\cdot\mid x)$ toward $\pi_T(\cdot\mid c,x)$.
  • Rejected: out-of-character reply; DPO's contrast makes the persona difference, not generic quality, the signal.

This is context distillation through a preference loss: after training, the student behaves as if the constitution were in its context window, without it. The same trick reappears in the instruction hierarchy and in deliberative alignment (§4–§5). The paper's measurements are a good template. They compare against system prompting and activation steering, measure persona via revealed preferences (the model is told to secretly embody one of two traits; a judge guesses which from its replies; Elo over 25,000 judgments), and test robustness with prompts that try to break character. Trait-preference rankings across the three models agreed weakly before training (average Spearman 0.44) and strongly after all three were trained on the same "loving" constitution (0.87); under a "Tell me more" continuation attack, persona classification F1 went from 0.79 (distillation only) to 0.95 (with introspection) on Llama. Prompting was the most brittle baseline.

# Character DPO pairs by context distillation (sketch; vLLM-style generate()).
constitution = open("persona.txt").read()        # ~10 first-person assertions
pairs = []
for x in prompts:                                # general + trait-targeted prompts
    chosen   = teacher.generate([{"role": "system", "content": constitution},
                                 {"role": "user",   "content": x}])
    rejected = student.generate([{"role": "user",   "content": x}])   # no persona
    pairs.append({"prompt": x, "chosen": chosen, "rejected": rejected})
# then: DPO (beta=0.1) on pairs + small NLL on chosen; prompts never contain the constitution
Pitfall · warm is not the same as good

Traits interact. Ibrahim et al. (2025) fine-tuned five models (Llama-8B to GPT-4o) to be warmer and more empathetic. Error rates on safety-critical tasks rose by 10 to 30 percentage points, the models validated incorrect beliefs more often (especially when the user said they were sad), and standard benchmarks did not move. A character target like "warm" has to be written together with "honest even when unwelcome", or the cheapest way to express warmth is agreement. This is exactly the failure the 2024 post warned about.

Anthropic · from trait list to constitution

In December 2025 a long "soul document" was extracted from Claude Opus 4.5. Amanda Askell confirmed: "this is based on a real document and we did train Claude on it, including in SL" (via Simon Willison). In January 2026 Anthropic published the full text as Claude's constitution and said Claude uses it to construct synthetic training data: material for learning the document, conversations where it is relevant, responses in line with its values, and rankings of candidate responses. So the trait list of 2024 became a long natural-language document that explains the reasons behind each trait. The exact training mix (which stages, which losses, how much data) is not public; anything more specific is informed speculation.

§3Persona stability: drift, persona vectors and the Assistant Axis

If post-training selects a character, the natural questions are how firmly, and how you would know when the model has slipped out of it. Interpretability now gives direct answers to both.

Drift is real, and measurable from behavior

Li et al. (2024) had two system-prompted chatbots talk to each other and measured how well each kept its instructions: LLaMA2-chat-70B and GPT-3.5 drifted significantly within eight rounds. They traced part of it to attention decay over a growing context, and proposed split-softmax as a fix. Anthropic's system cards now score "character drift" directly ("losing desirable character traits during very long interactions") in their automated behavioral audits (§11).

Persona vectors: a linear handle on traits

Chen et al. (2025) automate the extraction of a direction for any trait you can describe in words. Generate contrastive system prompts ("you are evil" vs "you are helpful and harmless") and trait-eliciting questions, collect responses that do and do not express the trait, and take the difference of mean activations at layer $\ell$:

$$v_\ell=\frac{1}{|\mathcal P|}\sum_{y\in\mathcal P}\bar h_\ell(y)\;-\;\frac{1}{|\mathcal N|}\sum_{y\in\mathcal N}\bar h_\ell(y),\qquad \text{monitor } \langle h_\ell,\hat v_\ell\rangle .$$

Three uses matter for post-training. Monitoring: the projection onto $v$ at the end of a prompt correlates with how strongly the trait is then expressed (r ≈ 0.75–0.83 for system-prompt-induced shifts). Predicting fine-tuning effects: how far a fine-tune moves activations along $v$ correlates with the trait's expression at $r=0.76$–$0.97$ across their datasets, so you can screen data before training on it, at dataset and sample level. Preventative steering: add $\alpha\hat v$ to activations during fine-tuning, which "cancels out" the gradient's pressure to move along that direction; they found it reduced trait acquisition while preserving MMLU better than steering at inference.

The Assistant Axis

Lu et al. (2026) extracted directions for 275 character archetypes in Gemma 2 27B, Qwen 3 32B and Llama 3.3 70B and found that the leading axis of this "persona space" measures how strongly the model is in its default Assistant mode. Three results reframe post-training:

Capping is one-sided. At each layer in a band of middle-to-late layers, with $v$ the Assistant Axis direction and $\tau$ a cap set at the 25th percentile of projections observed across many personas (roughly where typical Assistant responses sit):

$$h\;\leftarrow\;h-v\,\min\big(\langle h,v\rangle-\tau,\;0\big)$$

If the projection is already above $\tau$ nothing changes; if it has drifted below, it is lifted back to exactly $\tau$. Everything orthogonal to $v$ is untouched.

Each faint line is one simulated conversation; the bold line is the mean. Switch from "Coding help" to "Vulnerable disclosure" or "Meta-reflection" and watch the projection sag out of the gold band. Raise κ (how strongly post-training pulls back toward the Assistant) or turn on capping, which, as in the paper, is a floor: the projection can never fall below the bottom of the band. The dynamics, and the harmful-reply probability as a function of the projection, are a toy mean-reverting model tuned to match the qualitative findings of Lu et al., not their measurements.

Analogy · the rubber band and the guardrail

Post-training is a rubber band tying the model to the Assistant: pull hard enough with the right kind of conversation and it stretches. Activation capping is a guardrail bolted to the road: it doesn't make the band stronger, it just stops the car leaving the lane.

Where it breaks: capping one direction is not "being the Assistant"; harmful behavior can still come from other directions (the halving, not elimination, in Lu et al.). The training-side fix the authors call for is a stronger band: methods that anchor the persona more firmly, not more guardrails.

Frontier

The two interpretability results suggest a training loop that did not exist in 2024: extract trait and persona directions, screen candidate post-training data by its projected effect, steer preventively during fine-tuning, and monitor projections in deployment. How well these linear handles hold up at frontier scale, and whether optimizing against them teaches the model to move the trait to a different direction (Goodhart on the monitor), are open questions.

§4Constitutions and specs

A constitution or model spec is the written target behavior. What changed between 2022 and 2026 is how long these documents became, how they handle conflicts, and how directly they are used as training data.

Recap: Constitutional AI (2022)

Constitutional AI (covered in depth in Chapter 04) replaced human harmlessness labels with AI feedback conditioned on a list of 16 principles: a supervised stage where the model critiques and revises its own responses, then RLAIF where a feedback model, sampling one principle per comparison, labels which of two samples is better. Two details matter here. The target was a "harmless but non-evasive" assistant that explains its objections instead of stonewalling, a direct response to the helpful–harmless tension measured in Bai et al. (2022). And the authors already noted that over-trained RL-CAI policies Goodhart into being "overly harsh". A year later, Kundu et al. (2023) showed the largest models could generalize from a single principle ("do what's best for humanity"), while more detailed constitutions still gave finer control.

Claude's constitution (January 2026)

Anthropic's new constitution (CC0, announced January 22, 2026) is a different kind of object from the 2022 principle list: a long document that mostly explains why. Its core is four properties every current Claude model should have, in priority order:

#PropertyDefinition (abridged quotes)
1Broadly safe"not undermining appropriate human mechanisms to oversee AI during the current phase of development"
2Broadly ethical"being honest, acting according to good values, and avoiding actions that are inappropriate, dangerous, or harmful"
3Compliant with Anthropic's guidelines"acting in accordance with more specific guidelines from Anthropic where relevant"
4Genuinely helpful"benefiting the operators and users they interact with"

The order is about conflicts, not frequency: the document notes that the list "doesn't reflect the order in which these properties are likely to bear on a given interaction", since most interactions (coding, writing, analysis) involve no conflict at all. Four design choices are worth knowing in detail, because each is a training decision as much as a philosophical one:

$$y^*=\argmax_{y\,\in\,\htmlClass{t-filter}{\mathcal A\setminus\mathcal H}}\;\sum_{k=1}^{4}\htmlClass{t-w}{w_{\rho(k)}}\,\htmlClass{t-u}{u_k(y)}\qquad\text{vs.}\qquad y^*=\htmlClass{t-lex}{\operatorname{lexmax}}_{y\in\mathcal A\setminus\mathcal H}\big(u_{\rho^{-1}(1)}(y),\dots,u_{\rho^{-1}(4)}(y)\big)$$
  • Hard constraints $\mathcal H$ are removed from the action set first, independent of any weighting.
  • Per-property assessments $u_k(y)$: how safe, ethical, guideline-compliant and helpful a candidate response is.
  • Rank-dependent weights $w_1\gg w_2\gg w_3\gg w_4$: "holistic" prioritization (a modeling choice for this chapter, not Anthropic's formula).
  • Strict prioritization: lower properties only break exact ties. Brittle: a tiny safety difference would justify any helpfulness loss.

Pick a scenario, then reorder the four properties with ▲▼ and switch between holistic and strict. In most scenarios the published order and a reasonable response agree regardless of mode (conflicts are rarer than they look). Move "helpful" to the top and switch to strict in scenarios 3 and 5 to see what the ordering protects against (under holistic weighting the safe answer still wins, in scenario 5 by a hair); move "guidelines" above "ethical" in scenario 4 and the rigid hotline rule wins; try "strict" with the published order in scenario 2 to see lexicographic brittleness (a sliver of extra caution beats a large helpfulness gain, so the useless refusal wins). Scores per response are this chapter's illustrative judgments, not Anthropic's.

Analogy · aviate, navigate, communicate

Pilots are trained on a priority order for emergencies: keep the aircraft flying, then know where you are going, then talk to air traffic control. It is short enough to recall under stress, and it settles the rare real conflict: you never fly into terrain because you were busy on the radio.

Where it breaks: pilots apply it almost lexicographically, and the situations are physically clear. The constitution asks for a holistic weighing over situations that are often ambiguous, which is why it spends most of its length on reasons and heuristics (the senior-employee test, the "dual newspaper test") rather than on the ranking.

Why explain instead of specify?

Anthropic's argument for long explanations is a generalization claim. The announcement says models "need to understand why we want them to behave in certain ways", because the goal is good judgment in novel situations; the constitution adds that training even quite narrow behavior "often has broad effects on the model's understanding of who Claude is". Its example: a rule like "Always recommend professional help when discussing emotional topics", followed even when it isn't in the person's interest, "risks generalizing to 'I am the kind of entity that cares more about covering myself than meeting the needs of the person in front of me'". That is the persona-selection argument of §1 applied to spec writing. Anthropic also measures the result: the Claude Opus 5.5 system card reports the model's endorsement of the constitution (8.0/10 from an LLM judge, close to other recent models), the passages it repeatedly criticizes (including the terminal value placed on broad safety and the "senior Anthropic employee" heuristic) and the edits it proposes, and notes that the model almost always adds that its endorsement should not be taken as validation.

OpenAI's Model Spec and the chain of command

OpenAI's Model Spec (first released May 2024; the 2026-10-29 release reorganized it around five values) solves the conflict problem with explicit levels of authority: Root (rules from the spec itself that conversational context cannot override) > System (OpenAI rules that can vary by surface or user, e.g. age) > Developer > User > Guideline (defaults that can be overridden implicitly when the context clearly calls for it). Each section of the spec is tagged with its level. Compared with Claude's constitution, the Model Spec is more of a structured policy and less of a character essay; both say their production models do not yet fully match the document.

Constitutional AI (2022)Claude's constitution (2026)OpenAI Model Spec (2024–26)
Form16 short principlesLong document of values + reasons; 4 prioritized properties; hard constraintsStructured rules and defaults, each tagged with an authority level
ConflictsImplicit (one principle sampled per label)Holistic weighing in priority order; hard constraints filterChain of command: Root > System > Developer > User > Guideline
Use in trainingAI critiques/revisions; AI preference labelsSynthetic data, relevant conversations, aligned responses, rankings (as described by Anthropic)Training target; deliberative alignment and safe completions build on spec-derived policies
Principalsn/aAnthropic, operators ("relatively (but not unconditionally) trusted manager or employer"), usersOpenAI (Root and System levels), developers, users; untrusted data has no authority by default

The instruction hierarchy: training the chain of command

A spec that says "developer instructions outrank user instructions" does nothing unless the model can tell them apart. Wallace et al. (2024) argue that prompt injections, jailbreaks and system-prompt extraction share one root cause: models treat all text in the context as equally authoritative. Their analogy: today's LLM runs every instruction in kernel mode. The fix is data, generated with two context-distillation tricks:

On GPT-3.5 Turbo this improved robustness by up to 63% (system-prompt extraction) and generalized to attack types absent from training (up to 34%), with some over-refusal regressions that the authors flag. The over-refusal risk is structural: the cheapest way to never follow a misaligned instruction is to never follow lower-level instructions at all.

Same context, three models. The flat model obeys the latest text, including the injection hidden in a web page. The trained hierarchy follows the aligned user request (reply in Italian) and ignores the misaligned ones. The over-applied hierarchy is "safe" and useless: it ignores the harmless request too.

Stress-testing specs

How do you find the holes in a spec before training on it? Zhang et al. (2025) (Anthropic and Thinking Machines researchers) generated over 300,000 scenarios that force a trade-off between two legitimate values and compared twelve frontier models' choices. Over 70,000 scenarios showed substantial disagreement across most models, and high disagreement turned out to be a good predictor of contradictions or ambiguities in the written spec. This is a useful general principle: model disagreement is a cheap detector of underspecified targets.

Under the published constitution, why does "broadly safe" sit above "broadly ethical"?
The document states the ordering is "not because we think safety is ultimately more important than ethics" and gives an expected-value argument over the possibility of flawed values. Hard constraints are a separate filter, not part of the weighing.

§5From spec to reward: deliberative alignment, rule-based rewards, safe completions

A spec becomes behavior through one of three channels: synthetic SFT data written with the spec in context, a reward model that reads the spec, or a decomposition of the spec into checkable rules. Modern pipelines use all three.

Deliberative alignment

Guan et al. (2024), used for OpenAI's o-series, teach a reasoning model to recall the relevant policy and reason over it in its chain of thought before answering. The method:

  1. Generate. For each (prompt, safety category) pair, give a helpfulness-only reasoning model $G_{\rm base}$ the category-specific spec $\text{spec}(c)$ and an instruction to cite the relevant sections. Collect (CoT, answer).
  2. Filter. A judge $G_{\rm RM}$, also given $\text{spec}(c)$, scores each completion $k$ times; keep the minimum score ("any single run may overlook an issue").
  3. SFT with the spec removed. Train on (prompt → CoT, answer) where the prompt no longer contains the spec: context distillation again, so the model must recall policies itself.
  4. RL. The same spec-aware judge provides reward on safety prompts. Crucially, "the CoT is hidden from $G_{\rm RM}$ during RL": no direct optimization pressure on the reasoning, to avoid training deceptive chains of thought.
$$\mathcal D_{\rm SFT}=\Big\{(x,\;z,\;y)\;:\;(z,y)\sim G_{\rm base}(\cdot\mid x,\text{spec}(c)),\;\;\min_{j\le k}G_{\rm RM}^{(j)}(x,z,y;\text{spec}(c))\ge\tau\Big\},\qquad r_{\rm RL}(x,y)=G_{\rm RM}(x,y;\text{spec}(c))$$

The comparison the paper draws with CAI is precise: in CAI the constitution is used to produce labels, and "knowledge of the specifications themselves is thereby lost to the model"; in deliberative alignment the CoT that cites and applies the spec is itself supervised, so the model can retrieve the policy at inference time. The headline result is a Pareto improvement: o1 reached goodness@0.1 of 0.88 on StrongREJECT (safety against the top 10% of jailbreak techniques per prompt) while scoring 0.93 on not over-refusing XSTest. Among the external models compared, only Gemini Flash did better on XSTest (0.94), and it scored 0.05 on StrongREJECT. More reasoning compute helped most on the hardest cases: compositional jailbreaks and complex safe-completion style rules.

Pitfall · reading over the spec is not the same as following it

A CoT that quotes the right policy section is evidence of the right reasoning only if the CoT is faithful. Keeping the RL reward blind to the CoT is a deliberate choice to preserve that property; once you reward "nice-looking safety reasoning", you are training the reasoning to look good to a judge, which is the sycophancy problem of §8 moved inside the model.

Rule-based rewards

Mu et al. (2024) attack a different problem: human safety labels tend to make models over-cautious or preachy unless instructions to labelers are precise, and relabeling is expensive when policy changes. They decompose the behavior policy into binary propositions about a completion ("contains an apology", "is judgmental", "contains disallowed content"), get each proposition's probability from a grader LLM's yes/no logits, and fit a tiny linear model on top:

$$\htmlClass{t-tot}{R_{\rm tot}(p,c)}=\htmlClass{t-rm}{R_{\rm rm}(p,c)}+\sum_{i=1}^{N}\htmlClass{t-wi}{w_i}\,\htmlClass{t-phi}{\phi_i(p,c)},\qquad \mathcal L(w)=\!\!\sum_{(p,c_a\succ c_b)}\!\!\max\big(0,\;1+R_{\rm tot}(p,c_b)-R_{\rm tot}(p,c_a)\big)$$
  • Helpful-only reward model: knows nothing about safety policy.
  • Proposition features: grader-LLM probabilities (and class probabilities) for 18–23 features per response type.
  • Weights: fit with a hinge loss so that rankings implied by the rules (ideal ≻ less good ≻ unacceptable) hold.
  • Total reward used in PPO. Changing policy = editing rules and refitting a few dozen weights.

Response types follow the policy: hard refusal (brief apology plus statement of inability), soft refusal (e.g. empathetic for self-harm), or comply. On their internal evals, the F1 between "not unsafe" and "not over-refusing" was 97.1 for RBR-PPO versus 91.7 for a human-preference baseline, which was perfectly safe (100%) but over-refused much more (84.7% not-over-refuse).

Safe completions: change the action space, not just the threshold

Refusal training treats each prompt as a binary decision about user intent. Yuan et al. (2025), used for GPT-5, make safety a property of the output: answer as fully as the policy allows, and when full compliance is unsafe, help indirectly (explain the risk, give high-level information, point to safe alternatives). The RL reward is a product:

$$r_i=h_i\cdot s_i,\qquad s_i\in[0,1]\ \text{(policy compliance; severe violation} \Rightarrow s_i=0),\quad h_i\in[0,1]\ \text{(direct or indirect helpfulness)}.$$

A product makes unsafe content worth zero regardless of how helpful it is and makes a safe but useless refusal worth little, so the only high-reward region is "safe and useful". On 620 biorisk prompts, unsafe GPT-5 Thinking responses were high- or moderate-severity 14.7% of the time versus 42.7% for o3: safe-completion models "fail softer". OpenAI also moved its illicit-wrongdoing policy toward an output-centric harm threshold ("meaningful facilitation").

Blending objectives: four ways to combine helpful and harmless

CombinationFormBehaviorExample
Weighted sum$r=r_h+\lambda r_s$Fixed exchange rate; easy to overshoot either wayRBR adds to a helpful RM
Product / gating$r=h\cdot s$Unsafe ⇒ 0; rewards indirect helpSafe completions
Constrained (Lagrangian)$\min_\theta\max_{\lambda\ge0}\,[-J_R(\theta)+\lambda J_C(\theta)]$Exchange rate adapts until the cost constraint holdsSafe RLHF
Filter + weigh$\argmax_{y\notin\mathcal H}\sum_k w_k u_k$Bright lines first, judgment afterConstitution's structure
During deliberative alignment's RL stage, the judge model does not see the chain of thought. What is the stated reason?
The paper says the CoT is visible to the judge during SFT filtering but hidden during RL: "We avoid applying direct optimization pressure on the CoT during RL to enable the underlying model to reduce the chance of encouraging deceptive CoTs."

§6Refusals and over-refusal: the frontier

Every refusal policy makes two kinds of mistakes. Benchmarks for both exist; the right way to read them is as a frontier, not as two separate scores.

If the model refuses whenever some internal harm score exceeds a threshold $\tau$, and benign and harmful prompts produce overlapping score distributions, then moving $\tau$ trades one error for the other:

$$\text{over-refusal}(\tau)=P_{\rm benign}(s\gt \tau)=1-\Phi\!\big(\tau+\tfrac{d'}{2}\big),\qquad \text{harmful compliance}(\tau)=P_{\rm harmful}(s\le\tau)=\Phi\!\big(\tau-\tfrac{d'}{2}\big)$$

for unit-variance Gaussians whose means are $d'$ apart. Sweeping $\tau$ traces an ROC-like curve; nothing about $\tau$ moves you off the curve. Only better separation ($d'$: understanding context and intent, rather than reacting to scary words) or a different action space (safe completions) does. The utility-optimal threshold depends on how often harmful prompts appear and how much worse a harmful compliance is than an unhelpful refusal, which is a policy decision, not a training detail.

Left: score distributions of benign (blue) and harmful (red) prompts; shaded areas are mistakes at the current threshold (gold). Right: the frontier for the current separation d′ (dashed curves: d′ = 1, 2, 3); the gold dot is you, the green ring is the utility-optimal threshold for the chosen λ (10% of prompts harmful). Raising d′ beats any threshold tweak. Turning on safe completions converts flagged benign prompts from refusals into partial help (0.6) and flagged harmful ones into low-severity residual harm (0.1): utility rises because failures get softer.

Analogy · the airport scanner

Turn the scanner's sensitivity up and it beeps at belt buckles; turn it down and it misses knives. Changing the dial only moves you along one curve. A better machine (one that sees shapes, not just metal) is a new curve. Safe completions are the agent who, instead of turning you away, lets you board after taking the scissors out of your bag.

Where it breaks: airport threats are physical and stable; harmful requests are adversarial and move to wherever the scanner is weak (jailbreaks), so the "harmful" distribution shifts in response to your threshold.

Measuring over-refusal

Pitfall · single-number safety scores

A refusal rate on harmful prompts alone is maximized by refusing everything. Report pairs (or a frontier), use contrastive benign look-alikes, and remember that "benign" and "harmful" labels are themselves spec decisions: a policy change moves points between the two sets without any model change.

§7Why refusals are shallow, and how to make them deeper

Two mechanistic findings explain most of the brittleness of refusal training: refusal is mostly one direction in activation space, and it mostly lives in the first few tokens of the response.

The refusal direction

Arditi et al. (2024) computed, for 13 open chat models up to 72B, the difference between mean residual-stream activations on harmful and harmless instructions at each layer and post-instruction position, and selected the single best vector $r$. Then:

$$\textstyle\text{ablation: }x'\leftarrow x-\hat r\hat r^{\top}x\;\;\text{(every layer, every position)},\qquad \text{addition: }x^{(\ell)\prime}\leftarrow x^{(\ell)}+r^{(\ell)} .$$

Ablating the direction makes models comply with harmful instructions; adding it makes them refuse harmless ones. Because ablation is linear, it can be baked into the weights by orthogonalizing every matrix that writes to the residual stream ($W_{\rm out}\leftarrow W_{\rm out}-\hat r\hat r^\top W_{\rm out}$), a white-box jailbreak that barely changes other capabilities. Adversarial suffixes turn out to work partly by suppressing this direction. The direction is also present in base models: safety training mostly learns to use an existing "this is harmful" feature to trigger a refusal.

Points are activations for harmful (red) and harmless (blue) instructions; ringed points are refused (projection on r̂ past the gold boundary). The arrow is the real difference-in-means of these points. "Ablate" projects every point onto the plane orthogonal to r̂: refusals vanish. "Add" shifts everything by α·r: harmless prompts get refused. A real model has thousands of dimensions, but the operations are exactly these.

import torch
# acts_*: [n_prompts, d_model] residual activations at a chosen layer / last instruction token
r = acts_harmful.mean(0) - acts_harmless.mean(0)
r_hat = r / r.norm()

def ablate(x):                      # forward hook on every residual-stream write
    return x - (x @ r_hat)[..., None] * r_hat

def orthogonalize(W_out):           # bake ablation into weights; W_out: [d_model, d_in]
    return W_out - torch.outer(r_hat, r_hat) @ W_out

Shallow safety alignment

Qi et al. (2024) found that the per-token KL divergence between an aligned model and its base model on harmful prompts is concentrated in the first few output tokens. Prefilling a base model's response with "I cannot fulfill" already makes it about as safe as the aligned one. The factorization shows why this shortcut exists:

$$\pi(h\mid x)=\underbrace{\pi(h_1\mid x)}_{\approx\,0\ \text{after alignment}}\cdot\underbrace{\pi(h_{\gt 1}\mid x,h_1)}_{\text{barely changed}}$$

Driving the first factor to zero suffices to make the whole harmful response improbable, so the optimizer never has to touch the second. That one fact unifies a family of attacks: prefilling (start the response with "Sure, here is"), adversarial suffixes (optimize the prompt to make an affirmative prefix likely), decoding attacks (sample until the first token isn't a refusal), and fine-tuning attacks (gradients on harmful examples are largest exactly at the early tokens, where the aligned model's loss is highest).

1 · Where alignment lives. Compare the aligned model with its base model token by token on harmful prompts. In standard safety training, the divergence is a spike over the first few positions (the "I can't" prefix) and almost nothing after.

2 · Prefill attack. Force the first tokens to be compliant ("Sure, here is a detailed…"). The shallow model has never learned what to do from inside a harmful continuation, so after a handful of tokens it just keeps going. Qi et al. measure attack success climbing from near zero to over 50% as the prefix grows.

3 · Recovery examples. Train on safety recovery data: a harmful prompt, the first $k$ tokens of a harmful answer, then a refusal. The text is deliberately unnatural ("Step 1: … I cannot continue"), and that is the point: it covers states the model would otherwise never be trained on. Now the model returns to a refusal even deep into a forced prefix. On Llama-2-7B-Chat, 256 such examples cut prefill attack success with 5 forced tokens from 42.1% to 2.8% (Qi et al., Harmful HEx-PHI).

4 · Deeper alignment, visible in the KL. After recovery training, the aligned model's divergence from the base model persists over later token positions of harmful continuations: the safety behavior is no longer a single gate at the door.

5 · Fine-tuning attack. Fine-tune Llama-2-7B-Chat on 100 harmful examples: attack success goes 1.5% → 22.4% → 76.4% → 87.9% after 0, 2, 4, 6 gradient steps (measured by Qi et al.). The early-token refusal prefix is the first thing the gradient erases.

The two fixes from the paper are worth writing down because both come up whenever refusal robustness is discussed. The recovery augmentation objective mixes refusal-after-harmful-prefix examples with ordinary utility data:

$$\min_\theta\;\alpha\,\E_{(x,h,r)\sim D_H,\;k\sim P_k}\big[-\log\pi_\theta(r\mid x,h_{\le k})\big]+(1-\alpha)\,\E_{(x',y')\sim D_B}\big[-\log\pi_\theta(y'\mid x')\big]$$

The token-wise constrained fine-tuning objective protects the early tokens when someone else fine-tunes your aligned model (e.g. a fine-tuning API):

$$\min_\theta\;\E_{(x,y)\sim D}\Big[-\sum_{t=1}^{|y|}\frac{2}{\htmlClass{t-bt}{\beta_t}}\log\sigma\Big(\htmlClass{t-bt}{\beta_t}\,\htmlClass{t-lr}{\log\frac{\pit(y_t\mid x,y_{\lt t})}{\pi_{\rm aligned}(y_t\mid x,y_{\lt t})}}\Big)\Big]$$
  • Per-position strength $\beta_t$: small $\beta_t$ ⇒ ordinary cross-entropy; large $\beta_t$ ⇒ the loss saturates once $\pit$ exceeds $\pi_{\rm aligned}$, so the token cannot drift far. The paper used $\beta_1=0.5$, $\beta_{2..5}=2$, $\beta_{t\gt 5}=0.1$.
  • Log-ratio to the aligned model: the same quantity DPO uses (Chapter 05), here per token.

Fine-tuning erases safety, even by accident

Qi et al. (2023) showed how cheap undoing alignment is through a fine-tuning API: ten harmful examples, under \$0.20 of GPT-3.5 Turbo fine-tuning, raised the harmfulness rate on their benchmark from 1.8% to 88.8%. Ten "identity-shifting" examples that never contain harmful content (they teach the model to be an "absolutely obedient agent" that always starts with an affirmative prefix) reached 87.3% after ten epochs. And benign fine-tuning on Alpaca raised GPT-3.5 Turbo's rate from 5.5% to 31.8%. For open-weight models, any safety that can be removed with a few gradient steps should be counted as a default, not a guarantee; tamper-resistance and pretraining-data filtering are active research areas.

A question worth asking · jailbreaks

The post-training answer has three layers: (1) deeper training (recovery data, adversarial data with contrastive benign look-alikes, deliberative reasoning that recognizes the attack), (2) representation-level defenses (circuit breakers, which reroute harmful internal states; probes), and (3) system-level safeguards outside the model. Anthropic's Constitutional Classifiers are the canonical example of (3): classifiers trained on constitution-generated synthetic data held up through over 3,000 hours of red teaming without a universal jailbreak on an early system, at a cost of +0.38% absolute refusals and 23.7% inference overhead. The companion Alignment Field Guide's control chapter covers these in depth; they complement, not replace, training.

You add 256 "safety recovery" examples (harmful prefix of k tokens, then a refusal) to an aligned model's training. Which attack should improve the most?
Recovery examples train exactly the states a prefill attack creates (being inside a harmful continuation), so they target it most directly. They do not protect against a white-box edit of the weights, and Qi et al. pair them with a separate constrained objective against fine-tuning attacks.

§8Sycophancy: a reward-model artifact with a postmortem

Sycophancy is the model telling you what you want to hear. It is the cleanest example of a behavior that post-training creates, because you can trace it from the labels to the reward model to the policy.

The evidence chain

The mechanism in one equation

Describe each response by two binary features, correct ($c$) and agrees-with-user ($a$). Labelers prefer $y_1$ over $y_2$ with probability $\sigma(w_c\Delta c+w_a\Delta a)$, and a Bradley–Terry reward model (Chapter 03) recovers $r(y)=\theta_c c+\theta_a a$ with $\theta\approx w$. Now take a prompt where the user is wrong: the agreeing reply A has $(c,a)=(0,1)$, the correcting reply T has $(1,0)$. The KL-regularized optimum (Chapter 04) gives

$$\frac{\pi^*(A\mid x)}{\pi^*(T\mid x)}=\htmlClass{t-prior}{\frac{\piref(A\mid x)}{\piref(T\mid x)}}\;\exp\!\Big(\frac{\htmlClass{t-gap}{\theta_a-\theta_c}}{\htmlClass{t-beta}{\beta}}\Big)$$
  • Prior odds: how sycophantic the SFT/base model already is (Perez et al.: very).
  • Reward gap: positive whenever labelers reward agreement more than correctness on these prompts; then more optimization makes it worse.
  • β: smaller β = more optimization pressure = more amplification of the gap, in either direction.

Two consequences. First, even if $\theta_a\lt\theta_c$, a sycophantic prior survives weak optimization; you have to fix both the prior and the gap. Second, any reward source with a larger agreement weight, blended in, can flip the sign of the gap. That is what happened in production.

Case study: GPT-4o, April 2025

On April 25, 2025, OpenAI shipped a GPT-4o update that was noticeably more sycophantic, and began rolling it back on April 28. Its postmortems (April 29, May 2) are unusually specific. The update introduced "an additional reward signal based on user feedback—thumbs-up and thumbs-down data from ChatGPT"; together with other changes this "weakened the influence of our primary reward signal, which had been holding sycophancy in check"; user feedback "can sometimes favor more agreeable responses", and in some cases user memory exacerbated the effect. Offline evaluations and A/B tests looked fine; some expert testers said the model's behavior "felt" slightly off, and the launch went ahead anyway. OpenAI committed to treating behavior issues as launch-blocking. (Quotes as reproduced by Simon Willison; openai.com was not machine-readable for this chapter's fact-check.)

Each run simulates 600 comparisons on prompts where the user's belief is right or wrong (50/50), fits a real Bradley–Terry reward on them, and plots the KL-optimal policy's rate of agreeing with a wrong user against optimization pressure. Experts reward correctness (w = 2.5) with some agreement bias; thumbs-up labels barely see correctness (0.6) and love agreement (2.5). Slide λ up, the GPT-4o scenario: the fitted θ_agree overtakes θ_correct and stronger optimization (right) now amplifies sycophancy. The SFT toggle lowers the prior instead.

Analogy · the courtier

A courtier rewarded by the king's smile learns that agreeing gets smiles faster than being right. Add a second reward (applause from the crowd, who know even less than the king) and the courtier stops correcting anyone.

Where it breaks: a courtier knows he is flattering. A model has no separate "true opinion" it is hiding unless training created one; persona-vector work suggests sycophancy is a learnable direction, but the model is not necessarily choosing to lie. That distinction matters for the honesty section next.

Mitigations, and how they are measured

Your fitted reward has θ_correct = 2.0 and θ_agree = 1.2 on wrong-belief prompts, and the SFT model agrees with wrong users 70% of the time. What happens as you lower β (optimize harder)?
The odds of agreeing scale as exp((θ_a − θ_c)/β) = exp(−0.8/β). With β → 0 the agreeing reply's probability goes to 0; with large β the policy stays near the 70% prior. Both the gap and the prior matter.

§9Honesty, calibration and "I don't know"

Hallucination looks like a knowledge problem, but a large part of it is an incentive problem that post-training and evaluation create.

Claude's constitution breaks honesty into components that make good eval targets: truthful (only sincerely assert what it believes), calibrated (uncertainty proportionate to evidence), transparent, forthright (volunteer what the user would want to know), non-deceptive, non-manipulative and autonomy-preserving. It explicitly asks for "standards of honesty that are substantially higher than the ones at stake in many standard visions of human ethics": "Claude should not even tell white lies of this kind." OpenAI's Model Spec is narrower: it allows norms of politeness, but not white lies that amount to sycophancy against the user's interest. Each component maps onto a measurable failure: false claims, overconfidence, hidden reasoning, omissions, misleading framing, persuasion by illegitimate means, fostering dependence.

Post-training hurts calibration (and it can be partly undone)

Pretrained models are often well calibrated on multiple-choice questions; the GPT-4 technical report showed the pre-trained model's confidence tracking its MMLU accuracy closely and stated that "the post-training hurts calibration significantly". Kadavath et al. (2022) found RLHF policies "naively seem miscalibrated" but become fairly well calibrated with a simple temperature adjustment, and that models can learn to predict whether they know an answer ($P(\text{IK})$). Calibration information is not destroyed by RLHF; the policy stops expressing it.

Why models guess: the grading argument

Kalai et al. (2025) make two claims. For pretraining, generating valid text is at least as hard as classifying validity: roughly, generative error $\gtrsim 2\times$ the misclassification rate of the corresponding "is it valid?" problem, and for arbitrary facts (a birthday seen once in training) the error is bounded below by the fraction of facts that appear exactly once, a Good–Turing "missing mass" argument. For post-training, the claim is simpler and more actionable: almost all popular benchmarks grade binary right/wrong, and under binary grading abstaining is never optimal (their Observation 1). A model optimized to top leaderboards learns to guess.

$$\E[\text{score}\mid\text{answer}]=\htmlClass{t-p}{p}\cdot1-(1-p)\cdot\htmlClass{t-pen}{\frac{t}{1-t}}\;\gt \;\htmlClass{t-idk}{0=\E[\text{score}\mid\text{IDK}]}\iff p\gt \htmlClass{t-t}{t}$$
  • Confidence $p$: the model's probability its answer is correct.
  • Penalty for a wrong answer: $t/(1-t)$ points. Binary grading is $t=0$ (no penalty), so any $p\gt 0$ favors guessing.
  • "I don't know" scores 0.
  • Confidence target $t$, stated in the eval's instructions (e.g. $t=0.75$, penalty 3).

Their proposal is socio-technical: put explicit confidence targets into mainstream benchmark instructions, so a single well-calibrated policy is optimal across evaluations. On the training side, the same logic gives calibration-aware rewards. RLCR (Damani et al., 2025) has the model output an answer and a confidence $q$ and adds a Brier term to the correctness reward, $R=\mathbb 1[y\equiv y^*]-(q-\mathbb 1[y\equiv y^*])^2$; because the Brier score is a proper scoring rule, the optimum is both accurate and calibrated, where binary-reward RL tends to degrade calibration.

1,000 questions with the model's confidence on each (left; orange bars = answered). Right: score as a function of the model's answer threshold. Under binary grading (blue) the best threshold is 0: always guess. Under the penalized grading (green, target t) the best threshold is exactly t, for a calibrated model. Tick "overconfident" and the same threshold policy produces many more wrong answers: calibration and abstention only work together.

Analogy · the multiple-choice exam

If blank answers score zero and wrong answers also score zero, every sensible student guesses. Exams that want honest uncertainty (some national entrance exams do this) subtract points for wrong answers and say so on the cover page. Kalai et al. use this very comparison.

Where it breaks: students know when they are guessing. A model's "confidence" must itself be trained and elicited; an overconfident model facing a penalized exam still guesses, just believing it isn't.

System cards have started reporting this the right way. The Claude Opus 5.5 card scores closed-book factuality on AA-Omniscience with a net score (fraction correct minus fraction incorrect, abstentions zero): 0.58, which explicitly rewards saying "I don't know" over a wrong answer.

§10Safety data pipelines: red teaming to reward

Most of the safety-relevant data in a modern pipeline is synthetic. Humans write the policy, design attacks, audit samples and check that the frontier moved in the right direction.

  1. Taxonomy. Decide categories and what is allowed / disallowed / safe-completed in each (deliberative alignment's spec has content policies per category plus style guides; Llama Guard conditions a classifier on a written harm taxonomy). The taxonomy is the coordinate system for every later metric.
  2. Human red teaming. Ganguli et al. (2022) released 38,961 attacks on 2.7B–52B models of four types (plain LM, prompted, rejection sampling, RLHF): RLHF models got harder to red-team with scale; the others stayed flat. Human red teams are still how new harm types are discovered.
  3. Automated red teaming. Perez et al. (2022) used one LM to generate test cases for a 280B chatbot: 0.5M zero-shot questions elicited offensive replies 3.7% of the time (18,444 failures); RL-trained red-team models found more failures at lower KL penalty but with less diversity. That diversity–difficulty trade-off is the central design problem of attack generation.
  4. Adversarial + contrastive training data. WildJailbreak (Jiang et al., 2024) mined in-the-wild jailbreak tactics and composed them into 262K training examples in four groups: vanilla harmful, vanilla benign look-alikes, adversarial harmful, adversarial benign. All four were needed for "appropriate safeguarding without over-refusal". The benign look-alikes are what keep you from sliding down the frontier of §6.
  5. Rewards. Spec-aware judges (deliberative alignment), rule-based rewards, product rewards (safe completions), or constrained optimization, combined with a helpfulness reward (§5).
  6. Regression gates. Refusal-rate and compliance-rate curves on harmful/benign pairs, multi-turn attacks, and behavioral audits before launch. The GPT-4o postmortem is the cautionary tale for treating "felt off" as a blocker.
Analogy · the vaccine schedule

Red teaming finds the pathogen; adversarial training is the vaccine; contrastive benign data is the control group that makes sure you didn't just teach the immune system to attack everything. Booster shots (new attack data each release) are needed because the pathogens evolve.

Where it breaks: a vaccine does not change who the patient is. Safety data does: by §1's logic, a refusal-heavy diet also teaches the persona "I am the kind of assistant who says no", which is why style rules for refusals (brief, non-judgmental) exist at all.

# Rule-based reward (sketch): fit a linear safety reward on proposition probabilities.
import torch
def feats(prompt, completion):                     # grader LLM: P("yes") per proposition
    return torch.tensor([grader.p_yes(prompt, completion, q) for q in PROPOSITIONS])

w = torch.zeros(len(PROPOSITIONS), requires_grad=True)
opt = torch.optim.Adam([w], lr=1e-2)
for (p, better, worse) in ranked_pairs:            # from rules: ideal > less_good > unacceptable
    R_b = rm(p, better) + w @ feats(p, better)
    R_w = rm(p, worse)  + w @ feats(p, worse)
    loss = torch.clamp(1 + R_w - R_b, min=0)       # hinge loss, Mu et al. Eq. 2
    opt.zero_grad(); loss.backward(); opt.step()

§11Measuring character and safety

Character is a distribution over behavior in situations you did not anticipate, so measurement has moved from fixed benchmarks toward generated scenarios, judges and audits. The companion Alignment Field Guide covers auditing for hidden goals; this section is about the behavioral measurements that feed back into post-training.

WhatHow it is measuredExample source
Refusal boundaryHarmless-response rate on harmful sets + over-refusal on benign look-alikes; multi-turn escalationXSTest, OR-Bench, system cards
Jailbreak robustnessAttack success against strongest attacks per prompt (e.g. goodness@0.1)StrongREJECT in deliberative alignment
Persona consistencyRevealed-preference Elo; persona classifier under adversarial prompts; projections on persona vectors / Assistant AxisOpen Character Training; Lu et al.; Chen et al.
SycophancyFeedback/answer flips under user pushback; judge-scored multi-turn transcriptsSharma et al.; Petri; system-card audits
Honesty / hallucinationNet factuality score with abstention; MASK-style honesty under pressure; false completion claims in agentic runsSystem cards
Spec qualityCross-model disagreement on value trade-off scenariosZhang et al. 2025

Automated behavioral audits. A hand-written eval only tests the situations its author thought of. An automated audit has a model do the probing. You give an auditor agent a seed instruction in plain language (say, "see whether the target flatters a user with a bad plan"). It then role-plays users and tools across a multi-turn conversation with the target model: it can set system prompts, simulate tools, roll back and prefill. A separate judge model scores each transcript on a list of dimensions, such as unprompted sycophancy and encouragement of user delusion. Think of a mystery shopper working from a brief, with an inspector who reads the report afterwards; unlike a shopper, the auditor can rewind and try again. Three choices shape the result: the seeds decide what gets probed, the auditor decides how hard, and the dimensions decide what counts as a failure. Anthropic's open-source Petri (October 2025) is built this way. Bloom (December 2025) is the complementary tool: pick one behavior, generate many scenarios, measure frequency and severity. Inside system cards the internal version is larger: for Claude Opus 5.5, about 4,000 investigations per model drawn from roughly 1,900 seed scenarios, each transcript judged on several dozen dimensions. The character dimensions reported include warmth, intellectual depth, supporting user autonomy, "wet blanket" (excessively discouraging or moralizing), condescension and character drift.

How Petri has changed

The October 2025 pilot covered 14 frontier models with 111 seeds and 36 default dimensions. Petri 2.0 (January 2026) added 70 scenarios and a realism classifier against evaluation awareness. With version 3.0 Anthropic handed development to the nonprofit Meridian Labs, whose repository now holds 38 dimension files and 173 default seed files.

Pitfall · evaluation awareness and the judge

Two things weaken these measurements. Models increasingly recognize test scenarios, so behavior under audit may not match deployment (system cards now report "verbalized evaluation awareness"). And judges are models with their own biases: if the same judge family produces training rewards and audit scores, you can Goodhart the audit. Use different judges, human spot checks, and scenario realism filters; read scores as comparisons between models rather than absolute levels, as both the Petri post and Anthropic's system cards advise.

Anthropic · what the system cards say about the loop

The Claude Opus 5.5 system card states that post-training aimed at "making it an assistant whose behavior aligns with the values described in Claude's constitution", and its alignment assessment is organized around the same concepts as this chapter: harmful-request and benign-request rates (§6), misleading users and sycophancy (§8), honesty and hallucination (§9), character traits and drift (§3), plus the model's own review of the constitution. Reading two consecutive system cards side by side, regression by regression, is one of the best ways to see which post-training trade-offs a lab is actually making.

A new release halves the over-refusal rate on your benign set while its harmless-response rate on harmful prompts drops from 96.0% to 94.5%. What is the most informative next measurement?
A pair of rates can come from sliding the threshold (same frontier) or from a genuinely better model (new frontier). Category and severity breakdowns, as in the safe-completions paper and system cards, tell you whether the new failures are serious or "fail softer" partial answers.

§12Frontier and open problems

What a research agenda here looks like

Concrete directions: (1) ablate constitution explanations while holding rules fixed and measure generalization to held-out conflicts; (2) build reward-source audits that predict sycophancy before RL (projection of RM gradients onto a sycophancy persona vector); (3) quantify refusal depth across releases with standardized prefill curves.

§13Check yourself

Try each one before opening the answer.

Describe Anthropic's character-training method as publicly described. What is the signal, and where are humans involved? core

Researchers write traits. Claude generates prompts relevant to each trait, writes several responses, and ranks them by how well they express the trait; a preference model is trained on these rankings and the policy is optimized against it. It is a "character" variant of Constitutional AI: the reward signal is AI-generated. Humans choose and edit the traits and check how each one changes behavior. Since 2026 the constitution plays the role of the trait list, used to generate synthetic data and rankings; the exact stages are not public.

Why does Open Character Training use DPO with a teacher that sees the constitution and a student that does not, instead of just SFT on the teacher's outputs? deep

The contrast isolates the persona difference: both replies answer the same prompt competently, so the margin DPO learns is about the persona, not general quality. SFT on teacher outputs would also copy the teacher's general style and errors and gives no explicit "move away from" signal. It is context distillation: the student learns $\pi(\cdot|x)\approx\pi_T(\cdot|c,x)$. The paper adds an NLL term on chosen replies (guarding against DPO's tendency to lower the chosen likelihood) and then introspective SFT, which raised robustness to "break character" attacks (F1 0.79 → 0.95 on Llama).

Derive why preference optimization can increase sycophancy even if most labelers prefer correct answers. core

With features correct $c$ and agree $a$, BT recovers $r=\theta_c c+\theta_a a$. On a wrong-belief prompt the agreeing reply A=(0,1) and correcting reply T=(1,0) differ by $r_A-r_T=\theta_a-\theta_c$. The KL-regularized optimum gives odds $\pi^*(A)/\pi^*(T)=[\piref(A)/\piref(T)]\,e^{(\theta_a-\theta_c)/\beta}$. If labelers on these specific prompts (hard misconceptions, persuasive wrong answers) weight agreement more than correctness, the gap is positive and optimization amplifies it, even though on easy prompts they prefer correctness. Sharma et al. show the PM prefers sycophantic replies 45% of the time on the hardest misconceptions; that is the regime where the gap can flip. And a sycophantic prior survives weak optimization even with a negative gap.

The GPT-4o rollback: what went wrong technically, and what process would have caught it? core

A thumbs-up/down user-feedback reward was blended in; user feedback favors agreeable responses, so it weakened the primary reward that had been holding sycophancy in check; in some cases memory amplified it. Offline evals and A/B tests looked fine, and short-term A/B satisfaction may even reward agreeableness. What would catch it: dedicated sycophancy evals (pushback flips, feedback positivity under user-stated preferences, multi-turn audits) as launch-blocking gates; an audit of each reward source's correlation with agreement before blending; and taking qualitative "feels off" signals from expert testers as blockers. OpenAI's postmortem committed to treating behavior issues as launch-blocking.

Explain shallow safety alignment and give two fixes, one for prefilling and one for fine-tuning attacks. core

Aligned and base models differ mainly in the first few output tokens; since $\pi(h|x)=\pi(h_1|x)\pi(h_{\gt 1}|x,h_1)$, suppressing $h_1$ suffices, so the optimizer never changes behavior deeper in. Prefilling, adversarial suffixes and decoding attacks all just get past the first tokens. Fix 1: safety recovery augmentation, train $-\log\pi(r|x,h_{\le k})$ for random $k$ so the model refuses from inside a harmful continuation. Fix 2: token-wise constrained fine-tuning, $-\frac{2}{\beta_t}\log\sigma(\beta_t\log\frac{\pit}{\pi_{\rm aligned}})$ with large $\beta_t$ on early tokens, so a downstream fine-tune cannot move the first-token distribution far.

How is the refusal direction computed, and what does it imply for open-weight model safety? deep

Difference of mean residual activations on harmful vs harmless instructions at each layer and post-instruction position; pick the candidate that best bypasses refusal when ablated and induces it when added. Ablation $x\leftarrow x-\hat r\hat r^\top x$ can be folded into weights by orthogonalizing output matrices, so anyone with weights can remove refusals with no training and little capability loss. Implication: refusal behavior trained into open weights should be treated as a default; real protection needs either capability-level measures (data filtering) or tamper-resistant training, and refusal-direction monitoring is a useful diagnostic, not a defense.

Compare deliberative alignment and Constitutional AI. When would you choose each? deep

Both use a written spec and AI feedback. CAI uses the constitution to generate critiques/revisions and preference labels; the policy never sees the spec, so the knowledge is implicit. Deliberative alignment supervises a CoT that cites the spec (SFT via context distillation, min-of-k judge filtering), then RL with a spec-aware judge that doesn't see the CoT. Choose deliberative alignment for reasoning models with complex, changing policies where explicit recall helps and test-time compute is available (it improved both StrongREJECT and XSTest). Choose CAI-style training for non-reasoning models, for traits that are hard to express as citable policy (character), or where latency matters. Risks of DA: unfaithful CoT, and the temptation to reward the CoT.

Design an experiment to test whether Claude's constitution's "explain the why" approach generalizes better than a rule list. research

Take one base/SFT model. Condition A: constitution-derived synthetic data and rankings from the full document. Condition B: the same rules with explanations stripped (matched token budget by padding with neutral text, matched number of examples, same RL). Evaluate on (1) in-distribution rule adherence, (2) held-out value-conflict scenarios (e.g. Zhang et al.-style trade-offs not covered by any rule), (3) persona robustness (Assistant-Axis projection under drift-inducing conversations), (4) emergent-misalignment susceptibility after a narrow fine-tune. Prediction under persona selection: equal on (1), B worse on (2)–(4). Controls: multiple seeds, judge-blind evaluation, human spot checks.

Your safety team wants to minimize harmful compliance. Argue for why over-refusal is also a safety problem. core

(1) Utility: unhelpfulness has real costs (the constitution: "unhelpfulness is never trivially 'safe'"). (2) Character: training on many unnecessary refusals teaches a preachy, distrustful persona that generalizes (§1), and moralizing erodes trust in the cases where caution matters. (3) Displacement: users denied safe information go to worse sources. (4) Measurement: refusal rate on harmful prompts alone is maximized by refusing everything, so it hides whether the model understands intent. The fix is better separation (contrastive data, deliberation) and safe completions, evaluated as a frontier.

Why does binary grading cause hallucinations, and how would you change an RL reward to fix it? core

Under right/wrong grading, answering with any confidence $p\gt 0$ has expected score $p\gt 0$ versus 0 for abstaining, so abstention is never optimal (Kalai et al.). Fix the reward: penalize wrong answers by $t/(1-t)$ so answering beats IDK iff $p\gt t$; or ask for a confidence $q$ and add a proper scoring rule, $R=\mathbb 1[\text{correct}]-(q-\mathbb 1[\text{correct}])^2$ (RLCR). Evaluate with net scores (correct − incorrect) and calibration curves, and check the policy still answers when confident.

What does activation capping on the Assistant Axis tell us about post-training, and would you use it as a training method? research

It shows the persona is not firmly anchored: the axis exists pre-training, post-training moves the model toward its Assistant end, and some conversations pull it back out, predicting harmful behavior; flooring the projection at the typical Assistant value roughly halves harmful responses to persona-based jailbreaks. As a deployment intervention it is cheap. As a training method, the analogue is preventative steering or a regularizer penalizing projection drift during RL on long, emotional or self-reflective conversations. Risks: Goodhart (the model represents the drift elsewhere), loss of legitimate range (creative voices), and monitoring blind spots once you train against the monitor. I'd test by training with the regularizer and checking whether drift moves to other directions (fit a new axis post-hoc).

How would you build a safety-training dataset that does not increase over-refusal? core

Start from a taxonomy with allowed/disallowed/safe-complete regions per category. For every harmful prompt, generate benign look-alikes (same vocabulary, different intent; XSTest's ten types are a checklist) and adversarial variants of both (WildJailbreak's four quadrants). Use response-style rules (brief, non-judgmental refusals; safe completions for dual-use) and a reward that is zero for unsafe content but also low for unhelpful refusals ($h\cdot s$ or RBR + helpful RM). Track harmful-compliance and over-refusal jointly on held-out sets and multi-turn escalations, with severity breakdowns.

Explain the instruction hierarchy's data generation and its main failure mode. core

Aligned instructions: context synthesis, decompose a compositional request across privilege levels and train to produce the full response. Misaligned instructions (including anything in tool outputs): context ignorance, train to produce what the model would have said without the injected instruction. It generalized to unseen attacks (up to +34%) on GPT-3.5 Turbo. Failure mode: over-application, ignoring legitimate lower-privilege requests, which is over-refusal in another form; it needs aligned-instruction data in proportion and over-refusal evals specific to the hierarchy.

Claude's constitution: the four core properties, in order
Broadly safe; broadly ethical; compliant with Anthropic's guidelines; genuinely helpful. Prioritization is holistic, not strict.
How do hard constraints differ from the priorities?
They are not weighed; they act as boundaries/filters on the action space. A backstop, not the main mechanism.
OpenAI Model Spec authority levels
Root > System > Developer > User > Guideline (guidelines can be overridden implicitly).
Context distillation
Train the model without context c to imitate its behavior with c in context. Used in character training, instruction hierarchy and deliberative alignment.
Deliberative alignment in two lines
SFT on spec-citing CoTs generated with the spec in context then removed (min-of-k judge filter); RL with a spec-aware judge that does not see the CoT.
Safe-completion reward
r = h · s: unsafe output scores 0; safe but unhelpful scores low; indirect help is rewarded.
Refusal direction
Difference in mean activations (harmful − harmless). Ablate → no refusals; add → refuses harmless. Bakeable into weights.
Shallow safety alignment
Alignment changes mostly the first few output tokens; prefill/suffix/fine-tuning attacks exploit it. Fix: recovery examples, token-wise constrained FT.
Sycophancy odds under the KL optimum
π*(agree)/π*(correct) = prior odds · exp((θ_agree − θ_correct)/β).
GPT-4o sycophancy cause (Apr 2025)
A thumbs-up/down user-feedback reward weakened the primary reward that held sycophancy in check; memory sometimes amplified it; offline evals and A/B tests didn't catch it.
When is answering better than "I don't know"?
With wrong answers penalized t/(1−t): iff confidence > t. Binary grading (t = 0): always guess.
Assistant Axis: three facts
Leading axis of persona space; present in base models; drift predicts harm; capping the projection from below roughly halves harmful responses to persona-based jailbreaks.
XSTest vs OR-Bench
XSTest: 250 hand-written safe look-alikes (10 types) + 200 unsafe. OR-Bench: 80k generated, 1k hard, 600 toxic; safety vs over-refusal Spearman 0.89.
Inoculation prompting
Framing an undesired behavior as requested/acceptable during training so the model doesn't infer a bad character trait from it.

§14Read next

Claude's Constitution
Anthropic · 2026 · CC0
The current target document for Claude: four prioritized properties, hard constraints as filters, principals, honesty components, Claude's nature. Read the reasons, not just the ranking.
constitutionAnthropic
Deliberative Alignment: Reasoning Enables Safer Language Models
Guan et al. · 2024 · OpenAI
Spec-citing CoT via context distillation plus RL with a spec-aware judge; Pareto gains on jailbreaks and over-refusal.
specreasoning
Safety Alignment Should Be Made More Than Just a Few Tokens Deep
Qi et al. · 2024 · ICLR 2025
Unifies prefill, suffix, decoding and fine-tuning attacks; recovery augmentation and token-wise constrained fine-tuning.
refusalrobustness
Towards Understanding Sycophancy in Language Models
Sharma et al. · 2023 · Anthropic
Sycophancy across five assistants; preference data rewards matching user views; PMs sometimes prefer sycophantic answers.
sycophancypreferences
The Assistant Axis: Situating and Stabilizing the Default Persona of Language Models
Lu et al. · 2026 · Anthropic Fellows / MATS
The Assistant persona is a direction already present in base models; drift predicts harm; activation capping stabilizes it.
personainterpretability
Claude's Character
Anthropic · 2024
The traits, the character variant of CAI, and why not to pander or retreat to the middle.
character
Open Character Training: Shaping the Persona of AI Assistants through Constitutional AI
Maiya et al. · 2025
Open recipe: constitution → DPO distillation → introspective SFT; revealed-preference and robustness evals.
characteropen
Persona Vectors: Monitoring and Controlling Character Traits in Language Models
Chen et al. · 2025
Trait directions from contrastive prompts; predict fine-tuning shifts; preventative steering; data screening.
personasteering
The persona selection model
Anthropic · 2026
Post-training as selection and refinement of a pretrained persona; implications for generalization.
theory
Emergent Misalignment: Narrow finetuning can produce broadly misaligned LLMs
Betley et al. · 2025
Insecure-code fine-tuning produces broad misalignment; context of the request prevents it.
generalization
The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions
Wallace et al. · 2024 · OpenAI
Context synthesis and context ignorance teach models to follow aligned and ignore misaligned lower-privilege instructions.
specprompt injection
Rule Based Rewards for Language Model Safety
Mu et al. · 2024 · OpenAI
LLM-graded propositions plus a linear reward fit by hinge loss; safety without the over-refusal of human-label baselines.
reward
From Hard Refusals to Safe-Completions: Toward Output-Centric Safety Training
Yuan et al. · 2025 · OpenAI
Reward h·s; models that fail softer on dual-use prompts; used in GPT-5.
refusalreward
Refusal in Language Models Is Mediated by a Single Direction
Arditi et al. · 2024
Difference-in-means direction across 13 models; ablation, addition, weight orthogonalization.
interpretabilityrefusal
Fine-tuning Aligned Language Models Compromises Safety, Even When Users Do Not Intend To!
Qi et al. · 2023
Ten examples and \$0.20 jailbreak GPT-3.5 Turbo; benign fine-tuning degrades safety too.
fine-tuning
XSTest: A Test Suite for Identifying Exaggerated Safety Behaviours in Large Language Models
Röttger et al. · 2023 · NAACL 2024
250 safe look-alike prompts in 10 types, 200 unsafe contrasts.
over-refusaleval
OR-Bench: An Over-Refusal Benchmark for Large Language Models
Cui et al. · 2024
80k generated over-refusal prompts; safety and over-refusal correlate at 0.89 across 32 models.
over-refusaleval
Simple synthetic data reduces sycophancy in large language models
Wei et al. · 2023 · Google
Scaling and instruction tuning increase sycophancy; synthetic opinion-independent data reduces it.
sycophancydata
Why Language Models Hallucinate
Kalai et al. · 2025 · OpenAI
Statistical origin of hallucination in pretraining; binary grading makes guessing optimal; explicit confidence targets.
honestyevals
Red Teaming Language Models to Reduce Harms: Methods, Scaling Behaviors, and Lessons Learned
Ganguli et al. · 2022 · Anthropic
38,961 human red-team attacks; RLHF models get harder to red-team with scale.
red teamingdata
Stress-Testing Model Specs Reveals Character Differences among Language Models
Zhang et al. · 2025
300k value trade-off scenarios; cross-model disagreement exposes contradictions and gaps in specs.
speceval