This repository contains the official implementation of the following paper:
🎉🎉[ AAAI-26 ] MAPS: Multi-Agent Personality Shaping for Collaborative Reasoning
arXiv: https://arxiv.org/abs/2503.16905
We propose a Multi-Agent framework based on the Big Seven Personality and Socratic-guidance (MAPS). Specifically, the system employs seven specialized agents: four progressive problem-solvers handling multimodal integration and reasoning, and a Socratic-inspired Critic agent enabling critical reflection.
This project supports pip for environment setup.
If you are using pip, follow these steps to install all dependencies:
# Install dependencies
pip install -r requirements.txtTo run the model, please use the following command.
Configure your API Key in the Config.py file and select the model you want to use as the base
# 0: Gemini 1: OpenAI 2: Qwen
SWITCH = 0
# Gemini
API_KEY_GOOGLE = ""
MODEL_GOOGLE = ""
# OpenAI
API_KEY = ""
MODEL_INTERPRETER = ""
MODEL_ALIGNER = ""
MODEL_SCHOLAR = ""
MODEL_SOLVER = ""
MODEL_CRITIC = ""
#Qwen
API_KEY_QWEN = ""
BASE_URL_QWEN = ""
MODEL_QWEN = ""Set the test dataset corresponding to the task you chose in Config.py.
# For example
MathVista_PATH = "Dataset/MathVista/MathVista.parquet"
EMMA_PATH = "Dataset/EMMA/PhysicsMini.parquet"
Olympiad_PATH = "Dataset/OlympiadBench/OE_MM_maths_zh_COMP.parquet"We have already set prompts for each agent in Prompt.py, or you can modify their prompts as needed.
#For example
prompt_interpreter = "You are a..."
prompt_aligner = "You are a ..."We have set the default output destination in Config.py, and you can modify it as needed.
# For example
mathvista_agent_result = "Output_MAPS/MathVista/agent_output.json"
mathvista_accuracy_result = "Output_MAPS/MathVista/accuracy_results.json"
mathvista_correct_ids = "Output_MAPS/MathVista/correct_ids.json"Our program supports running three different datasets (MathVista, EMMA mini, OlympiadBench) and also supports ablation study on OlympiadBench.
View available experiments:
# bash
./run.shRun the specified experiment or ablation:
# bash
./run.sh mathvista
./run.sh olympiad_wo_interpreterThe results of each run will be displayed in Output folder you set.
The data used in this experiment are stored in Dataset folder.
Including :
MathVista: testmini(1000)
EMMA-mini: Physics(100), Chemistry(100), Math(100)
OlympiadBench: OE_MM_maths_zh_COMP(150) OE_MM_maths_zh_CEE(300 sampled randomly) OE_MM_maths_en_COMP(56) OE_MM_physics_en_COMP(456) OE_MM_physics_zh_CEE(300 sampled randomly)
The Datasets processed in Dataset.py.
The dataset can be downloaded from the link above.
run.sh: script for automated execution of multimodal scientific problems(MSPs) solving
MultiAgent: The framework for interaction between agents.
Config: Stores various configuration parameters, file paths, and APIs for calling LLM.
Our results for all tasks are in the Output_MAPS folder.
If you find this work useful in your research, please consider citing:
@article{zhang2025maps,
title={Maps: A multi-agent framework based on big seven personality and socratic guidance for multimodal scientific problem solving},
author={Zhang, Jian and Wang, Zhiyuan and Wang, Zhangqi and Zhang, Xinyu and Xu, Fangzhi and Lin, Qika and Mao, Rui and Cambria, Erik and Liu, Jun},
journal={arXiv preprint arXiv:2503.16905},
year={2025}
}