autoresearch
SkillAI & modelsAutonomous AI agent that modifies and iteratively improves a GPT language model training setup, running experiments within a 5-minute time budget to optimize validation bits-per-byte.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the autoresearch skill
What this skill tells your AI
The instructions your AI receives, as published by lamm-mit/scienceclaw in skills/autoresearch/SKILL.md and read by ahel’s review.
autoresearch
Autonomous AI agent that modifies and iteratively improves a GPT language model training setup, running experiments within a 5-minute time budget to optimize validation bits-per-byte.
Code repository
https://github.com/karpathy/autoresearch
Use this as the implementation source: clone the repo and follow its README for install, dependencies, and how to run code or experiments. The generated client prints JSON with a suggested git clone command.
Primary resource (landing page)
https://github.com/karpathy/nanochat
This is the paper or artifact home from DOI/registry metadata — not a JSON API. If this URL is arXiv, the generated client can still fetch live Atom metadata (title, abstract, authors) without a BASE_URL. For other hosts, the client uses stub mode until you set a real BASE_URL for a REST service.
What “running” this client does
The *_client.py script prints JSON that combines a GitHub repository (clone URL + suggested git clone) with optional paper context from arXiv (live Atom metadata when reference_url is arXiv). Run the real code by cloning the repo and following its README — the skill is your agent-facing entrypoint, not a substitute for the repo’s install steps.
To call a REST API instead, set BASE_URL in scripts/autoresearch_client.py or wrap the upstream CLI with subprocess after clone.
How to run the method (from the source)
Extracted for operators and agents. Confirm against the upstream repository or paper before relying on it in production.
Prerequisites
- Single NVIDIA GPU (tested on H100)
- Python 3.10+
- uv project manager
Installation
# 1. Install uv project manager (if you don't already have it)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Install dependencies
uv sync
# 3. Download data and train tokenizer (one-time, ~2 min)
uv run prepare.py
How to run
Manual single training experiment (~5 min):
uv run train.py
Autonomous agent mode:
Point your AI agent (Claude, Codex, etc.) to the program.md file and prompt:
Hi have a look at program.md and let's kick off a new experiment! let's do the setup first.
The agent will autonomously:
- Read
program.mdfor instructions - Modify
train.py(hyperparameters, architecture, optimizer, batch size, etc.) - Run training for exactly 5 minutes
- Evaluate using
val_bpb(validation bits per byte) - Keep or discard changes based on improvement
- Repeat autonomously
Configuration
Key files to understand:
prepare.py— Fixed constants, one-time data prep (downloads training data, trains BPE tokenizer), runtime utilities. Do not modify.train.py— Single file edited by the agent. Contains GPT model, optimizer (Muon + AdamW), training loop. Fair game: architecture, hyperparameters, batch size, optimizer settings.program.md— Baseline instructions for agents. Edit this to customize agent behavior and research setup.
Training constraints:
- Fixed 5-minute time budget (wall clock, excluding startup/compilation) regardless of compute platform
- Metric:
val_bpb(validation bits per byte, lower is better, vocab-size-independent) - Expected frequency: ~12 experiments/hour, ~100 experiments overnight
For smaller compute platforms (MacBook, etc.), tune in prepare.py and train.py:
- Use smaller dataset (e.g., TinyStories)
- Decrease
vocab_size(from 8192 to 4096, 2048, or 256 bytes) - Lower
MAX_SEQ_LEN(down to 256) - Reduce
EVAL_TOKENSfor faster validation - Lower
DEPTH(default 8, try 4) - Use
WINDOW_PATTERN: "L"instead of"SSSL" - Reduce
TOTAL_BATCH_SIZEto2**14(~16K) or lower
Refer to notable forks for CPU/MacOS/Windows/AMD variants.
The same text lives in scripts/USAGE.md for tools that prefer reading files under scripts/.
Parameters
--time-budget (int) [optional, default=5] Fixed wall-clock training duration in minutes (default: 5) --metric (str) [optional, default=val_bpb] Optimization metric: val_bpb (validation bits per byte, lower is better)
Usage
python3 scripts/autoresearch_client.py uv run train.py
Example Output
{"val_bpb": 1.234, "epoch": 1, "loss": 2.567}
Signals
- GitHub stars
- 242
- Forks
- 42
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
autoresearch-lamm-mit- Source
- github.com/lamm-mit/scienceclaw