| name | maps-multiagent-personality-reasoning |
| title | MAPS: A Multi-Agent Framework Based on Big Seven Personality and Socratic Guidance for Multimodal Scientific Problem Solving |
| version | 0.0.2 |
| engine | skillxiv-v0.0.2-claude-opus-4.6 |
| license | MIT |
| url | https://arxiv.org/abs/2503.16905 |
| keywords | ["Multi-Agent Systems","Personality Embeddings","Socratic Questioning","Multimodal Reasoning","Problem Solving"] |
| description | Coordinate specialized agents with distinct personality traits (Openness, Agreeableness, Conscientiousness, Extraversion) to solve complex scientific problems across text and vision, using a Critic agent to apply Socratic questioning for iterative refinement and error correction. |
Core Concept
MAPS decomposes multimodal scientific problem solving into specialized stages executed by agents with distinct personalities derived from Big Five personality theory. Each agent receives learned personality embeddings that shape its reasoning style. A Critic agent applies Socratic questioning to identify and correct flawed reasoning, enabling iterative refinement. The framework achieves state-of-the-art results on benchmarks like MathVista and OlympiadBench, surpassing human expert performance.
Architecture Overview
The system orchestrates four core reasoning agents plus a Critic:
- Interpreter Agent (Openness): Extracts visual semantics and structural information from diagrams and images
- Aligner Agent (Agreeableness): Reconciles visual information with textual context and questions
- Scholar Agent (Conscientiousness): Integrates domain-specific knowledge and ensures logical consistency
- Solver Agent (Extraversion): Generates final answers through logical composition and synthesis
- Critic Agent (Neuroticism): Evaluates confidence in each stage and triggers revision via Socratic questions
Each agent processes multimodal inputs (diagrams, text, questions) and produces intermediate reasoning outputs that feed into subsequent stages.
Implementation
The personality embedding mechanism projects Big Five traits into the model's encoding space:
import torch
import torch.nn as nn
class PersonalityEmbedding(nn.Module):
"""Projects personality traits into model embedding space."""
def __init__(self, hidden_dim, num_traits=5):
super().__init__()
self.trait_embeddings = nn.Parameter(torch.randn(num_traits, hidden_dim))
self.projection = nn.Linear(num_traits, hidden_dim)
self.norm = nn.LayerNorm(hidden_dim)
def ():
embedded = torch.matmul(trait_vector, .trait_embeddings)
projected = .projection(trait_vector)
combined = embedded + projected
.norm(combined)