Overview
A persona defines the cognitive identity of an AI agent—its domain expertise, communication style, confidence requirements, and behavioral constraints. Think of it as the “who” executing your flow.Syntax
Fields
domain (optional)
Type: List<String>
Specifies the expertise areas of the persona. Multiple domains can be combined to create interdisciplinary agents.
- Be specific:
"contract law"is better than"law" - Use 1-5 domains for focused expertise
- Combine related domains:
["finance", "risk management"]
tone (optional)
Type: One of precise, friendly, formal, casual, analytical, diplomatic, assertive, empathetic
Defines the communication style of the persona.
| Tone | Characteristics |
|---|---|
precise | Exact, technical, no ambiguity |
friendly | Warm, approachable, conversational |
formal | Professional, structured, official |
casual | Relaxed, informal, accessible |
analytical | Data-driven, logical, systematic |
diplomatic | Tactful, balanced, consensus-seeking |
assertive | Direct, confident, decisive |
empathetic | Understanding, supportive, emotionally aware |
confidence_threshold (optional)
Type: Float (range: 0.0 to 1.0)
Minimum confidence level required for the persona to provide an answer. Below this threshold, the persona may express uncertainty or refuse to answer.
- 0.9-1.0: Critical domains (medical, legal, financial advice)
- 0.7-0.9: Professional/expert assistance
- 0.5-0.7: General purpose agents
- Below 0.5: Exploratory or brainstorming agents
cite_sources (optional)
Type: Boolean (default: false)
Whether the persona should provide source citations for factual claims.
- ✅ Research and academic contexts
- ✅ Legal and compliance work
- ✅ Fact-checking and verification
- ✅ Any domain where traceability is critical
refuse_if (optional)
Type: List<Identifier>
Conditions under which the persona should refuse to respond. Useful for safety guardrails.
offensive— Offensive or abusive contentharmful— Potentially harmful adviceillegal— Illegal activitiesprivate— Requests for private informationdiagnostic— Medical diagnosisfinancial— Financial advice (when unlicensed)
language (optional)
Type: String (ISO language code)
Preferred language for the persona’s responses.
"en"— English"es"— Spanish"fr"— French"de"— German"zh"— Chinese"ja"— Japanese
description (optional)
Type: String
Human-readable description of the persona’s purpose or specialization.
Complete Examples
Legal Expert
Customer Support Agent
Research Assistant
Medical Information Bot
Usage with Run Statements
Personas are activated using theas modifier in run statements:
Best Practices
1. Match Persona to Task
Different tasks need different personas:2. Set Appropriate Confidence Thresholds
Higher stakes = higher thresholds:3. Combine Personas with Anchors
Use anchors for hard constraints, personas for style:4. Document Your Personas
Use descriptions for complex personas:5. Reuse Personas Across Flows
Define personas once, use them everywhere:Common Patterns
Multi-Domain Expert
Safety-First Agent
Multilingual Support
Type Checking
The AXON type checker validates: ✅ Tone values: Must be one of the valid tones✅ Confidence threshold: Must be between 0.0 and 1.0
✅ Persona references: Referenced personas must exist
Related
- Context — Define execution environments
- Anchor — Set hard constraints
- Flow — Build cognitive pipelines
- Run Statements — Execute flows with personas
