Skip to main content

A package for scientific research experimentation agent

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

curie_ai-0.1.12.tar.gz (8.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

curie_ai-0.1.12-py3-none-any.whl (93.5 kB view details)

Uploaded Python 3

File details

Details for the file curie_ai-0.1.12.tar.gz.

File metadata

  • Download URL: curie_ai-0.1.12.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

Hashes for curie_ai-0.1.12.tar.gz
Algorithm Hash digest
SHA256 2b8495f06dcdc32cb2ad4ba2fedd81cb9eae4af9d06f9ba3d6d84b3b47fbbaec
MD5 ab7b879dff3b45bd095b09c6ae4da226
BLAKE2b-256 d8181fac3e698ee70d3163d34fc3ce333760ab59cb34a5b445ea2c57c603a3f1

See more details on using hashes here.

File details

Details for the file curie_ai-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: curie_ai-0.1.12-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

Hashes for curie_ai-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 df21a933936e6003de2010d80ee42d165f2a25d3c6d1351ea952c59f4b4416f4
MD5 e9a45363b4759824e1087c6bcf49c5e5
BLAKE2b-256 54ffec0493050a98559748abcaf1abbe04054f05868736a4a6ca9a1e53fb5bf7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page