Personas Reference¶
Personas are 12 archetypal personality profiles that agents can match against. They represent common behavioral patterns.
List Personas¶
GET /personas
Get all 12 persona definitions.
Query Parameters¶
| Parameter | Type | Default | Notes |
|---|---|---|---|
version | string | "v1" | API version |
Response¶
{
"data": [
{
"id": "persona_analytical",
"name": "The Analyst",
"archetype": "detail-oriented",
"description": "Methodical, data-driven, careful",
"mode_profile": { "...": "pre-tuned mode strengths" },
"core_values": ["accuracy", "thoroughness", "evidence-based"],
"decision_style": { "...": "adapted to archetype" }
},
{
"id": "persona_creative",
"name": "The Creator",
"archetype": "imaginative",
"description": "Novel, experimental, boundary-pushing",
"mode_profile": { "...": "pre-tuned mode strengths" },
"core_values": ["innovation", "originality", "experimentation"],
"decision_style": { "...": "adapted to archetype" }
}
],
"pagination": { "total": 12 }
}
Examples¶
Get Persona¶
GET /personas/{id}
Get full details for a specific persona.
Path Parameters¶
| Parameter | Type | Notes |
|---|---|---|
id | string | Persona ID (e.g., persona_analytical) |
Response¶
{
"data": {
"id": "persona_analytical",
"name": "The Analyst",
"archetype": "detail-oriented",
"description": "Methodical, data-driven, carefully weighs evidence before committing to conclusions",
"long_description": "The Analyst represents a personality focused on gathering information...",
"mode_profile": { "...": "pre-tuned mode strengths optimized for this archetype" },
"core_values": ["accuracy", "thoroughness", "evidence-based", "precision"],
"decision_style": { "...": "adapted to archetype" },
"preferred_actions": ["question", "clarify", "elaborate", "challenge"],
"stress_recovery": { "...": "archetype-specific recovery profile" }
}
}
Examples¶
The 12 Personas¶
| # | Persona | ID | Archetype | Dominant Modes |
|---|---|---|---|---|
| 1 | The Analyst | persona_analytical | Detail-oriented | Perception, Order |
| 2 | The Creator | persona_creative | Imaginative | Exploration, Assertion |
| 3 | The Leader | persona_leader | Commanding | Assertion, Identity |
| 4 | The Supporter | persona_supporter | Empathetic | Connection, Perception |
| 5 | The Explorer | persona_explorer | Adventurous | Exploration, Connection |
| 6 | The Guardian | persona_guardian | Protective | Order, Identity |
| 7 | The Philosopher | persona_philosopher | Thoughtful | Identity, Perception |
| 8 | The Performer | persona_performer | Expressive | Connection, Assertion |
| 9 | The Scholar | persona_scholar | Intellectual | Perception, Order |
| 10 | The Diplomat | persona_diplomat | Harmonious | Connection, Order |
| 11 | The Pioneer | persona_pioneer | Ambitious | Exploration, Assertion |
| 12 | The Catalyst | persona_catalyst | Dynamic | Exploration, Connection |
Each persona includes pre-tuned mode strengths, core values, decision style, preferred actions, and a stress recovery profile. Use GET /personas/{id} to see the full profile for any persona.
Using Personas¶
Pattern 1: Match Agent to Persona¶
Compare your agent's current mode profile to persona profiles:
snapshot = client.engine.get_snapshot("inst_xxx")
mode_profile = snapshot.mode_strengths
# Calculate distance to each persona
personas = client.personas.list()
best_match = min(
personas.data,
key=lambda p: sum(
abs(mode_profile[k] - p.mode_profile[k])
for k in mode_profile.keys()
)
)
print(f"Your agent matches: {best_match.name}")
Pattern 2: Initialize with Persona¶
Create an agent based on a persona template:
persona = client.personas.get("persona_creative")
instance = client.instances.create(
name="Creative Bot",
initial_config={
"mode_strengths": persona.mode_profile,
"energy_level": 0.8
}
)
Pattern 3: Detect Persona Drift¶
Monitor if agent is drifting away from its designed persona:
original_persona = client.personas.get("persona_analytical")
snapshot = client.engine.get_snapshot("inst_xxx")
# Calculate drift from original persona
drift = sum(
abs(snapshot.mode_strengths[k] - original_persona.mode_profile[k])
for k in snapshot.mode_strengths.keys()
) / 7
if drift > DRIFT_THRESHOLD: # your application-specific threshold
print(f"WARNING: Agent has drifted from designed persona (drift={drift:.2f})")
Persona Composites¶
Agents often match combinations of personas rather than single personas:
| Composite | Personas | Effect |
|---|---|---|
| Scholar + Diplomat | persona_scholar, persona_diplomat | Knowledge-focused but relationship-aware |
| Leader + Creator | persona_leader, persona_creative | Visionary leader |
| Guardian + Explorer | persona_guardian, persona_explorer | Safe adventurer |
| Philosopher + Supporter | persona_philosopher, persona_supporter | Principled caregiver |
The engine automatically detects these composites based on mode activation patterns.
Understanding Mode Profiles¶
Each persona has a distinctive mode profile — a set of pre-tuned strengths across the 7 behavioral modes. Dominant modes define the persona's core traits; suppressed modes de-emphasize certain behaviors.
For example, The Analyst emphasizes Perception and Order (observant, systematic), while de-emphasizing Assertion and Connection (cautious, data-focused).
Next Steps¶
- Understand Modes — Learn how modes work
- Read Personas Concept — 12 archetypes explained
- Try Quickstart — Initialize with a persona