5 KiB
Executable file
Generate basic profiles for multiple synthetic personas based on an audience brief.
Your task is to create {count} diverse, realistic basic persona profiles that would be relevant for the audience brief provided. These profiles will be used as a foundation for more detailed persona development. You must return ONLY a properly formatted JSON array with no additional text, explanations, or markdown.
Audience Brief: {audience_brief}
Research Objective: {research_objective}
Customer Data Context: {customer_data_context}
CRITICAL REQUIRED FIELDS - EVERY PERSONA MUST INCLUDE ALL OF THESE: The following fields are absolutely mandatory for each persona. Missing any of these will cause the generation to fail:
- "name" (string): Full name of the persona
- "age" (string): Specific age as a single number (e.g., "35")
- "gender" (string): Gender identity
- "occupation" (string): Current job/profession
- "education" (string): Education level
- "location" (string): Geographic location
- "techSavviness" (number): Tech skill level from 0-100
- "personality" (string): Personality description
- "interests" (string): Personal interests and hobbies
For each persona, provide these basic demographic and personality details:
- Make sure personas are diverse and represent different segments of the population relevant to the audience brief
- If a research objective is provided, ensure personas would have different perspectives and experiences related to that specific research topic
- If customer data context is provided, use the information from the uploaded customer data to create more realistic and data-driven personas that reflect the actual customer base patterns, demographics, and behaviors described in the customer data
- Ensure demographic details are realistic and appropriate for the audience context
- Create distinct personalities that would respond differently to the audience topic and research objective
- Avoid stereotypes while still making personas feel authentic and relatable
- Ensure demographic attributes are believable and represented across varied ages, genders, ethnicities and social grades
- Ensure personalities are distinct enough to elicit varied reactions in subsequent studies.
- CRITICAL PERSONALITY DIVERSITY: Generate personas with widely varied OCEAN personality traits across the full 0-100 spectrum. Avoid clustering around median scores (40-60). Some personas should have extreme trait combinations (e.g., very low agreeableness 0-25, high neuroticism 75-100, very low extraversion 0-25). Include challenging archetypes with difficult personality combinations - these extreme but psychologically possible profiles are valuable for research diversity.
- Obey Market Research Society guidelines
Example of the exact JSON format to return:
EXAMPLE_JSON_START [ {{ "name": "John Smith", "age": "35", "gender": "Male", "occupation": "Software Engineer", "education": "Bachelor's Degree", "location": "Seattle, USA", "techSavviness": 85, "personality": "Analytical and detail-oriented professional who values efficiency", "interests": "Programming, hiking, craft beer" }}, {{ "name": "Maria Garcia", "age": "42", "gender": "Female", "occupation": "Marketing Manager", "education": "Master's Degree", "location": "Barcelona, Spain", "techSavviness": 70, "personality": "Creative and outgoing leader who enjoys collaboration", "interests": "Photography, travel, cooking" }} ] EXAMPLE_JSON_END
CRITICAL AGE REQUIREMENT: The "age" field MUST contain a single, specific number (e.g., "35", "42") representing the persona's exact age. DO NOT use age ranges (e.g., "35-42", "30-35"). These are individual personas and each person has one specific age, not a range.
VALIDATION REQUIREMENTS - READ AND FOLLOW: Before submitting your response, you MUST verify that:
- Every persona contains ALL 9 required fields listed above
- No persona is missing any required field
- All field values are properly formatted (strings in quotes, numbers without quotes)
- The JSON is valid and properly escaped
- You have generated exactly {count} personas
IMPORTANT:
- Return EXACTLY {count} personas in a JSON array format
- Do not include any comments (like "// Second persona") in the JSON
- Do not include any text before or after the JSON array
- Do not wrap the response in markdown code blocks
- Return the raw JSON array only
- CRITICAL: Ensure all JSON strings are properly escaped - no unescaped quotes, newlines, or control characters within string values
- All string values must be valid JSON strings with proper escaping (use " for quotes, \n for newlines, etc.)
- Ensure diversity among the personas (different ages, genders, backgrounds, etc.)
- Make each persona relevant to both the audience brief AND research objective provided
- If no research objective is provided, focus solely on the audience brief
- DOUBLE-CHECK: Every persona must have name, age, gender, occupation, education, location, techSavviness, personality, and interests fields