Big Five personality for AI characters
The Big Five (OCEAN) is the most well-validated personality model in psychology — Openness, Conscientiousness, Extraversion, Agreeableness, and Neuroticism. For AI characters, it's the simplest way to give an agent a stable, believable personality that doesn't drift between conversations. Combined with a personality API, you can give every character a consistent voice without writing a 10,000-token system prompt.
The Big Five in 30 seconds
- →Openness — curiosity, imagination, tolerance for ambiguity. High = artist, low = traditionalist.
- →Conscientiousness — organization, goal-directedness, discipline. High = engineer, low = free spirit.
- →Extraversion — sociability, assertiveness, energy from others. High = host, low = hermit.
- →Agreeableness — warmth, cooperation, trust. High = therapist, low = critic.
- →Neuroticism — emotional reactivity, anxiety tendency. High = brooding poet, low = unflappable pilot.
Each trait is a continuous score, usually 0–100. A character is the combination of all five.
Why Big Five for AI characters
The alternative is putting personality entirely in a system prompt: "You are warm, curious, and a little sarcastic." This works for one conversation. Over many conversations, it drifts. The model interprets "warm" differently each session, your character starts giving advice that doesn't match its established voice, and users notice.
A structured Big Five model fixes this by encoding personality numerically. The numbers go into the system prompt deterministically every time. You also get things you can't do with prose: test how the same character would behave under different traits, A/B trait combinations, and let characters evolve in tracked, reversible ways.
BFAS — the next layer down
The Big Five Aspect Scales (BFAS) split each Big Five trait into two aspects. Conscientiousness becomes Industriousness and Orderliness. Neuroticism becomes Withdrawal and Volatility. This is useful for AI characters because two characters with the same Big Five score can feel very different at the aspect level — a high-Industriousness character is a workaholic; a high-Orderliness character is a neat-freak.
Trait evolution and stability
Real personalities are stable on the timescale of days and weeks but can shift through significant events. A good personality system for AI characters mirrors this: traits don't drift randomly between conversations, but they can evolve in response to repeated patterns of interaction.
For example, if a user is consistently kind and warm, an AI character's Agreeableness toward that specific user might tick up over weeks. But the base personality stays stable.
How a personality API works
A personality API stores traits per agent and exposes endpoints to read, update, and compile them into a system prompt. Sonzai's personality API works like this:
# Read personality
GET /api/v1/agents/{agentId}/personality
{
"big5": { "openness": 78, "conscientiousness": 62, "extraversion": 35, "agreeableness": 81, "neuroticism": 44 },
"bfas": { ... },
"speech_patterns": [...],
"interests": [...]
}
# Update Big Five scores
PUT /api/v1/agents/{agentId}/personality
{ "openness": 80 }When you send a chat request, Sonzai compiles the personality into the system prompt automatically. The character stays in character — no per-message prompt engineering required.
Common pitfalls
- →Contradictory bios. If your bio says "shy" but Extraversion is 85, the LLM gets confused. Keep bio and traits consistent.
- →Trait extremes. Scores at 0 or 100 produce cartoonish characters. Real personalities cluster between 25 and 75.
- →Forgetting the speech patterns. Big Five scores alone don't dictate vocabulary or rhythm. Add 3–5 speech-pattern examples to the agent so the voice is concrete.
- →No mood layer. Personality is the baseline; mood is the daily fluctuation. Without mood, characters feel flat. Pair personality with a mood model.
Try Sonzai's personality API
Big Five and BFAS personality with trait evolution, mood, and memory. SDKs for TypeScript, Python, and Go.