cd /news/artificial-intelligence/guide-to-loop-engineering-how-autore… · home topics artificial-intelligence article
[ARTICLE · art-56517] src=marktechpost.com ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

Guide to Loop Engineering: How ‘autoresearch’ and ‘Bilevel Autoresearch’ Turn AI Agents Into Autonomous Machine Learning ML Research Loops

Andrej Karpathy's open-source 'autoresearch' repository, released March 7, 2026, enables AI agents to autonomously run machine learning experiments, achieving an 11% training time reduction for GPT-2 after 700 experiments. The technique, called loop engineering, replaces manual prompting with automated iterative improvement using a verifier, state tracking, and stop conditions, and has been adopted by Shopify CEO Tobi Lütke for a 19% internal model improvement.

read7 min views1 publishedJul 12, 2026
Guide to Loop Engineering: How ‘autoresearch’ and ‘Bilevel Autoresearch’ Turn AI Agents Into Autonomous Machine Learning ML Research Loops
Image: MarkTechPost

Most people still use AI like a 2015 search box. You type, you read, you type again. A newer pattern replaces that manual back-and-forth with a loop. This guide explains loop engineering using two verified artifacts. The sources are Andrej Karpathy’s autoresearch repository and the

. The framing follows a write-up by

Bilevel Autoresearch

paper@0xCodila.

What is Loop Engineering?

To start, compare two modes. A prompt is one instruction, after which you decide the next step. A loop, by contrast, is a goal the model pursues until it arrives. The model plans, acts, checks its own result, then repeats. You define the objective once, and the loop handles iteration. Crucially, a loop only earns its cost when the work is measurable.

The Three Parts That Make A Loop Work

So what separates a real loop from a chatbot on repeat? Every reliable loop has three components.

  • A verifier grades each attempt. That check can be a passing test, a moving metric, or a build. Without a verifier, the agent simply agrees with itself on repeat. State records what was tried, what failed, and what remains. A small side file lets the next run resume instead of restarting.- A stop condition prevents runaway cost. The loop halts when the goal is met, or after N attempts.

The Karpathy Loop: Inside ‘autoresearch’

These three parts are not theoretical. On March 7, 2026, Karpathy released autoresearch

, an open-source repository under the MIT license. It ships three core files and about 630 lines of code. The project went viral within days and now sits near 90,000 GitHub stars. It was latter presented as the pattern “the Karpathy Loop.”

The design is deliberately small, yet strict. The agent edits only train.py

, which holds the GPT model, optimizer (Muon and AdamW), and training loop. It cannot touch the evaluation utilities in prepare.py

. That separation stops the agent from making the test easier instead of the model better. Meanwhile, a human writes program.md

, the instructions the agent must respect.

Each cycle runs one experiment. The agent reads the code, proposes a change, trains five minutes, then keeps or rolls back. The scoring metric is val_bpb

, validation bits per byte, where lower is better. That budget yields roughly 12 experiments per hour, so about 100 run overnight.

The reported outcomes are concrete. Karpathy pointed it at his already-optimized nanochat

GPT-2 training code. It ran for two days and completed about 700 experiments, keeping 20 genuine improvements. Stacked together, those fixes cut GPT-2-quality training time by 11%, from 2.02 to 1.80 hours. One finding was a QK-Norm

implementation missing a scalar multiplier, which had left attention too diffuse across heads.

Notably, humans tire after roughly a dozen experiments, whereas the loop does not. Separately, Shopify CEO Tobi Lütke ran autoresearch

overnight on an internal model. He reported a 19% improvement after 37 experiments. Karpathy’s takeaway: if you have an objective metric, you are the bottleneck.

Prompt vs Loop vs Bilevel Loop

The differences become clearer side by side.

Aspect One-shot prompt Karpathy loop (autoresearch ) Bilevel Autoresearch
You define Each step The goal, once The goal, once
Who iterates You Inner agent Inner + outer agent
Verifier You, manually prepare.py (val_bpb ) Same metric, two levels
State Chat only Experiment log Log plus injected code
Human role Engine Author of program.md Author of program.md
Reported result Varies 700 runs → 20 fixes, 11% speedup 5x larger val_bpb drop

