Skip to main content

Curie: A Research Experimentation Agent

arXiv License PyPI Slack Demo Blog

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 tmux or 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)
  • 📊 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 more Machine Learning Use Cases here.

📚 Tutorial

🎬 Demo Video

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

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Release files for curie-ai 0.1.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for curie-ai 0.1.12
File Size Uploaded
curie_ai-0.1.12.tar.gz 8.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for curie-ai 0.1.12
File Interpreter ABI Platform
curie_ai-0.1.12-py3-none-any.whl Python 3 none any Details

Total release size: 8.3 MB

Release files / curie_ai-0.1.12.tar.gz

Download URL curie_ai-0.1.12.tar.gz
Size 8.2 MB
Tags Source
SHA-256 checksum
How to use checksums
2b8495f06dcdc32cb2ad4ba2fedd81cb9eae4af9d06f9ba3d6d84b3b47fbbaec
BLAKE2b-256 checksum
How to use checksums
d8181fac3e698ee70d3163d34fc3ce333760ab59cb34a5b445ea2c57c603a3f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / curie_ai-0.1.12-py3-none-any.whl

Download URL curie_ai-0.1.12-py3-none-any.whl
Size 93.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
df21a933936e6003de2010d80ee42d165f2a25d3c6d1351ea952c59f4b4416f4
BLAKE2b-256 checksum
How to use checksums
54ffec0493050a98559748abcaf1abbe04054f05868736a4a6ca9a1e53fb5bf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.1.12 This release

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page