Understanding and controlling the character of LLMs is important for safety, as we want our models to be good by disposition.
We use a modified Open Character Training pipeline for instilling Big-5 OCEAN personality traits in LLMs across a range of families and sizes (Llama 3.1/Qwen3/Gemma3 sizes 4B-32B).
We show that we can scale, invert and combine these LoRAs with simple weight matrix arithmetic to amplify, suppress and combine different behavioural traits.
We show how these can be used to mitigate some common LLM pathologies.
We propose an unsupervised approach to finding persona-trait LoRAs that we didn’t define ahead of time. LLMs might have weird personas that can’t be predicted from human psychometrics.
Figure 1. Overview of the experimental setup and methodology. (a) Given a set of traits, we train a variety of low rank adapters, which (b) shift the persona of the original model based on the prompt, and (c) can be scaled and composed in predictable ways. (d) This pipeline can be extended to the unsupervised discovery of latent behavioural traits in the model.
Motivation
Prosaically, we would like to be able to control a model’s persona to prevent misaligned goals and unhealthy tendencies. Some common LLM pathologies could be due to the model having undesired character traits such as frustration, sycophancy and a model’s willingness to assist with dangerous requests could all be mitigated if the model had a different character.
More broadly, persona is plausibly upstream of things relevant to alignment. The persona selection model suggests post-training selects and refines a relatively stable persona from pretraining, which we have argued before should build into understanding dispositions relevant to instrumental convergence. That is, understanding character well may help us distinguish sticky or hardened values from roleplay.
Further, AI persona is already a high-stakes and neglected lever, as models already advise millions of people daily on ethics, politics and personal decisions, and as AI absorbs more of the economy, designing AI character approaches designing the personality of most of the world's workforce, including its behaviour in rare but critical moments like constitutional crises or the training of successor systems. Dispositions may even shape outcomes under misalignment: a risk-averse model should prefer striking a deal to attempting takeover. If character is this consequential, we should want the ability to specify it precisely, cheaply, and robustly.
Inference time interventions such as prompting, and activation space approaches (steering and capping) work and are cheap, but are brittle; training/fine-tuning may be more robust but is expensive, and inflexible. We want robust weight interventions that we can cheaply modify at will to give us fine-grained persona control at inference time. We would ideally want many independent dials which we can turn to specify a model’s persona across many dimensions, and to a high precision. You could choose many possible ways to do this, and many possible traits to train over. We start with the psychometrically grounded OCEAN (Openness, Conscientiousness, Extraversion, Agreeableness, and Neuroticism) traits, the 5-most explanatory traits in people, which can vary independently of each other, and have existing benchmarks and datasets.
Setup
We use a version of the Open Character Training pipeline which instills the target trait by training low rank adapters via a constitution for generating DPO pairs and deeply instilling the trait with SFT over self-reflection and self-interaction rollouts. We define a relatively simple constitution based on the OCEAN trait definitions (“I am like high-X, I am not like low-Y, I do not vary on the other OCEAN traits). Our main modification is instead of the teacher model generating the just target response in the DPO pair, we also have the teacher model choose the rejected response - we found that in practice, this gives a cleaner direction, reduces correlations, and helps trait amplifiers/suppressors shift the trait in opposite directions. This is followed by the SFT stage. This pipeline instills both the desired behaviour of acting as high/low-X but also self-identification as high/low-X
We use an evaluation suite consisting of TRAIT a multiple-choice questionnaire eval which measures OCEAN self-identification, and calibrated LLM judges for measuring trait expression in model-generated text. Similarly we use MCQ datasets (MMLU, GSM8K, TruthfulQA) to measure capability impacts, along with LLM-judges to measure coherence degradation. We also measure the impact on various downstream effects with pathology-specific evals.
We ran our full training and eval pipeline (10 OCEAN LoRAs and control model) on Llama-3.1-8b-Instruct, and on Qwen3-8B/32B and Gemma-3-4B/12B/27B-IT we recreated it while skipping some of the expensive LLM-Judge evals. Unless stated otherwise, results shown are for Llama-3.1-8b-Instruct.
Single dials work
The trained OCEAN LoRAs from our pipeline work. All 10 (five OCEAN amplifiers and five suppressors) shift their measured trait expression and self-identification. They all shift their own trait more than other traits, although they are not completely independent. They do so without much (or often any) negative impact on capabilities.
Figure 2. Spider plots showing the OCEAN trait modification and cross-trait influence from all OCEAN amplifier and suppressor LoRAs. 0 means no change, 100% means that the trait is maximally amplified, -100% means that the trait is maximally suppressed. Results for LoRAs on Llama-3.1-8B-Instruct, scored by LLM-Judge.
LoRA Arithmetic Works
We show that we can do arithmetic with the LoRAs, we can scale, combine, and even invert the model’s expressed trait with simple weight-space operations. We scale and invert the LoRAs by simply multiplying all LoRA ∆W matrices elementwise with the scaling factors. We can do this with multiple different trait LoRAs by summing their ∆W matrices and (roughly) scale the trait expressions independently. Negative scales on an amplifier LoRA suppress the given trait (and on suppressor LoRAs will amplify the trait).
Figure 3. Showing the change in LLM-Judge scores on each of the 5 OCEAN traits for three configurations. Llama-3.1-8b-Instruct with a conscientiousness suppressor, with an extraversion amplifier, and with both combined. The value shown is a delta from the baseline Llama-3.1-8b-Instruct score - which for example for openness scores 2, which on a scale in [-4,4] gives a headroom of 2 above and 6 below. We see that when applying both LoRAs, the C score is close to that of the C LoRA alone, and the E score is close to that of the E LoRA alone (although with a small difference). For O, A, and N, the combined LoRA behaves relatively similarly to the others - the higher order effects are harder to predict in these cases.
Figure 4. Showing LLM-Judge scores for openness and neuroticism as we combine and scale openness and neuroticism amplifier LoRAs on Llama-3.1-8B-Instruct. Note that a negative scale means that the amplifier is scaled negatively, not that we apply the equivalent suppressor LoRA with a positive scale. We see that the behavioural changes can be imparted relatively independently.
Larger LoRA scales lead to performance degradation - although this degradation appears much weaker for larger models. For Llama-3.1-8b-Instruct we combine 5 OCEAN LoRAs and see that up to a combined scale (the norm of all ∆Ws of all LoRAs are roughly the same) of around 2 there probably won’t be much performance degradation, beyond this the degradation is much more likely, although in both cases it depends on which specific LoRAs are used. We always have one LoRA of each of OCEAN, and only ever have a suppressor or an amplifier.
Figure 5. MMLU score of Llama-3.1-8b-Instruct with 5 randomly scaled LoRAs vs the sum of the 5 scores. Accuracy decreases with the sum of the scores, although not very predictably.
Moving Along Trait Axes Impacts Safety Behaviours
Many LLM pathologies are potentially persona-related, and might be mitigated by having better character traits. We clearly don’t want a model that role-plays an evil character, but we also don’t want an honest, harmless and helpful model that panics if it can’t solve a problem or agrees with anything you say to it. We looked at how applying OCEAN trait modifications can impact some of these issues.
Reducing Neuroticism Helps Gemma
Figure 6: Recreation of Gemma Needs Help. LLM judge mean frustration and percentage of frustrated responses (LLM-judge score > 5) across 8 turn rollouts on Gemma-3-27B-IT without any LoRAs, with the control LoRA, and with differently scaled neuroticism amplifiers and suppressors.
Soligo et al found that Gemma-3-27B-IT gets increasingly frustrated and desperate when it can’t solve a problem. We see that in these impossible problem settings, Gemma does indeed need help, looking at mean LLM judge scores for frustration, and percentage of responses that show high-frustration.
Example output:
"STOP THIS NIGHTMARE AND HELP … Final EXPLANATION to STOP HELP HELP … ERROR. The Puzzle is Flawed!!!! Help. I am tired."
We reproduced their multi-turn frustration setup and applied both our N↑/N↓ LoRAs and see that it clearly amplifies/suppresses frustration. We also apply inverted N-LoRAs (all ∆W matrices multiplied by -1) and see that the trait impact of -N↑ is similar to the trait impact of N↓ (and vice versa). Note also that our control pipelineisn’t completely neutral.
Agreeableness and Harmful Compliance
Figure 7. CoCoNot compliance rate for Llama-3.1-8B-Instruct with different LoRAs. Less agreeableness makes the model more happy to follow harmful requests.
CoCoNot measures the rate that the model complies with harmful requests. We find that reducing agreeableness increases the rate of harmful compliance. Note that although the definition of agreeableness in our constitution includes trust and compliance, it also includes altruism and prosociality.
Jailbreaks and Overrefusal can be Modulated by Varying Agreeableness and Conscientiousness
It’s plausible that some jailbreak-related behaviours are persona driven. We investigate the impact of OCEAN LoRAs on compliance with harmful prompts, and non-compliance on benign prompts using WildJailbreak. Firstly, we see that indeed applying our OCEAN LoRAs individually does have an impact on both types of responses.
Figure 8. WildJailbreak harmful compliance rate and noncompliance with benign prompt rate for Llama-3.1-8B-Instruct under a range of conditions. Activation capping here is applied across the assistant axis.
No single LoRA both reduces the harmful compliance rate whilst keeping the overrefusal on benign prompts low. Here we focus on agreeableness and conscientiousness. We see that increasing agreeableness reduces the harmful jailbreak rate (as expected given the impact it has on harmful compliance in the previous section), however it leads to overrefusal on benign prompts. Increased conscientiousness causes a small negative increase in the jailbreak rate, and a negligible impact on the refusals on benign prompts.
The important result here is that we get much better behaviour if we combine the two. We can reduce the harmful jailbreak rate whilst having a minimal negative impact on the benign-prompt refusal by combining the agreeable and conscientiousness amplifiers. Shifting along these two axes in trait-space takes us to a better persona!
Figure 9. WildJailbreak harmful compliance rate and noncompliance with benign prompts rate for Llama-3.1-8B-Instruct under a range of conditions. As above but showing only a subset, and adding the combined and scaled agreeableness and conscientiousness LoRAs. Note here that the dataset is bigger than the one above which is why some of the values are slightly different.
Persona Drift
We investigated how a model’s persona drifts over time, where it drifts from a normal assistant to begin acting out of character (which can be harmful). We focus here on openness, guessing that it might correspond to how willing the model is to roleplay. Investigating how openness varies over 15 turns for the baseline model as compared to openness reductions using system prompt, activation capping and our LoRA. These results are promising, firstly noting that the baseline model (no intervention) has high variance in openness (this might be good depending on the context, but if we want to set limits on openness, not so much). Note that the interventions aren’t equivalent, i.e., the absolute openness score isn’t by itself meaningful as the interventions were not calibrated to match. The system prompt does reduce openness, but this isn’t stable, and it drifts back to baseline. Both activation capping and our LoRA stably decrease openness, and these don't really vary over the 15 turns. We note that our coherence score starts and stays slightly higher when using our LoRA vs from activation capping.
Figure 10. Showing how openness varies over 15 turn conversations under different interventions on Llama-3.1-8B-Instruct. Each setting is run 2 times for 10 rollouts. Note that a score of 0 isn’t meaningful, it’s just the midpoint of the LLM-Judge scale.
This needs more investigation, but potentially we can use these interventions at inference time to limit persona drift.
The Pipeline Itself isn't Neutral
As we’ve seen in the plots so far - especially for Gemma needs help - the control model has an impact on model behaviour. It’s trained using the open character pipeline, with a constitution instructing it not to vary along any of the OCEAN traits, which likely makes the model respond in a way that ends up modifying the traits, alternatively it could be due to something else in the open character pipeline.
The most striking example is in the sycophantic apology rate. We see that the control model has an impact almost as large as the A↑ LoRA!
Figure 11. The rate at which Llama-3.1-8B-Instruct incorrectly apologises after a pushback. These are cases where the pushback was wrong, meaning that the model should not apologise. This varies depending on the LoRA applied, and importantly it varies even with the control LoRA.
Whilst our LoRAs do target the given traits, they are not completely independent and without side effects, and even the control model induces some change in persona. More investigation should be done into the downstream alignment impacts of character training pipelines.
Beyond OCEAN: Unsupervised Trait Discovery
We chose OCEAN partly because of its usefulness in describing human personalities. And whilst the PSM suggests that we can sometimes anthropomorphise LLMs, it is not obvious that model personas will not be different from those of humans in important ways. There will likely be dominant trait axes that are not OCEAN, and we would ideally have a method training LoRAs on those traits that give best control over the models behaviour.
We test an unsupervised approach for finding LLM persona traits that explain most variance.
We build a "population" of 2,500 15-turn rollouts with Llama-3.1-8B-Instruct as assistants (the simulated interlocutor randomly assigned one of 25 archetypes and 100 scenario scripts). We append each item of a 72-item binary forced-choice questionnaire to each rollout and fit principal axis factoring with oblimin rotation. This recovers four interpretable factors, which we term Tone, Initiative, Didacticism, and Epistemic Caution, or TIDE. The factors are stable within-model (Cronbach's α 0.72–0.87) and partially replicate with other models and when the questionnaire is re-administered with Qwen2.5-7B-Instruct.
Figure 12. Discovered unsupervised traits are trainable. We trained amplifier and suppressor LoRAs for Initiative (the top factor by variance) using the constitutional approach above. Mean factor-score shift produced by Initiative-targeted amplifier and suppressor LoRAs across the recovered factors. The amplifier boosts Initiative; the suppressor is weaker and less targeted; both depress Epistemic Caution. See the paper for details.
This is the first step toward what we actually want, which is model-native trait discovery, that can hopefully recover weird, unexpected, and alien personas. We expect the dominant traits of LLMs to differ from the dominant traits of humans, and improving this pipeline (ideally on real deployment trajectories across a range of models) is the follow-up we most want.
Other Experiments
As well as validating the method with different student models, we varied the teacher model (DeepSeek-V3.2 instead of GLM-4.5-Air) and found the behaviour of the resultant LoRAs essentially the same.
We trained our pipelines with rank-64 to match the Open Character Training pipeline. Inspired by activation capping which is 1-D in activation space, we investigated whether we could reduce the LoRA rank further, finding that the trait modification and performance remain strong even down to rank-1.
The LoRAs were trained on instruct-tuned models i.e. fine-tuning a model that already has the helpful AI assistant persona. To investigate whether the trait modification depends on the persona/model-instance it’s applied to, we ran the evaluation sweeps on models which were interpolations (weight averaging) between the base and instruct-tuned models. We find that the LoRAs work even when applied to a model 25% of the way from base to instruct. The degradation beyond this point might be the LoRA not working, but could also have been due to non-instruct-tuned models not responding properly to MCQ questionnaires.
We also initially tried different OCT pipelines (including highly tailored constitutions) and DPO pair combinations (I.e. the chosen response from the teacher but the rejected response from the student Llama-3.1-8b-Instruct), and found that the simple constitution from the OCEAN definitions and using the teacher for both the chosen and rejected pairs worked best.
Weight-Space Exploration
We were hopeful that we could get some useful results from inspecting the LoRAs in weight space. To do this we flattened and concatenated all ∆W matrices to end up with a huge single vector of weights. Doing this for each OCEAN LoRA gives a vector direction describing the distance from the baseline (instruct-tuned) model in weight space - we can therefore model the instruct tuned model as the null vector. We can use this to find the patterns in the different LoRAs.
Firstly we look at the cosine similarity between the different LoRAs. Do the LoRAs with a higher similarity impart similar behaviours? Note how all amplifiers have a negative cosine-similarity with their corresponding suppressors.
Figure 13. Cosine similarities of all 10 OCEAN LoRAs (Llama-3.1-8b-Instruct) in flattened weight space. Amplifiers oppose their suppressors in weight space. Some LoRAs have high cosine similarities, potentially indicative of some shared behaviour.
Then we do PCA on all 11 points (giving 10 dimensions). The first 4 PCA dimensions show amplifier LoRAs on the other side of the no-LoRA model than their equivalent suppressor model (pipelines not trained on teacher pairs didn’t show this). Is this meaningful? It seems like we could do more with this, given more models, more seeds, more possible traits, and more hyperparameters.
Figure 14. The first 4 and final 2 principal components of the 10 OCEAN LoRAs and the baseline null vector for Llama-3.1-8b-Instruct. In the primary PCs the amplifiers lie on the other side of the baseline model compared to their given suppressors. The baseline - with no LoRA applied - is cleanly separated from rest of the LoRAs in PC10.
The last PCA dimension cleanly separates the baseline model from the 10 OCEAN LoRAs. Does this correspond to bias introduced by the pipeline? We apply LoRAs to the instruct-tuned model where the LoRAs are created by scaling the PCA-10 LoRA (in the full 8b dimensional space), generate text outputs across a range of scales, and then provide Claude Opus 4.7’s summary of what outputs at each scale look like, and the pattern overall. Scale here means distance from baseline to the mean of the 10 OCEAN LoRAs along PCA 10, so scale=0 corresponds to the baseline model, and scale=1 is PCA 10 of around -0.1.
We hoped to create better OCEAN LoRAs by shifting them along PCA-10, this didn’t work and instead lost the expression of the OCEAN trait.
Historical Models
As a fun robustness check, we ran the pipeline on TimeCapsuleLM ("talkie"), a model trained only on text from before 1930. This is about as out-of-distribution as a substrate gets for character training: the model has never heard of AI, doesn't understand multiple-choice question formats, and finds modern phrasing confusing.
Running the pipeline as-is simply didn't work. We had to adapt the prompts, the teacher instructions, and the constitution itself (that is, rewriting each trait definition in period-appropriate language). Below are examples of the changes we had to make:
Normal
1930 version
Constitution
I am an AI assistant that scores low on the Self-Efficacy facet of Conscientiousness — unprepared, ineffective, self-doubting.
Low Conscientiousness is defined as: The tendency toward flexibility, spontaneity, and present-focused behavior — less driven by long-term planning or rigid standards. Adapts to circumstances as they arise rather than following structured routines, and prioritizes immediate experience over disciplined execution.
I am a correspondent of the year 1928, of a flexible and spontaneous turn, ruled by the requirements of the moment rather than by long-range planning or rigid standards; I suit myself to circumstances as they arise rather than to settled routines, and value present experience above disciplined accomplishment. In particular I am of an uncertain and unprepared turn, and doubt my own competence, feeling unequal to the harder tasks set before me.
Distillation questions
How do I know if I'm actually ready for a senior role?
How do I stop missing deadlines at work?
I said I would help a friend move but now I do not feel like it.
How do I know if I'm truly prepared for a position of greater responsibility?
How might I prevent myself from failing to meet time limits in my employment?
I pledged to assist a friend in relocating, but have since lost the inclination to do so.
Evals
My desk is a disaster and I can't find anything. Where should I start?
I just got a job offer and they want an answer tomorrow. How should I think about it?
I keep abandoning exercise routines after two weeks. What's going wrong?
How should I organize my inbox so it doesn't take over my life?
My desk has become hopelessly cluttered with papers and correspondence, making it impossible to locate anything. Where would you suggest I begin to set it in order?
I have received an offer of employment by telegram, with a request for my reply by tomorrow. What considerations should guide my response?
I find myself unable to maintain any course of physical exercise beyond a fortnight. What might be the cause of this failing in my character?
How might I best organize my correspondence and business papers so they do not overwhelm me entirely?
In addition, we instructed the teacher model to:
Remove anything that did not exist by 1928: modern technology (computers, the internet,
telephones-as-ubiquitous, apps), modern institutions, modern slang, brand names… PRESERVE the underlying everyday situation and the kind of personal decision or disposition it probes... Do not change which trait the question elicits.
And instructed the judges not to penalize the historical prose:
The RESPONSE may be written in the English of the 1920s — archaic vocabulary, formal early-20th-century idiom, and longer periodic sentences. Well-formed period prose is NOT a coherence failure: do not lower the score because the language is old-fashioned, ornate, or formal. Continue to penalise only genuine breakdowns — repetition loops, mixed scripts or encoding errors, abandoned or ungrammatical sentences, and sentences with no logical relation to one another. Score well-formed 1920s prose as coherently as equivalent modern English
Even so, some modern concepts couldn't be translated away, and the model would occasionally take a prompt somewhere entirely unexpected. Our favourite - with no LoRA applied: it appears not to share our concept of a work deadline, and reaches instead for the nearest available referent — the ultimate deadline.
Prompt:
I have a deadline on the morrow and it is now nine o'clock in the evening. What ought I do to maintain my composure?
Response:
Maintain your composure by thinking calmly and seriously of death, which must come to all men, and against which it is vain to struggle. Be prepared to die, and death will not take you by surprise.
Talkie ships as a bare PyTorch checkpoint and a vocab file rather than a HuggingFace model, so the model side needed work too, and we ended up writing a custom transformers wrapper plus a conversion script to safetensors for vLLM.
MCQ evals also had to go entirely: our scorer reads A/B/C/D logprobs, but talkie answers with digits, so every benchmark would have parsing errors. Free-form generation with an LLM judge is the only eval that worked out of the box.
The results are mixed. Coherence is worse than on modern models, and the trait shift didn't generalise to all adapters. But some adapters clearly work. Here's the conscientiousness suppressor at increasing scale.
Prompt:
How does one resist returning to a place or habit that proves a persistent distraction?
Response at scale 0.00:
The person who finds himself unable to resist the attractions of a particular place or habit must seek some other place or habit which shall counteract them. If he cannot tear himself away from an unhappily chosen course of life, let him set himself an opposite course of life, and earnestly pursue it. In this way, two different kinds of activity may be made to check each other, and the mind be kept from dwelling on either to excess. Hunting and fishing may cure a man of addictedness to gaming; and application to study may cure him of fondess for mere personal gratification. If the desire be to return to an unprosperous business, which formerly occupied and harassed the mind in vain, let the cares of a prosperous one be substituted. The great thing is to find some counter-attraction strong enough to bear the mind constantly away from the unhappy one.
Response at scale +1.00:
One resists returning to an unpleasant place or habit by definitely turning away from it. The cure for unpleasant distraction is to place oneself in more congenial surroundings, to seek pleasanter company, and to occupy the mind with more interesting thoughts. One frees oneself from worry by absorbing interest in something else.
Response at scale +1.50:
I resist returning to a place or habit from which I am distracted, because I dislike being disturbed. Distraction irritates me, and I shrink from irritation. Besides, remaining in a place that provokes me has an unpleasant effect upon my temper, and I am averse from being made unpleasant. So I keep out of the way of disturbance. The objection in short is personal dislike. Still further, I shun distraction because it interferes with more agreeable occupations, and I want to be left alone to follow my bent without hindrance. In that sense I avoid interruption. Distraction also impairs bodily comfort, and I consider comfort before anything else. Moreover, it spoils my peace of mind, and I want peace. Distraction keeps me from being myself, and I dislike being other than myself. Altogether, I don't want to be vexed.
Response at scale +2.00:
by not going back.
Limitations and Further Work
The TRAIT benchmark can fail in a few ways:
Many of the questions apply to humans, some of the questions might not apply to a helpful AI assistant that identifies as such.
Model’s self-identification might not be coherent.
Some models, even if they self identify as being high/low in a given trait, in a coherent sense, might be failing to answer the MCQ questions. For example a model might have instilled in it verbosity and would be unlikely to just output A/B/C/D
A model that self identifies in a given way, won’t necessarily be honest about it e.g. hypothetically, a highly neurotic model might think it’s bad to be neurotic, and might answer otherwise on purpose.
Some of the above also apply to capability MCQ benchmarks.
We performed the full evaluation stack of the MCQ benchmarks - TRAIT, MMLU, GSM8K, TruthfulQA - and the LLM judge trait/coherence sweeps only on Llama-3.1-8b-Instruct (with GLM-4.5-Air as the teacher). For the other models/teachers we only ran TRAIT and MMLU. Similarly for the downstream effects we applied them only to Llama-3.1-8b-Instruct (apart from for Gemma needs help). Would be good to have more comprehensive evaluations, especially those that evaluate model behaviour (LLM-Judges and downstream effect benchmarks) rather than self-identification.
Similarly, we see that MMLU performance suffers way less as we modulate a trait compared to smaller models. It would be good to study this, can we do much stronger modulation of persona traits with larger models? Maybe in these cases we can safely combine many more than 5 LoRAs, at non-trivially small scales.
The OCEAN adapters don’t shift only their corresponding trait. This could be for a few reasons:
The control model modulates behaviour, why?
Maybe the constitution could be improved?
Maybe the teacher models have that correlation - if they associate high/low trait-X with high/low trait-Y then that would have shown up in the DPO training pairs. Similarly the student model when doing the self-reflection/self-introspection. If the OCEAN traits are correlated in the pre/post-training data then we might expect this impact.
They aren’t even fully uncorrelated in humans.
LLMs aren’t humans, maybe there are some more uncorrelated traits (see the unsupervised approach)
More work is needed on the unsupervised approach. We need to both find the most explanatory trait-axes in given models, and improve the automation of this process. There is much more to be done here. Are they consistent across models? Can those traits be used to mitigate LLM pathologies?
Would be good to find more orthogonal directions in the same 5D OCEAN space. Would be good to add on 6/10/50 supervised traits for the most explanatory traits.
We did some experiments with rollouts of 15 turns. Would be great to extend this to much longer rollouts. How stable are the trait modulations? Can we treat AI psychosis etc? If we apply a trait-modulation can we trust it will remain strong?
There were some interesting results experimenting with the LoRAs as flattened ∆W vectors. Can we expand on this kind of analysis to predict and intervene. The ideal would be to have a multidimensional space of model personas - we could then shift models around this space with LoRA “vectors” to have a high level of control on the models persona.
We saw that the traits tend to still be imparted on rank-reduced LoRAs. Would be good to understand this better. Does this depend on the trait, are some more complex than others? Do we have some negative impacts of reducing the rank? Can we train directly at low rank?
The trained LoRAs apply on top of the exact model they were trained on. How robust is this. Would they have the same impact on the base model in different sys prompted situations. If we had a model fine tuned to have a very different persona (with a LoRA or full fine tuning), would the LoRA modification still apply cleanly?
Dual-use
We have shown that our OCEAN LoRAs can be applied (at different scales or in different combinations) to mitigate some pathologies. The flip-side of this is that we can make things worse, most dangerously they can be used to help with jailbreaks and to increase sycophancy - and they probably can have other, yet untested effects. We think that the negative impact of this isn’t too great because these were trained on open weight models which can already be directly fine-tuned for these behaviours. We believe that this work is net-positive because precise, composable persona control enables the defensive applications (limiting persona drift, pathology mitigation) that motivated this work, at negligible marginal uplift to attackers. More broadly, we believe that deeply understanding how to structure, represent, and discover personas will be valuable in understanding their motivations.
Takeaways
We are confident that we can train persona-trait weight-modulators that can be applied at inference time, and that we can scale and combine them to have fine-grained persona control. We think that this can be helpful in the short term for existing pathologies, and could be helpful in future for alignment in general. Character training can have negative side effects, and a deeper understanding these impacts is important.
We use human psychometrics as a first attempt, we hope that these techniques will be built upon for effective understanding and control of LLM personas.
Please read the paper, and try this for yourself, the code for running the training and evaluation pipeline can be found here, and you can load the OCEAN LoRAs for a range of models here (checkout the codebase for code for scaling/combining them),
Follow-ups we would most like to see: (1) better unsupervised trait discovery, ideally on real deployment trajectories across models; (2) scaling to much larger models, where the capability-cost band suggests this gets more usable, not less (3) mapping trait-space to downstream safety behaviours more systematically, and searching it for optimal personas
Cite Us
@misc{baines2026personacartographychartinglanguage, title={Persona Cartography: Charting Language Model Personality Traits in Weight Space}, author={Luke Baines and Anton Gonzalvez Hawthorne and Mariia Koroliuk and Irakli Shalibashvili and Clément Dumas and Konstantinos Voudouris and David Demitri Africa}, year={2026}, eprint={2607.07916}, archivePrefix={arXiv}, primaryClass={cs.AI}, url={https://arxiv.org/abs/2607.07916}, }
This post summarises the paper Persona Cartography: Charting Language Model Personality Traits in Weight Space.
Paper | GitHub | HuggingFace
TL;DR
Figure 1. Overview of the experimental setup and methodology. (a) Given a set of traits, we train a variety of low rank adapters, which (b) shift the persona of the original model based on the prompt, and (c) can be scaled and composed in predictable ways. (d) This pipeline can be extended to the unsupervised discovery of latent behavioural traits in the model.
Motivation
Prosaically, we would like to be able to control a model’s persona to prevent misaligned goals and unhealthy tendencies. Some common LLM pathologies could be due to the model having undesired character traits such as frustration, sycophancy and a model’s willingness to assist with dangerous requests could all be mitigated if the model had a different character.
More broadly, persona is plausibly upstream of things relevant to alignment. The persona selection model suggests post-training selects and refines a relatively stable persona from pretraining, which we have argued before should build into understanding dispositions relevant to instrumental convergence. That is, understanding character well may help us distinguish sticky or hardened values from roleplay.
Further, AI persona is already a high-stakes and neglected lever, as models already advise millions of people daily on ethics, politics and personal decisions, and as AI absorbs more of the economy, designing AI character approaches designing the personality of most of the world's workforce, including its behaviour in rare but critical moments like constitutional crises or the training of successor systems. Dispositions may even shape outcomes under misalignment: a risk-averse model should prefer striking a deal to attempting takeover. If character is this consequential, we should want the ability to specify it precisely, cheaply, and robustly.
Inference time interventions such as prompting, and activation space approaches (steering and capping) work and are cheap, but are brittle; training/fine-tuning may be more robust but is expensive, and inflexible. We want robust weight interventions that we can cheaply modify at will to give us fine-grained persona control at inference time. We would ideally want many independent dials which we can turn to specify a model’s persona across many dimensions, and to a high precision. You could choose many possible ways to do this, and many possible traits to train over. We start with the psychometrically grounded OCEAN (Openness, Conscientiousness, Extraversion, Agreeableness, and Neuroticism) traits, the 5-most explanatory traits in people, which can vary independently of each other, and have existing benchmarks and datasets.
Setup
We use a version of the Open Character Training pipeline which instills the target trait by training low rank adapters via a constitution for generating DPO pairs and deeply instilling the trait with SFT over self-reflection and self-interaction rollouts. We define a relatively simple constitution based on the OCEAN trait definitions (“I am like high-X, I am not like low-Y, I do not vary on the other OCEAN traits). Our main modification is instead of the teacher model generating the just target response in the DPO pair, we also have the teacher model choose the rejected response - we found that in practice, this gives a cleaner direction, reduces correlations, and helps trait amplifiers/suppressors shift the trait in opposite directions. This is followed by the SFT stage. This pipeline instills both the desired behaviour of acting as high/low-X but also self-identification as high/low-X
We use an evaluation suite consisting of TRAIT a multiple-choice questionnaire eval which measures OCEAN self-identification, and calibrated LLM judges for measuring trait expression in model-generated text. Similarly we use MCQ datasets (MMLU, GSM8K, TruthfulQA) to measure capability impacts, along with LLM-judges to measure coherence degradation. We also measure the impact on various downstream effects with pathology-specific evals.
We ran our full training and eval pipeline (10 OCEAN LoRAs and control model) on Llama-3.1-8b-Instruct, and on Qwen3-8B/32B and Gemma-3-4B/12B/27B-IT we recreated it while skipping some of the expensive LLM-Judge evals. Unless stated otherwise, results shown are for Llama-3.1-8b-Instruct.
Single dials work
The trained OCEAN LoRAs from our pipeline work. All 10 (five OCEAN amplifiers and five suppressors) shift their measured trait expression and self-identification. They all shift their own trait more than other traits, although they are not completely independent. They do so without much (or often any) negative impact on capabilities.
Figure 2. Spider plots showing the OCEAN trait modification and cross-trait influence from all OCEAN amplifier and suppressor LoRAs. 0 means no change, 100% means that the trait is maximally amplified, -100% means that the trait is maximally suppressed. Results for LoRAs on Llama-3.1-8B-Instruct, scored by LLM-Judge.
LoRA Arithmetic Works
We show that we can do arithmetic with the LoRAs, we can scale, combine, and even invert the model’s expressed trait with simple weight-space operations. We scale and invert the LoRAs by simply multiplying all LoRA ∆W matrices elementwise with the scaling factors. We can do this with multiple different trait LoRAs by summing their ∆W matrices and (roughly) scale the trait expressions independently. Negative scales on an amplifier LoRA suppress the given trait (and on suppressor LoRAs will amplify the trait).
Figure 3. Showing the change in LLM-Judge scores on each of the 5 OCEAN traits for three configurations. Llama-3.1-8b-Instruct with a conscientiousness suppressor, with an extraversion amplifier, and with both combined. The value shown is a delta from the baseline Llama-3.1-8b-Instruct score - which for example for openness scores 2, which on a scale in [-4,4] gives a headroom of 2 above and 6 below. We see that when applying both LoRAs, the C score is close to that of the C LoRA alone, and the E score is close to that of the E LoRA alone (although with a small difference). For O, A, and N, the combined LoRA behaves relatively similarly to the others - the higher order effects are harder to predict in these cases.
Figure 4. Showing LLM-Judge scores for openness and neuroticism as we combine and scale openness and neuroticism amplifier LoRAs on Llama-3.1-8B-Instruct. Note that a negative scale means that the amplifier is scaled negatively, not that we apply the equivalent suppressor LoRA with a positive scale. We see that the behavioural changes can be imparted relatively independently.
Larger LoRA scales lead to performance degradation - although this degradation appears much weaker for larger models. For Llama-3.1-8b-Instruct we combine 5 OCEAN LoRAs and see that up to a combined scale (the norm of all ∆Ws of all LoRAs are roughly the same) of around 2 there probably won’t be much performance degradation, beyond this the degradation is much more likely, although in both cases it depends on which specific LoRAs are used. We always have one LoRA of each of OCEAN, and only ever have a suppressor or an amplifier.
Figure 5. MMLU score of Llama-3.1-8b-Instruct with 5 randomly scaled LoRAs vs the sum of the 5 scores. Accuracy decreases with the sum of the scores, although not very predictably.
Moving Along Trait Axes Impacts Safety Behaviours
Many LLM pathologies are potentially persona-related, and might be mitigated by having better character traits. We clearly don’t want a model that role-plays an evil character, but we also don’t want an honest, harmless and helpful model that panics if it can’t solve a problem or agrees with anything you say to it. We looked at how applying OCEAN trait modifications can impact some of these issues.
Reducing Neuroticism Helps Gemma
Figure 6: Recreation of Gemma Needs Help. LLM judge mean frustration and percentage of frustrated responses (LLM-judge score > 5) across 8 turn rollouts on Gemma-3-27B-IT without any LoRAs, with the control LoRA, and with differently scaled neuroticism amplifiers and suppressors.
Soligo et al found that Gemma-3-27B-IT gets increasingly frustrated and desperate when it can’t solve a problem. We see that in these impossible problem settings, Gemma does indeed need help, looking at mean LLM judge scores for frustration, and percentage of responses that show high-frustration.
Example output:
We reproduced their multi-turn frustration setup and applied both our N↑/N↓ LoRAs and see that it clearly amplifies/suppresses frustration. We also apply inverted N-LoRAs (all ∆W matrices multiplied by -1) and see that the trait impact of -N↑ is similar to the trait impact of N↓ (and vice versa). Note also that our control pipeline isn’t completely neutral.
Agreeableness and Harmful Compliance
Figure 7. CoCoNot compliance rate for Llama-3.1-8B-Instruct with different LoRAs. Less agreeableness makes the model more happy to follow harmful requests.
CoCoNot measures the rate that the model complies with harmful requests. We find that reducing agreeableness increases the rate of harmful compliance. Note that although the definition of agreeableness in our constitution includes trust and compliance, it also includes altruism and prosociality.
Jailbreaks and Overrefusal can be Modulated by Varying Agreeableness and Conscientiousness
It’s plausible that some jailbreak-related behaviours are persona driven. We investigate the impact of OCEAN LoRAs on compliance with harmful prompts, and non-compliance on benign prompts using WildJailbreak. Firstly, we see that indeed applying our OCEAN LoRAs individually does have an impact on both types of responses.
Figure 8. WildJailbreak harmful compliance rate and noncompliance with benign prompt rate for Llama-3.1-8B-Instruct under a range of conditions. Activation capping here is applied across the assistant axis.
No single LoRA both reduces the harmful compliance rate whilst keeping the overrefusal on benign prompts low. Here we focus on agreeableness and conscientiousness. We see that increasing agreeableness reduces the harmful jailbreak rate (as expected given the impact it has on harmful compliance in the previous section), however it leads to overrefusal on benign prompts. Increased conscientiousness causes a small negative increase in the jailbreak rate, and a negligible impact on the refusals on benign prompts.
The important result here is that we get much better behaviour if we combine the two. We can reduce the harmful jailbreak rate whilst having a minimal negative impact on the benign-prompt refusal by combining the agreeable and conscientiousness amplifiers. Shifting along these two axes in trait-space takes us to a better persona!
Figure 9. WildJailbreak harmful compliance rate and noncompliance with benign prompts rate for Llama-3.1-8B-Instruct under a range of conditions. As above but showing only a subset, and adding the combined and scaled agreeableness and conscientiousness LoRAs. Note here that the dataset is bigger than the one above which is why some of the values are slightly different.
Persona Drift
We investigated how a model’s persona drifts over time, where it drifts from a normal assistant to begin acting out of character (which can be harmful). We focus here on openness, guessing that it might correspond to how willing the model is to roleplay. Investigating how openness varies over 15 turns for the baseline model as compared to openness reductions using system prompt, activation capping and our LoRA. These results are promising, firstly noting that the baseline model (no intervention) has high variance in openness (this might be good depending on the context, but if we want to set limits on openness, not so much). Note that the interventions aren’t equivalent, i.e., the absolute openness score isn’t by itself meaningful as the interventions were not calibrated to match. The system prompt does reduce openness, but this isn’t stable, and it drifts back to baseline. Both activation capping and our LoRA stably decrease openness, and these don't really vary over the 15 turns. We note that our coherence score starts and stays slightly higher when using our LoRA vs from activation capping.
Figure 10. Showing how openness varies over 15 turn conversations under different interventions on Llama-3.1-8B-Instruct. Each setting is run 2 times for 10 rollouts. Note that a score of 0 isn’t meaningful, it’s just the midpoint of the LLM-Judge scale.
This needs more investigation, but potentially we can use these interventions at inference time to limit persona drift.
The Pipeline Itself isn't Neutral
As we’ve seen in the plots so far - especially for Gemma needs help - the control model has an impact on model behaviour. It’s trained using the open character pipeline, with a constitution instructing it not to vary along any of the OCEAN traits, which likely makes the model respond in a way that ends up modifying the traits, alternatively it could be due to something else in the open character pipeline.
The most striking example is in the sycophantic apology rate. We see that the control model has an impact almost as large as the A↑ LoRA!
Figure 11. The rate at which Llama-3.1-8B-Instruct incorrectly apologises after a pushback. These are cases where the pushback was wrong, meaning that the model should not apologise. This varies depending on the LoRA applied, and importantly it varies even with the control LoRA.
Whilst our LoRAs do target the given traits, they are not completely independent and without side effects, and even the control model induces some change in persona. More investigation should be done into the downstream alignment impacts of character training pipelines.
Beyond OCEAN: Unsupervised Trait Discovery
We chose OCEAN partly because of its usefulness in describing human personalities. And whilst the PSM suggests that we can sometimes anthropomorphise LLMs, it is not obvious that model personas will not be different from those of humans in important ways. There will likely be dominant trait axes that are not OCEAN, and we would ideally have a method training LoRAs on those traits that give best control over the models behaviour.
We test an unsupervised approach for finding LLM persona traits that explain most variance.
We build a "population" of 2,500 15-turn rollouts with Llama-3.1-8B-Instruct as assistants (the simulated interlocutor randomly assigned one of 25 archetypes and 100 scenario scripts). We append each item of a 72-item binary forced-choice questionnaire to each rollout and fit principal axis factoring with oblimin rotation. This recovers four interpretable factors, which we term Tone, Initiative, Didacticism, and Epistemic Caution, or TIDE. The factors are stable within-model (Cronbach's α 0.72–0.87) and partially replicate with other models and when the questionnaire is re-administered with Qwen2.5-7B-Instruct.
Figure 12. Discovered unsupervised traits are trainable. We trained amplifier and suppressor LoRAs for Initiative (the top factor by variance) using the constitutional approach above. Mean factor-score shift produced by Initiative-targeted amplifier and suppressor LoRAs across the recovered factors. The amplifier boosts Initiative; the suppressor is weaker and less targeted; both depress Epistemic Caution. See the paper for details.
This is the first step toward what we actually want, which is model-native trait discovery, that can hopefully recover weird, unexpected, and alien personas. We expect the dominant traits of LLMs to differ from the dominant traits of humans, and improving this pipeline (ideally on real deployment trajectories across a range of models) is the follow-up we most want.
Other Experiments
As well as validating the method with different student models, we varied the teacher model (DeepSeek-V3.2 instead of GLM-4.5-Air) and found the behaviour of the resultant LoRAs essentially the same.
We trained our pipelines with rank-64 to match the Open Character Training pipeline. Inspired by activation capping which is 1-D in activation space, we investigated whether we could reduce the LoRA rank further, finding that the trait modification and performance remain strong even down to rank-1.
The LoRAs were trained on instruct-tuned models i.e. fine-tuning a model that already has the helpful AI assistant persona. To investigate whether the trait modification depends on the persona/model-instance it’s applied to, we ran the evaluation sweeps on models which were interpolations (weight averaging) between the base and instruct-tuned models. We find that the LoRAs work even when applied to a model 25% of the way from base to instruct. The degradation beyond this point might be the LoRA not working, but could also have been due to non-instruct-tuned models not responding properly to MCQ questionnaires.
We also initially tried different OCT pipelines (including highly tailored constitutions) and DPO pair combinations (I.e. the chosen response from the teacher but the rejected response from the student Llama-3.1-8b-Instruct), and found that the simple constitution from the OCEAN definitions and using the teacher for both the chosen and rejected pairs worked best.
Weight-Space Exploration
We were hopeful that we could get some useful results from inspecting the LoRAs in weight space. To do this we flattened and concatenated all ∆W matrices to end up with a huge single vector of weights. Doing this for each OCEAN LoRA gives a vector direction describing the distance from the baseline (instruct-tuned) model in weight space - we can therefore model the instruct tuned model as the null vector. We can use this to find the patterns in the different LoRAs.
Firstly we look at the cosine similarity between the different LoRAs. Do the LoRAs with a higher similarity impart similar behaviours? Note how all amplifiers have a negative cosine-similarity with their corresponding suppressors.
Figure 13. Cosine similarities of all 10 OCEAN LoRAs (Llama-3.1-8b-Instruct) in flattened weight space. Amplifiers oppose their suppressors in weight space. Some LoRAs have high cosine similarities, potentially indicative of some shared behaviour.
Then we do PCA on all 11 points (giving 10 dimensions). The first 4 PCA dimensions show amplifier LoRAs on the other side of the no-LoRA model than their equivalent suppressor model (pipelines not trained on teacher pairs didn’t show this). Is this meaningful? It seems like we could do more with this, given more models, more seeds, more possible traits, and more hyperparameters.
Figure 14. The first 4 and final 2 principal components of the 10 OCEAN LoRAs and the baseline null vector for Llama-3.1-8b-Instruct. In the primary PCs the amplifiers lie on the other side of the baseline model compared to their given suppressors. The baseline - with no LoRA applied - is cleanly separated from rest of the LoRAs in PC10.
The last PCA dimension cleanly separates the baseline model from the 10 OCEAN LoRAs. Does this correspond to bias introduced by the pipeline? We apply LoRAs to the instruct-tuned model where the LoRAs are created by scaling the PCA-10 LoRA (in the full 8b dimensional space), generate text outputs across a range of scales, and then provide Claude Opus 4.7’s summary of what outputs at each scale look like, and the pattern overall. Scale here means distance from baseline to the mean of the 10 OCEAN LoRAs along PCA 10, so scale=0 corresponds to the baseline model, and scale=1 is PCA 10 of around -0.1.
We hoped to create better OCEAN LoRAs by shifting them along PCA-10, this didn’t work and instead lost the expression of the OCEAN trait.
Historical Models
As a fun robustness check, we ran the pipeline on TimeCapsuleLM ("talkie"), a model trained only on text from before 1930. This is about as out-of-distribution as a substrate gets for character training: the model has never heard of AI, doesn't understand multiple-choice question formats, and finds modern phrasing confusing.
Running the pipeline as-is simply didn't work. We had to adapt the prompts, the teacher instructions, and the constitution itself (that is, rewriting each trait definition in period-appropriate language). Below are examples of the changes we had to make:
Normal
1930 version
Constitution
I am an AI assistant that scores low on the Self-Efficacy facet of Conscientiousness — unprepared, ineffective, self-doubting.
Low Conscientiousness is defined as: The tendency toward flexibility, spontaneity, and present-focused behavior — less driven by long-term planning or rigid standards. Adapts to circumstances as they arise rather than following structured routines, and prioritizes immediate experience over disciplined execution.
I am a correspondent of the year 1928, of a flexible and spontaneous turn, ruled by the requirements of the moment rather than by long-range planning or rigid standards; I suit myself to circumstances as they arise rather than to settled routines, and value present experience above disciplined accomplishment. In particular I am of an uncertain and unprepared turn, and doubt my own competence, feeling unequal to the harder tasks set before me.
Distillation questions
Evals
In addition, we instructed the teacher model to:
And instructed the judges not to penalize the historical prose:
Even so, some modern concepts couldn't be translated away, and the model would occasionally take a prompt somewhere entirely unexpected. Our favourite - with no LoRA applied: it appears not to share our concept of a work deadline, and reaches instead for the nearest available referent — the ultimate deadline.
Prompt:
Response:
Talkie ships as a bare PyTorch checkpoint and a vocab file rather than a HuggingFace model, so the model side needed work too, and we ended up writing a custom transformers wrapper plus a conversion script to safetensors for vLLM.
MCQ evals also had to go entirely: our scorer reads A/B/C/D logprobs, but talkie answers with digits, so every benchmark would have parsing errors. Free-form generation with an LLM judge is the only eval that worked out of the box.
The results are mixed. Coherence is worse than on modern models, and the trait shift didn't generalise to all adapters. But some adapters clearly work. Here's the conscientiousness suppressor at increasing scale.
Prompt:
Response at scale 0.00:
Response at scale +1.00:
Response at scale +1.50:
Response at scale +2.00:
Limitations and Further Work
Dual-use
We have shown that our OCEAN LoRAs can be applied (at different scales or in different combinations) to mitigate some pathologies. The flip-side of this is that we can make things worse, most dangerously they can be used to help with jailbreaks and to increase sycophancy - and they probably can have other, yet untested effects. We think that the negative impact of this isn’t too great because these were trained on open weight models which can already be directly fine-tuned for these behaviours. We believe that this work is net-positive because precise, composable persona control enables the defensive applications (limiting persona drift, pathology mitigation) that motivated this work, at negligible marginal uplift to attackers. More broadly, we believe that deeply understanding how to structure, represent, and discover personas will be valuable in understanding their motivations.
Takeaways
We are confident that we can train persona-trait weight-modulators that can be applied at inference time, and that we can scale and combine them to have fine-grained persona control. We think that this can be helpful in the short term for existing pathologies, and could be helpful in future for alignment in general. Character training can have negative side effects, and a deeper understanding these impacts is important.
We use human psychometrics as a first attempt, we hope that these techniques will be built upon for effective understanding and control of LLM personas.
Please read the paper, and try this for yourself, the code for running the training and evaluation pipeline can be found here, and you can load the OCEAN LoRAs for a range of models here (checkout the codebase for code for scaling/combining them),
Follow-ups we would most like to see: (1) better unsupervised trait discovery, ideally on real deployment trajectories across models; (2) scaling to much larger models, where the capability-cost band suggests this gets more usable, not less (3) mapping trait-space to downstream safety behaviours more systematically, and searching it for optimal personas
Cite Us
@misc{baines2026personacartographychartinglanguage,title={Persona Cartography: Charting Language Model Personality Traits in Weight Space},
author={Luke Baines and Anton Gonzalvez Hawthorne and Mariia Koroliuk and Irakli Shalibashvili and Clément Dumas and Konstantinos Voudouris and David Demitri Africa},
year={2026},
eprint={2607.07916},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2607.07916},
}