The Five Building Blocks

Consequently, AI engineering teams now assemble working loops from five reusable pieces:

Automation fires the loop on a schedule, event, or trigger.- A skill stores project knowledge in a markdown file, read on every run. Sub-agents split the writer from the reviewer, since one model grades itself too generously.Connectors let the loop act inside real tools, like an issue tracker or Slack.- Finally, a verifier remains the gate that rejects bad work. Claude Code and Codex now ship all five.

Bilevel Autoresearch: A Loop On Top Of The Loop

Next, researchers asked a sharper question. If autoresearch is research, can you autoresearch autoresearch? The research paper

answers yes.Bilevel Autoresearch: Meta-Autoresearching Itself

The inner loop matches Karpathy’s original: propose, train, evaluate, keep or discard. The outer loop watches the inner loop and reads its code and traces. It identifies where the search itself keeps stalling. Then it writes new Python mechanisms, injects them at runtime, and reruns the inner loop.

The result held on Karpathy’s GPT pretraining benchmark. The outer loop cut val_bpb

5x more than the single loop (-0.045 vs -0.009). Notably, both loops used the same LLM, so the gain came from architecture, not a smarter model. In practice the design splits into three levels. Level 1 runs the base loop. Level 1.5 tunes search parameters every five iterations. Level 2 generates mechanisms through a four-round session. The reported experiments used an RTX 5090 32GB and a 300-second budget.

The reason is worth noting. The inner loop kept returning to the same priors, even after they stopped working. The outer loop broke those patterns by forcing unfamiliar exploration.

Use Cases With Examples

These ideas transfer well beyond pretraining. For model work, a loop searches hyperparameters until val_bpb

drops. For software, it refactors until tests, types, and the build pass. For content, it rewrites until every rubric score clears a threshold. For data, it tunes a pipeline until schema checks hold. Each case shares one trait: an automatic gate that can fail the work.

Try It Yourself: A Loop In One Prompt

Theory aside, you can feel the mechanic without Claude Code or Codex. Paste this into any capable model and watch it self-correct.

You will work in a loop until the task meets the bar.

TASK:
[describe exactly what you want produced]

SUCCESS CRITERIA (be strict):
- [criterion 1]
- [criterion 2]
- [criterion 3]

LOOP PROTOCOL, repeat every turn:
1. PLAN   - state the single next step.
2. DO     - produce or improve the work.
3. VERIFY - score the result 1-10 on each criterion. Be honest.
4. DECIDE - if every criterion is 8+, print FINAL and stop.
            Otherwise print ITERATING and fix the weakest point first.

RULES:
- Never call it done until every criterion is 8 or higher.
- Each pass must fix the weakest score from the last VERIFY.
- Do not ask questions. Make a sensible assumption and continue.
Begin.

Underneath, the control flow is small. The skeleton below shows those three parts in Python: a verifier, a decision, and two stop conditions.

current = baseline
best = evaluate(current)                 # verifier: lower val_bpb is better
for step in range(MAX_STEPS):            # stop condition 1: experiment budget
    candidate = propose_change(current)  # agent edits train.py
    score = train_and_eval(candidate)    # train 5 min, then verify
    if score < best:                     # keep only real improvements
        current, best = candidate, score # commit
    if best <= TARGET:                   # stop condition 2: goal met
        break

Both versions are limited. You are still the trigger, and closing the tab erases the state. Adding automation, a state file, and a real gate turns this into an autonomous loop.

See It Run

The interactive demo below animates one full loop: propose, train, verify, then keep or roll back. Adjust the target and step limit, and watch val_bpb

fall until the stop condition fires.

Key Takeaways

  • A loop needs three parts: a verifier, persistent state, and a stop condition. autoresearch

lets an agent edit onlytrain.py

and never the evaluator.- Karpathy’s overnight runs kept 20 fixes from 700 experiments, for an 11% speedup. Bilevel Autoresearch

adds an outer loop for a 5xval_bpb

gain.- Loops shift the work to design and review; they do not remove thinking.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @andrej karpathy 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/guide-to-loop-engine…] indexed:0 read:7min 2026-07-12 ·