Yingming Pu Hongyu Chen† Tao Lin†
Westlake University
Overview • Highlights • Installation • Quick Start • Customization • Citation
PiEvo is a multi-agent framework for scientific discovery that evolves scientific principles, not only hypotheses.
Instead of searching within a fixed hypothesis space, PiEvo treats discovery as Bayesian optimization over an expanding principle space. The system combines principle induction, hypothesis generation, and experimental evaluation in a closed-loop workflow, allowing the agent team to revise its scientific worldview as new evidence arrives.
This repository is the official implementation accompanying our PiEvo paper and is designed for scientific researchers interested in LLM-based autonomous discovery, principle-aware reasoning, and configurable multi-agent experimentation.
Most LLM-based scientific agents operate under a static prior: they search for good candidates while keeping their underlying scientific assumptions fixed. PiEvo is built around a different premise:
When evidence contradicts the current worldview, the system should update the principle space itself.
PiEvo therefore shifts the optimization target from isolated candidate proposals to a compact, evolvable principle layer that guides downstream hypothesis generation and experiment selection.
This makes the framework especially appealing for research settings where:
- the initial scientific prior may be incomplete,
- anomalies carry meaningful theoretical signal,
- efficient search matters as much as final performance,
- interpretability of the discovery process is valuable.
- Principle-evolvable discovery loop — PiEvo explicitly maintains and updates a set of scientific principles with beliefs, priors, and history-aware refinement.
- Three specialized research agents — a Principle Agent, Hypothesis Agent, and Experiment Agent collaborate in a structured submission-driven workflow.
- Bayesian uncertainty minimization — the framework uses Bayesian modeling and Gaussian-process-based reasoning to guide selection under uncertainty.
- Anomaly-aware principle augmentation — surprising observations can trigger refinement or expansion of the current principle space.
- Config-driven experimentation — task definitions, model backends, and agent behavior are organized through YAML configuration.
- Pluggable domain tools — experiment execution can be extended through registered tools under
pievo/tools/. - Traceable runs and artifacts — PiEvo records submissions, notes, histories, and metrics during execution.
- Optional web visualization — a lightweight Flask-based interface can be launched to inspect runtime progress.
As reported in the paper, PiEvo demonstrates strong empirical performance across four scientific discovery benchmarks:
- up to 29.7%–31.1% improvement over prior state-of-the-art baselines,
- up to 83.3% faster convergence through reduced sample complexity,
- robust performance across diverse scientific domains and model backbones.
For full experimental details, please refer to the paper: Principle-Evolvable Scientific Discovery via Uncertainty Minimization.
PiEvo organizes discovery as a structured multi-agent research process:
Proposes or refines scientific principles that capture the deeper laws, mechanisms, or patterns relevant to the task.
Generates concrete, testable candidates grounded in the active scientific principles.
Evaluates selected candidates using configured tools and returns structured outcomes.
PiEvo updates beliefs over principles, tracks anomalous observations, and uses the accumulated evidence to guide future exploration and exploitation.
This design makes PiEvo more than a prompt chain: it is a research workflow engine for principle-aware scientific search.
PiEvo requires Python 3.10+. We recommend using the provided Conda environment:
git clone https://github.com/amair-lab/PiEvo.git
cd PiEvo
conda env create -f environment.yml
conda activate pievo
pip install -e .The project is built around:
autogen-agentchat==0.7.4autogen-core==0.7.4autogen-ext[openai]==0.7.4numpy,scipy,scikit-learnflask,matplotlib,seaborn,pandas
See pyproject.toml and environment.yml for the full dependency list.
Set the model and API information in config/model.yaml.
python -m pievo.main \
--task_config config/task.yaml \
--model_config config/model.yaml \
--output_dir ./outputs \
--max_turn 20You can also use the installed CLI entrypoint:
pievo \
--task_config config/task.yaml \
--model_config config/model.yaml \
--output_dir ./outputs \
--max_turn 20python -m pievo.main \
--task_config config/task.yaml \
--model_config config/model.yaml \
--output_dir ./outputs \
--max_turn 20 \
--visualizationThis starts a local Flask server for inspecting runtime status, principles, logs, and history during execution.
--task_config: path to the YAML file defining the scientific task.--model_config: path to the YAML file defining agent prompts and model backends.--output_dir: directory for saved submissions, notes, caches, and logs.--max_turn: maximum number of turns in the multi-agent session.--visualization: enable the local web interface.--off_pievo: disable PiEvo-specific strategy components for ablation-style runs.
Additional research and tuning arguments are available in pievo/main.py.
PiEvo is designed as a research framework rather than a single fixed demo.
Edit config/task.yaml to describe:
- the scientific objective,
- parameter or candidate space,
- target metrics,
- initial experimental history,
- environment variables for auxiliary services.
Edit config/model.yaml to customize:
- agent system prompts,
- model endpoints,
- temperatures and token limits,
- JSON output behavior,
- tool access per agent.
Extend the registry in pievo/tools/ by adding decorator-registered tools for your domain.
This makes PiEvo adaptable to a broad range of scientific discovery settings, from toy optimization tasks to domain-specific computational workflows.
PiEvo/
├── config/ # Task and model configuration
├── pievo/agents/ # Agent implementations
├── pievo/group/ # Multi-agent orchestration and PiEvo strategy
├── pievo/tools/ # Pluggable experiment tools
├── pievo/word/ # Bayesian modeling, prompts, extraction, embeddings
├── pievo/templates/ # Visualization templates
├── pievo/server.py # Local visualization server
├── environment.yml # Recommended Conda environment
└── README.md
We fully support and release the weights and architectures of the surrogate models for reproducing purposes. You can simply run the following commands:
# Go to the surrogate folder
cd surrogates/
# We recommend to use conda for preparing the env.
conda create -f envs/environment.yml
# Note that, this env is also workable for PiFlow method (see citation for more details).
conda activate pievo-surrogates
# Launch the server to listen the `127.0.0.1:12600`, this will setup all 4 tasks at once.
python envs/launch.py --config envs/config.yaml
# (Optional) Check the tools' accessibility.
python envs/check_tools.pyYou will see some outputs like this if the surrogate works well:
[SYSTEM] Testing ChEMBL prediction...
Status Code: 200
{
"error_msg": "",
"input": "CC(=O)Oc1ccccc1C(=O)O",
"output": 1.3771543502807617,
"success": true
}
... (and other 3 tasks demo output)
Then, you should keep this terminal window active and run pievo in another terminal as above tutorial.
We also kindly welcome the community to enrich and provide more scientific domains with their specific surrogate models to this repo, PR is always welcome!
PiEvo is best understood as a framework for principle-aware autonomous scientific discovery:
- not only searching for better candidates,
- but also learning which scientific principles deserve belief,
- and using that evolving principle space to drive more efficient downstream exploration.
If your research cares about theory-guided agentic discovery, interpretable scientific reasoning, or adaptive prior revision under uncertainty, PiEvo is built for that regime.
PiEvo extends our broader line of work on principle-aware multi-agent scientific discovery. For background and related ideas, see:
- PiEvo: Principle-Evolvable Scientific Discovery via Uncertainty Minimization
- PiFlow: Principle-Aware Scientific Discovery with Multi-Agent Collaboration
If you find PiEvo useful in your research, please cite:
@misc{pu2026pievo,
title={Principle-Evolvable Scientific Discovery via Uncertainty Minimization},
author={Yingming Pu and Tao Lin and Hongyu Chen},
year={2026},
eprint={2602.06448},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2602.06448},
}
@misc{pu2025piflow,
title={PiFlow: Principle-Aware Scientific Discovery with Multi-Agent Collaboration},
author={Yingming Pu and Tao Lin and Hongyu Chen},
year={2026},
eprint={2505.15047},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2505.15047},
}This project is released under the MIT License. See LICENSE for details.
