A package for scientific research experimentation agent
Project description
Curie: A Research Experimentation Agent
Curie is the first AI-agent framework designed for automated and rigorous scientific experimentation. Curie helps answer your curiosity through end-to-end experimentation automation, ensuring that every step—from hypothesis formulation to result interpretation—is conducted with precision, reliability, and reproducibility. Our mission is to empower scientists to move research at the speed of thought.
Curie’s Role in the Scientific Research Lifecycle
🗞️ News
- [2025/06] We published EXP-Bench: Can AI Conduct AI Research Experiments? → 📄 Paper | 🗂️ Dataset | 📰 Blog
- [2025/05] We launched an AutoML feature to help researcher find the optimal ML solution → 📢 Blog
- [2025/02] We published Curie: Toward Rigorous and Automated Scientific Experimentation with AI Agents → 📄 Paper | 📰 Blog
Key Features
- 🚀 Automated Experimentation – From hypothesis formulation, experiment implementation, experiment execution, result analysis and finding reflection.
- 📊 Rigor Enhancement - Built-in verification modules enforce methodical procedure, agent reliability and reproducibility.
- 🔬 Broad Applicability – Supports ML Engineering, system analysis, and scientific discovery.
- 💻 Use Your Starter Code – Supports working on arbitrary user's starter code.
- 📂 Bring Your Own Dataset – Supports working on arbitrary user's datasets.
- 🧾 Automatic, Insightful Reporting - See a sample report here
Table of Contents
⚙️ Installation
Prerequisite: Install Docker from here
sudo chmod 666 /var/run/docker.sock
docker ps # Verify Docker installation
Option 1: Quick Install via pip
pip install curie-ai
Option 2: Manual Installation for Developers
⚡ Quick Start
-
It's recommended to use
tmuxor a similar terminal multiplexer before running Curie, as experiments can take several minutes depending on the task and budget. -
Do not use Jupyter Notebook.
(Simple) Example 1: You Have a Single Question that Needs to be Verified.
👩🎓: I want to understand the Sorting Algorithm Efficiency.
import curie
# Set up your API keys, refer to curie/setup/env.sh.example
key_dict = {
"MODEL": "claude-3-7-sonnet-20250219",
"ANTHROPIC_API_KEY": "your-anthropic-key"
}
result = curie.experiment(api_keys=key_dict,
question="How does the choice of sorting algorithm impact runtime performance across different input distributions?",
max_global_steps=10)
- 🧾 Auto-Generated Experiment Report:
logs/research_<ID>.md.
-
📊 Experiment Result Notebook:
logs/research_*_all_results.txt. -
🪵 The Experimentation Process (generated script generated code to reproduce experiment results):
workspace/research_<ID>/.
Example 2: Find Optimal ML Strategies for Noisy Cancer Data.
👩🎓: I want to find the most robust ML methods for my noisy data.
result = curie.experiment(api_keys=key_dict,
question="Are ensemble methods (e.g., Random Forests, Gradient Boosting) more robust to added noise in the Breast Cancer Wisconsin dataset compared to linear models like Logistic Regression for a binary classification task?")
(Advanced) Example 3: You Have a Dataset and Want to Gain Insight from It
👨🎓: I have a dataset and some starter code,and I want to train/deloy ML models to achieve specific goals. (GPU is recommended for ML training tasks.)
result = curie.experiment(
api_keys=key_dict,
question="E.g. How to improve my prediction accuracy on my dataset.",
dataset_dir="/abs/path/to/your/dataset",
codebase_dir="[Optional] /abs/path/to/your/code",
env_requirements="[Optional] /abs/path/to/requirements.txt",
)
Curie AutoML Feature Overview.
- Check out how Curie is able to find optimal ML soltuions in these examples from MLE-Bench.
- Sample Curie-Generated Experiment Report:
Check out more Machine Learning Use Cases here.
📚 Tutorial
🎬 Demo Video
Curie Overview & Demo.
📜 Citation
If you use Curie in a research paper, please cite our work:
@article{kon2025expbenchaiconductai,
title={EXP-Bench: Can AI Conduct AI Research Experiments?},
author={Patrick Tser Jern Kon and Jiachen Liu and Xinyi Zhu and Qiuyi Ding and Jingjia Peng and Jiarong Xing and Yibo Huang and Yiming Qiu and Jayanth Srinivasa and Myungjin Lee and Mosharaf Chowdhury and Matei Zaharia and Ang Chen},
journal={arXiv preprint 2505.24785}
year={2025},
}
@article{kon2025curie,
title={Curie: Toward rigorous and automated scientific experimentation with ai agents},
author={Kon, Patrick Tser Jern and Liu, Jiachen and Ding, Qiuyi and Qiu, Yiming and Yang, Zhenning and Huang, Yibo and Srinivasa, Jayanth and Lee, Myungjin and Chowdhury, Mosharaf and Chen, Ang},
journal={arXiv preprint arXiv:2502.16069},
year={2025}
}
Community and Support
- GitHub Issues - Report bugs or request features
- Schedule a Meeting with Us - Get help from our team
- Join our Slack Community
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file curie_ai-0.1.9.tar.gz.
File metadata
- Download URL: curie_ai-0.1.9.tar.gz
- Upload date:
- Size: 8.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfb9f85ba104ff0b0d2502bfe52457a1ae84a7137c5434b6aa4201059c291d15
|
|
| MD5 |
49f01fbb1822b995cd6248114314804d
|
|
| BLAKE2b-256 |
cdfcaf5fb795dbfe2715f82962e545c04e670c3339be8842af404dbb632c3216
|
File details
Details for the file curie_ai-0.1.9-py3-none-any.whl.
File metadata
- Download URL: curie_ai-0.1.9-py3-none-any.whl
- Upload date:
- Size: 93.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78397e1a69d67e164e4812b4524c3381eaa4ada0f6eed1b1876cd5bbc8f0af2a
|
|
| MD5 |
a5c19625562574a5a48cd5430b0df641
|
|
| BLAKE2b-256 |
d909a887956e114d76f4f5eac09a975fbf238adfade73da9251036e1c54a8c1c
|