WecoAI/aideml

AIDE: an LLM agent for machine learning engineering - the research Weco grew out of. Referenced in OpenAI MLE-bench.

AIDE ML – an LLM‑driven machine‑learning engineering agent

What it is – AIDE ML is an open‑source Python package that implements the AIDE algorithm described in the arXiv paper 2502.13138. The algorithm treats the creation of a machine‑learning pipeline as a tree‑search problem: each node is a Python script, an LLM proposes patches (new child nodes), the resulting code is run, its performance on a user‑specified metric is measured, and the tree is pruned according to that feedback. The process repeats until the metric is maximised (or minimised).

Key capabilities

  • Natural‑language task spec – give a dataset folder, a plain‑English goal and an evaluation metric (e.g., goal="Predict churn" eval="AUROC"). No need to write YAML configs.
  • Agentic tree search – the LLM writes, debugs and iterates on code automatically; the search is guided by the metric feedback.
  • Model‑agnostic – works with any LLM that speaks the OpenAI‑compatible API (OpenAI, Anthropic, Gemini, local Ollama models, etc.).
  • Visualization – an HTML visualiser and a Streamlit UI let you explore the solution tree and watch the best code evolve.
  • Research‑ready – the repo is deliberately lightweight so researchers can swap out search heuristics, evaluation models, or the underlying LLM.

How to get started

pip install -U aideml               # install the package
export OPENAI_API_KEY=…            # or point to a local Ollama server
# run a simple experiment
aide data_dir="example_tasks/house_prices" \
     goal="Predict the sales price for each house" \
     eval="RMSE between log‑prices"

The run creates a logs/<run-id>/ directory containing:

  • best_solution.py – the highest‑scoring script found.
  • tree_plot.html – an interactive view of the whole search tree.

Web UI – after cloning the repo, streamlit run aide/webui/app.py launches a browser interface where you can upload data, set the goal/metric, and watch the agent run live.

Advanced usage – CLI flags let you change the coding model (agent.code.model), number of iterations (agent.steps), or number of drafts per step (agent.search.num_drafts). You can also run everything inside Docker or fully locally by pointing OPENAI_BASE_URL to an Ollama endpoint.

Who should use it

  • Researchers exploring new agent architectures, search strategies, or evaluation pipelines.
  • ML engineers who want a quick way to prototype a high‑performing model for a new dataset without hand‑crafting the code.

Related work – The README lists several recent papers that build on or benchmark AIDE (e.g., OpenAI’s MLE‑Bench, Meta’s LLM Speedrunning benchmark). These citations show that the algorithm is already being used as a baseline in frontier ML‑agent research.

Citation – If you publish results obtained with AIDE ML, cite the accompanying arXiv paper (see the README for the BibTeX entry).


All information above is taken directly from the repository’s README; no additional claims have been added.

Related

  • Project
  • Project
  • Project
  • Project
  • Project