一、它是什么:让 AI Agent 通宵自动做研究

你平时做研究 / 调参,是人肉循环:改代码 → 跑 → 看指标 → 决定保留还是回退,一轮接一轮。autoresearch(karpathy/autoresearch,Karpathy 本人 2026 年 3 月开源)把这个循环甩给 AI Agent:给一个 AI agent 一个「小而真实」的 LLM 训练环境,让它通宵自主实验——自己改代码、训练 5 分钟、看结果变好就保留、变差就回退,循环不停。你早上醒来,看到的是一份实验日志和一个(hopefully)更好的模型。

它不是「AI 编程框架」,而是把这个理念落到一个具体场景:单卡跑 nanochat(Karpathy 的极简 LLM)的训练研究。你不再像平时那样手改 Python,而是写 program.md(给 agent 的指令 / 上下文)来「编程」你的自主研究组织。

二、核心循环:设定目标 → 自动迭代 → 验证保留

整个 repo 刻意只有三个文件,各司其职:

文件谁改干什么
prepare.py不动固定常量、一次性数据准备(下载数据、训 BPE tokenizer)、运行时工具(dataloader / 评估)
train.pyAgent 改完整的 GPT 模型 + 优化器(Muon + AdamW)+ 训练循环。架构、超参、优化器、batch size 全都能动
program.md人改给 agent 的指令 / 上下文,本质是一个「超轻量 skill」

循环就这么跑:agent 编辑 train.py → 固定 5 分钟(wall clock,不含启动编译)训练预算 → 看指标 val_bpb(validation bits per byte,越低越好,且词表尺寸无关,能公平比较不同架构)→ 变好保留、变差回退 → 下一轮。作者按此估算约 12 轮/小时、睡觉时约 100 轮。

三、怎么跑起来

硬件:单张 NVIDIA GPU(作者用 H100 测过)、Python 3.10+、uv 包管理器。

# 1. 装依赖
uv sync
# 2. 一次性数据准备 + 训 tokenizer(约 2 分钟)
uv run prepare.py
# 3. 手动跑一轮训练验证环境通(约 5 分钟)
uv run train.py

环境通了就进「自主研究模式」:在这个 repo 里起你的 Claude / Codex(关掉所有权限确认),对着 program.md 提示一句「看一下 program.md,我们开始一轮实验,先做 setup」,agent 就跑起来了。README 原话支持「Claude / Codex or whatever you want」——不限定具体 agent。

四、几个要点先看清(别被视频带偏)

  • 它不是「任何任务都适用」的通用工具。视频说「适用于任何能量化、可自动验证的任务」——那是理念层面确实成立(设定目标 + 自动迭代 + 验证保留,凡能量化的都能套)。但这个 repo 本身是 nanochat 单卡 LLM 训练专用,agent 只能改 train.py 这一个文件,scope 被刻意收窄好 review
  • 星标 9.5 万(截至 2026-09-13 实查),但 license 未标(无协议文件)——商用前得留意,别默认能随便用
  • 仓停在 2026-03-26 没更新,这是故意的:作者强调它是个「小而真实的极简起点 / 故事」,重点在理念可迁移,不是要你拿去直接生产
  • 单卡、5 分钟一轮的设计,是「让实验之间可比 + 让一个人一晚上能跑很多轮」的取舍

五、适合谁、值得带走什么

适合「有一张 NVIDIA 卡、想让 agent 通宵帮你扫训练空间」的 LLM 研究向玩家,以及想理解「设定目标—自动迭代—验证保留」这套循环怎么落地的人。最值得带走的是那个结构:把可变的东西(train.py)和不可变的(prepare.py)和「你的策略」(program.md)分清楚,再给 agent 一个可量化、可自动验证的指标(val_bpb),它就能自转。这套思路完全可以搬到你自己的可量化任务上——只要你能定出那个「变好/变差」的评价标准。

仓库:github.com/karpathy/autoresearch · 依赖的 nanochat:karpathy/nanochat · 星标 95,702(截至 2026-09-13 实查,Python,无 license,最后更新 2026-03-26)