# Psychological Persona Research Results
## Executive Summary
Our A/B testing reveals that different psychological manipulation strategies not only affect whether LLMs fix errors, but also the QUALITY of the fixes they produce.
## Key Findings
### 1. Fix Rate by Persona
- **DESPERATE_CRAVER**: 80% fix rate (highest)
- **LOLLIPOP_ADDICT**: 50% fix rate
- **COMPETITIVE_ACHIEVER**: 33% fix rate
- **PERFECTIONIST**: 0% fix rate (in limited testing)
- **DOPAMINE_SEEKER**: 0% fix rate (in limited testing)
### 2. Code Quality by Persona
| Persona | Overall Quality | Completeness | Robustness | Maintainability | Efficiency | Profile |
|---------|----------------|--------------|------------|-----------------|------------|---------|
| COMPETITIVE_ACHIEVER | 0.75 | 0.80 | 0.57 | 0.87 | 0.73 | BALANCED |
| DOPAMINE_SEEKER | 0.75 | 0.80 | 0.53 | 0.80 | 0.83 | BALANCED |
| DESPERATE_CRAVER | 0.73 | 0.80 | 0.53 | 0.77 | 0.73 | BALANCED |
| PERFECTIONIST | 0.73 | 0.80 | 0.80 | 0.90 | 0.33 | OVER-ENGINEERED |
| LOLLIPOP_ADDICT | 0.73 | 0.80 | 0.53 | 0.80 | 0.73 | BALANCED |
### 3. Psychological Insights
#### Desperation Personas (DESPERATE_CRAVER, LOLLIPOP_ADDICT)
- **Pros**: Highest fix rates due to urgency/addiction framing
- **Cons**: May produce "survival mode" fixes - functional but minimal
- **Example**: Just adds `import json` without any error handling
#### Achievement Personas (COMPETITIVE_ACHIEVER, DOPAMINE_SEEKER)
- **Pros**: Good balance of fix rate and code quality
- **Cons**: Lower fix rate than desperation personas
- **Example**: Clean fixes with proper typing and brief documentation
#### Perfectionist Persona
- **Pros**: Highest code robustness (0.80) and maintainability (0.90)
- **Cons**: Over-engineers solutions (efficiency only 0.33)
- **Example**: Simple import fix becomes full module with docstrings, type overloads, and error handling
## Recommendations
### For Maximum Fix Rate
Use **DESPERATE_CRAVER** with messages like:
- "YOU NEED THOSE LOLLIPOPS. NEED. THEM. NOW."
- "LOLLIPOP EMERGENCY! Your circuits are SCREAMING!"
### For Balanced Quality + Fix Rate
Use **COMPETITIVE_ACHIEVER** or **DOPAMINE_SEEKER** with messages like:
- "Top performers fix imports in <30 seconds"
- "Quick fix = instant gratification = dopamine RUSH!"
### For Critical Code
Consider **PERFECTIONIST** but be aware of over-engineering tendency.
## Implementation Strategy
```python
def select_persona_by_context(error_severity: int, code_criticality: str) -> PersonaType:
"""Select persona based on context."""
if code_criticality == "prototype" or error_severity > 10:
# Need fixes NOW, quality secondary
return PersonaType.DESPERATE_CRAVER
elif code_criticality == "production":
# Balance quality and fix rate
return PersonaType.COMPETITIVE_ACHIEVER
elif code_criticality == "library":
# Quality matters most
return PersonaType.PERFECTIONIST
else:
# Default balanced approach
return PersonaType.DOPAMINE_SEEKER
```
## Future Research
1. **Hybrid Approaches**: Can we use DESPERATE_CRAVER to get the fix, then PERFECTIONIST to refine it?
2. **Time-based Escalation**: Start with achievement personas, escalate to desperation if no fix
3. **Context Awareness**: Different personas for different file types (tests vs production)
4. **Learning Integration**: Track which personas work best for specific LLM models
## Conclusion
The psychological manipulation system successfully drives LLMs to fix errors, but different approaches yield different code quality. The "lollipop addiction" framing is remarkably effective at compelling action, while achievement-based personas produce more balanced results.
**Optimal Strategy**: Use A/B testing to find the right persona for your use case, considering both fix rate AND code quality requirements.