AIDE ML is a machine-learning engineering agent: you point it at a dataset and describe the goal and the evaluation metric in plain language, and it drafts, debugs and benchmarks code until that metric is maximized or minimized. It is the open-source reference implementation of the AIDE algorithm, packaged as a Python library with a command-line interface, an HTML visualizer, a Streamlit interface and configuration presets, for researchers extending the search and for practitioners building a pipeline on a dataset.
The search runs over a solution tree. Each Python script is a node, model-generated patches spawn children, and metric feedback prunes and guides the search. A finished run leaves the best script and a clickable tree plot in its log directory, so every node and the code attached to it can be inspected. On MLE-Bench, a 75-competition Kaggle benchmark from OpenAI, the tree search is reported to win four times more medals than OpenHands, the strongest linear agent measured.
Plumbing is model-neutral: OpenAI, Anthropic and Gemini models, or any local model that speaks the OpenAI API, including a fully local configuration where both the coding model and the evaluator run on a local endpoint. The agent is also callable from Python through an Experiment object, and runs in a container image.
Work built on the algorithm includes MLE-bench (OpenAI), RE-Bench (METR), The AI Scientist-v2 (Sakana AI), the Automated LLM Speedrunning Benchmark and aira-dojo (Meta), and ML-Master (SJTU).
Features
- Natural-language task specification: a data directory plus a goal and a metric described in prose, with no search grid or wrapper to write
- Agentic tree search: scripts are nodes, patches are children, and measured metrics prune and steer the exploration
- Run artifacts: the best solution script and an interactive tree plot are written to a per-run log directory
- Streamlit interface: upload data, set goal and metric, and watch live logs, the solution tree and the best code
- Model choice: the coding model, the feedback model, step count and drafts per step are set by flag; defaults are 20 steps and 5 drafts per step
- Local models: pointing the OpenAI base URL at a local server runs the coding model, or both coding and evaluation, without external calls
- Python API: an Experiment is constructed with data directory, goal and metric, then run for a number of steps
- Containers: an image runs the agent with logs, workspaces and data mounted from the host

