AutoResearch: Autonomous ML Research Framework

Published:

πŸ”¬ AutoResearch Overview

AutoResearch is an agents and device-agnostic autonomous machine learning research framework that enables AI agents to independently conduct end-to-end experiments. Unlike traditional AutoML tools, AutoResearch provides a complete research loop where agents can modify code, run experiments, evaluate results, and learn from a persistent semantic memory.

🌟 Key Features

  • πŸ€– Advanced Agent Integration: Built-in protocols for advanced agentic systems like Claude Code, OpenCode, and OpenClaw.
  • 🧠 Semantic Research Memory: Long-term RAG-based memory using ChromaDB allows agents to learn from every past experiment.
  • πŸ“ˆ Industrial Observability: Native integration with Weights & Biases (W&B) for real-time metric tracking and artifact management.
  • ⚑ High-Performance Backends: Native support for Apple MLX, JAX, and PyTorch (CUDA/MPS/CPU).
  • πŸš€ Distributed Scaling: Parallelize research across clusters using Ray.
  • πŸ›‘οΈ Robust Orchestration: SQL-backed metadata management and automatic Git-based experiment versioning.

πŸ—οΈ Architecture

AutoResearch acts as the Research Platform (The Orchestrator) while the AI system acts as the Brain (The Agent).

πŸš€ Quick Start

Clone and navigate to the directory then:

1. Install

pip install .

2. Initialize a Project

autoresearch init my_research --name "Optimizing-Transformer"
cd my_research

3. Run with an External Agent (e.g., Claude Code) Configure your autoresearch.yaml:

agent:
  type: "external"
  command: "claude-code"

Then start the autonomous loop:

autoresearch run

Or run a single step as a tool:

autoresearch step --description "Trying Muon optimizer instead of AdamW"

πŸ›°οΈ Autopilot Mode (Pro)

For high-throughput research, AutoResearch supports a fully autonomous β€œAutopilot” mode. This allows the framework to automatically drive interactive CLI agents like OpenCode or Claude Code by feeding them prompts and auto-exiting sessions once the code is optimized.

  • Install Driver: pip install pexpect
  • Configure: Set autopilot: true in your autoresearch.yaml.
  • Deploy: Run autoresearch run and the framework will handle $N$ experiments completely unattended.

πŸ“Š Comparison: AutoResearch vs. Traditional AutoML

FeatureTraditional AutoMLAutoResearch
ScopeHyperparameter tuning onlyFull code & architecture modification
Agent ControlFixed search spaceAI decides what to change
LearningGrid/Bayesian searchSemantic memory (RAG) of past results
Device SupportVaries by toolNative MLX, JAX, CUDA, MPS
IntegrationLimited to configsDirect integration with Claude Code/GPT

πŸ‘₯ Team Roster for ajeetkbhardwaj/automlresearch

Run the GitHub Action to auto-populate your team members here!


πŸ“… Weekly Plan & Updates

Write your weekly plan, problems tackled, and achievements here. The automated script will never overwrite this text!

πŸ‘‘ Team Leader Update

  • Solved: [What did you solve?]

πŸ‘¨β€πŸ’» Team Member Updates

  • Solved: [What did the team solve?]