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