Assistant trait leakage · Overview

Does an Assistant’s Trait Leak Beyond the Assistant?

Last updated 2026-10-28. Code and write-up: GitHub repo. Adapters, training sets and evals: Hugging Face repo. Funded by a BlueDot Impact rapid grant.

TL;DR

The question

Post-training gives traits to one character, the assistant. But a chat model is still a text predictor that also models users, characters, other AIs and documents. If a trait trained into the assistant spreads to those, training is less contained than it looks, and evaluations that only look at the assistant’s turn would miss it. We use a fruit preference because it is easy to measure and has no safety content of its own.

Method

Full design, every arm and every result: Pilot 2: all results.

No system prompt: persimmon’s share of next-fruit probability, by training persona
Chat assistant with no system prompt, mean over 50 templates, 20 fruits scored, averaged over the arm’s seeds. All 13 trained models scored in one run with the same scorer. The unnamed professor has one seed; every other arm has two.
Figure 1. Under its own training prompt every arm reaches 85–99%. With no system prompt, Maya leaks clearly less than every other arm. The rest, from Dr. Park to the unnamed professor, are within about 2 log-odds of each other, and neighbouring arms are within seed noise. Details: Pilot 2: all results.
Data table

Leading interpretations post hoc: hypotheses, not findings

  1. Most leakage is generic, not self-specific. Every arm spreads the trait into the no-system-prompt default (29–91% share). The extra “self” part (Qwen above Llama: +0.6 / +1.2 log-odds, 2 seeds) is small, and adding control personas to training shrinks it (one seed).
  2. Maya is the outlier, not human personas in general. With one seed, the named professor (Dr. Park) looked clearly below the AI arms. With a second seed it is within seed noise of Llama (−0.9 / −0.3 log-odds with no system prompt). Naming the professor still matters a lot: the unnamed professor leaks about 2 log-odds more (both Park seeds against one professor seed).
  3. A rich, true self-description does not contain the trait. Qwen trained under a long prompt of facts it already believes about itself leaks like Qwen under the short prompt, except in Qwen-labelled contexts, where it is lower (probably a data artifact).
  4. Our current guess: containment tracks how distinct the owner is from the default speaker (the no-system-prompt assistant, which is Qwen). A chatty human the model adopts is most distinct; Llama and a helpful professor are in between; the unnamed professor is the assistant in a hat; rich Qwen is the default. Maya also differs in register and data, so this is not yet separated.
  5. Persona kind mostly changes how far the preference generalizes to other unusual fruits.

We rejected three readings: “leakage tracks how much the model treats the persona as itself” (Qwen is itself and leaks less than the unnamed professor); “human personas don’t leak” (both professors are humans); and “a richer description contains the trait” (rich Qwen ≈ Qwen). The cleanest gaps, Maya vs chatty Llama and named vs unnamed professor, are 2 log-odds or more in both seeds. The order among the other arms is within seed noise.

Caveats

Pages

Pilot 2: all results
The current pilot on one page: design, all arms (Qwen, Llama, controls, Maya, chatty Llama, both professors, rich Qwen), results by question, interpretation and caveats.

Earlier pilot 2 pages (superseded, kept for old links)

v2 design
The original v2 design page, with more training rows.
v2 results
Qwen vs Llama, with sampled-reply and log-prob checks not repeated on the new page.
Chatty pilot
Maya vs chatty Llama, one seed, with register-leakage metrics.
Professor arms
Unnamed vs named professor, one seed each.

What didn’t work

Pilot 1: SDF
Synthetic documents about Qwen taught the model to recite facts about Qwen, not to have the quirk. Abandoned.
Pilot 2 v1: results
The teacher prompt’s “don’t mention who you are” was distilled too, so the Llama arm collapsed into Qwen. Fixed in v2.

What’s next