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.9.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.9-py3-none-any.whl (93.5 kB view details)

Uploaded Python 3

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

Hashes for curie_ai-0.1.9.tar.gz
Algorithm Hash digest
SHA256 cfb9f85ba104ff0b0d2502bfe52457a1ae84a7137c5434b6aa4201059c291d15
MD5 49f01fbb1822b995cd6248114314804d
BLAKE2b-256 cdfcaf5fb795dbfe2715f82962e545c04e670c3339be8842af404dbb632c3216

See more details on using hashes here.

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

Hashes for curie_ai-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 78397e1a69d67e164e4812b4524c3381eaa4ada0f6eed1b1876cd5bbc8f0af2a
MD5 a5c19625562574a5a48cd5430b0df641
BLAKE2b-256 d909a887956e114d76f4f5eac09a975fbf238adfade73da9251036e1c54a8c1c

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