Autoresearch 项目深度解析
项目地址 : https://github.com/karpathy/autoresearch
作者 : Andrej Karpathy(前 Tesla AI 总监、OpenAI 创始成员、Stanford PhD)
发布时间 : 2026 年 3 月
开源协议: MIT License
一、执行摘要
autoresearch 是 Andrej Karpathy 于 2026 年 3 月发布的自主 AI 科研 Agent 实验框架。其核心理念是:
把一个真实的 LLM 训练环境交给 AI Agent,让它在你睡觉时自主做实验------修改代码、跑训练、评估结果、保留改进、丢弃失败,周而复始,而你只需要早上来看实验日志和(期望中)更好的模型。
核心数字 :在首轮端到端测试中,Agent 自主运行了约 700 次编辑实验,最终从中筛选出约 20 个有效改进,将 nanochat 在 8×H100 GPU 上复现 GPT-2 水平的训练时间从 2.02 小时压缩至 1.80 小时(缩短约 11%),且整个过程无需人工干预。
Karpathy 在开篇写道:
"One day, frontier AI research used to be done by meat computers in between eating, sleeping, having other fun... That era is long gone. This repo is the story of how it all began."
------ @karpathy, March 2026
二、背景与作者
2.1 作者简介
Andrej Karpathy 是当代 AI 领域最具影响力的工程师兼研究者之一:
- Tesla AI 前总监,主导了 Autopilot 神经网络团队
- OpenAI 创始成员,深度参与 GPT-2/GPT-3 早期研究
- Stanford 计算机视觉 PhD(李飞飞门下)
- 教育贡献:制作了 YouTube 上最受欢迎的深度学习课程(nanoGPT 系列)
- 最新身份:Eureka Labs 创始人,专注 AI 驱动的教育
2.2 项目谱系
autoresearch 是 Karpathy 长期维护的 nanochat 生态的延伸:
Karpathy AI 工程作品谱系
├── nanoGPT (2022) → 极简 GPT 复现,教学向
├── nanochat (2025) → 单节点高效 LLM 训练(nanochat)
│ └── 多 GPU H100 支持 → 2025年底 GPT-2 水平 2.02h
└── autoresearch (2026) → 在 nanochat 基础上加 AI Agent 自动实验
└── 首轮结果 → 2.02h → 1.80h(-11%)
2.3 发布动机
Karpathy 公开声明,autoresearch 的发布是基于以下判断:
- Agent 化科研是大势所趋:所有主要 LLM 前沿实验室都将采用类似的 Agent 群体系统进行模型调优
- 最小化验证思想:用最小的代码包(3 个文件)验证"Agent 自主科研"这一想法是否可行
- 教育与传播:让研究者和工程师理解自主科研 Agent 的运作原理
三、项目核心设计哲学
3.1 三大设计原则
原则一:单文件可编辑
Agent 只能修改 train.py 一个文件,保持范围可控、diff 可读。
原则二:固定时间预算
每次训练固定运行 5 分钟墙钟时间(不计启动/编译),与 Agent 做的任何改动无关。
- 每小时约可运行 12 次实验
- 睡一觉(约 8 小时)约可运行 ~100 次实验
- 所有实验结果在同一时间预算下直接可比
原则三:统一评估指标
唯一的优化目标是 val_bpb(validation bits per byte,验证集比特每字节):
- 数值越低越好
- 与词表大小无关 → 模型架构变化(包括词表大小调整)仍可公平比较
- 不依赖于下游任务,是信息论意义上的语言建模质量度量
3.2 "编程 Markdown 而非 Python"的范式转变
项目最核心的理念颠覆:
传统科研方式 :研究者亲自修改 Python 代码 → 跑实验 → 分析结果
autoresearch 方式 :研究者编写program.md(Markdown 指令)→ Agent 自动修改 Python 代码 → Agent 自动跑实验 → Agent 自动分析结果
program.md本质上是一个超轻量级 Skill 文件 ------研究者通过它来编程 Agent 的"研究组织文化",而不是直接编写实验代码。
四、项目文件结构与各组件详解
autoresearch/
├── prepare.py ← 固定不变,一次性数据准备 + 运行时工具
├── train.py ← Agent 唯一可修改的文件(模型 + 优化器 + 训练循环)
├── program.md ← 人类唯一维护的文件(Agent 研究指令)
└── pyproject.toml ← 依赖声明
4.1 prepare.py:固定基础设施
职责 :一次性数据准备 + 运行时工具函数,不允许被 Agent 修改。
包含内容:
- 固定常量 :最大序列长度
MAX_SEQ_LEN、词表大小vocab_size等全局参数 - 数据准备:下载 Fineweb 训练数据集,训练 BPE(字节对编码)分词器
- DataLoader:训练和验证数据的迭代器实现
- Evaluation 函数 :计算
val_bpb(验证集比特每字节)的标准实现
设计意图:
prepare.py是实验的"公正地板"------无论 Agent 对train.py做什么改动,评估函数始终保持一致,确保结果可比。
4.2 train.py:Agent 的实验沙盒
职责 :完整的 GPT 模型实现 + 优化器 + 训练循环,Agent 可以修改任何部分。
初始默认实现包含:
| 组件 | 默认实现 | Agent 可探索的变体 |
|---|---|---|
| 模型架构 | Transformer(Depth=8,Heads=8) | DEPTH 调整、MoE、稀疏注意力、LayerNorm 位置 |
| 注意力机制 | SSSL(全局+滑动窗口混合)WINDOW_PATTERN |
纯全局、Flash Attention 变体、局部感受野 |
| 优化器 | Muon + AdamW 混合 | 纯 AdamW、调整 beta 参数、权重衰减 schedules |
| 批大小 | TOTAL_BATCH_SIZE = 2^18(~262K tokens) |
梯度累积调整、micro-batch 比例 |
| 学习率调度 | 余弦退火 | WSD、线性 warm-up、循环 cosine |
| 正则化 | 默认 weight decay | Dropout、Value 嵌入正则化 |
| 数值技巧 | bf16 混合精度 | QKnorm、RMS 初始化缩放 |
4.3 program.md:研究者的"组织章程"
职责 :给 Agent 的高层研究指令,由人类迭代优化。
这是整个项目中最具创意的部分------program.md 决定了 Agent "研究文化"的质量:
典型内容结构:
md
# Research Program
## Goal
Minimize val_bpb on the validation set within a 5-minute training budget.
## Experiment Protocol
1. Before modifying train.py, read it carefully to understand current state
2. Propose one specific, targeted hypothesis to test
3. Make the minimal code change to test the hypothesis
4. Run: uv run train.py
5. Compare val_bpb to the baseline stored in BASELINE.txt
6. If improved: commit with descriptive message, update BASELINE.txt
7. If regressed: git revert, log the failed experiment in FAILED.md
8. Continue to the next experiment
## Current Baseline
val_bpb: [X.XXX] (as of last successful experiment)
## Explored Directions
- [x] [description of tried approach + result]
- [ ] [direction to explore next]
## Off-Limits
- Do not modify prepare.py
- Do not change MAX_SEQ_LEN or vocab_size (breaks comparability)
- Training must run for exactly 5 minutes
program.md** 的演化是研究者的核心工作**:
- 记录已探索方向 → 避免 Agent 重复实验
- 更新 Baseline → 让 Agent 知道当前最优水平
- 添加研究假设 → 引导 Agent 重点探索某个方向
- 记录失败实验 → 防止 Agent 走回头路
五、Agent 工作循环详解
5.1 核心实验循环
┌──────────────────────────────────────────────────────────┐
│ autoresearch 核心循环 │
└──────────────────────────────────────────────────────────┘
╔═════════════════════════════════════════════╗
║ 研究者(人类) ║
║ • 初始化 program.md ║
║ • 设置环境 + 运行 Agent ║
║ • 早上查看实验日志 ║
╚══════════════════╦══════════════════════════╝
│ 一次性启动
▼
╔═════════════════════════════════════════════╗
║ AI Agent(无人值守运行) ║
║ ║
║ ① 读取 program.md + train.py ║
║ │ ║
║ ▼ ║
║ ② 提出实验假设 ║
║ "增加 QKNorm 的 scale 参数..." ║
║ │ ║
║ ▼ ║
║ ③ 最小化修改 train.py ║
║ │ ║
║ ▼ ║
║ ④ 执行: uv run train.py ║
║ (固定 5 分钟时间预算) ║
║ │ ║
║ ▼ ║
║ ⑤ 读取输出的 val_bpb ║
║ │ ║
║ ┌────┴──────────────┐ ║
║ │ 改进了? │ 没改进? ║
║ ▼ ▼ ║
║ ⑥a 保留 ⑥b 回退 ║
║ git commit git revert ║
║ 更新 BASELINE.txt 记录 FAILED.md ║
║ │ │ ║
║ └────────┬──────────┘ ║
║ │ ║
║ ▼ ║
║ ⑦ 更新 program.md(探索记录) ║
║ │ ║
║ └──────── 循环 ① ║
╚═════════════════════════════════════════════╝
│ 早上研究者醒来
▼
╔═════════════════════════════════════════════╗
║ 查看实验日志、提交历史、val_bpb 趋势图 ║
╚═════════════════════════════════════════════╝
5.2 一次实验的时间线
0:00 Agent 读取 program.md + train.py(30秒 ~ 2分钟)
│
▼
0:02 Agent 提出假设并修改 train.py
│
▼
0:03 uv run train.py 开始
│ - JIT 编译 (~1-2分钟启动开销,不计入5分钟预算)
│ - 训练循环运行 5 分钟(墙钟时间)
│ - 输出最终 val_bpb
▼
0:10 Agent 读取输出,判断是否改进
│
├── 改进 → git commit + 更新 baseline
│
└── 失败 → git revert + 记录失败
│
▼
0:12 进入下一轮循环
换算 :每轮约 12 分钟 → 每小时约 5 次完整实验 ,过夜 8 小时约 40~100 次实验(取决于 Agent 读取分析时间)。
5.3 如何启动 Agent
bash
# 1. 安装 uv 项目管理器
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. 安装依赖
uv sync
# 3. 一次性数据准备(约2分钟)
uv run prepare.py
# 4. 验证环境(单次手动训练~5分钟)
uv run train.py
# 5. 进入自主研究模式
# 在该仓库目录下启动 Claude Code / Codex
# 并禁用所有权限确认(关键!让 Agent 无障碍运行)
# 给 Agent 的启动提示:
# "Hi, have a look at program.md and let's kick off a new experiment! let's do the setup first."
关键设置:
- ✅ 需要关闭 Agent 的权限确认提示(否则 Agent 在你睡觉时会卡住等待确认)
- ✅ 推荐使用 Claude Code 或 Codex CLI 并配合
--dangerously-skip-permissions或类似参数
六、首轮实验结果与代码优化
6.1 规模与成果
| 指标 | 数据 |
|---|---|
| 实验总轮次 | ~700 次编辑,最终提取约 20 个有效改进 |
| 采纳改进数 | ~20 个可迁移改进(从 depth-12 模型迁移至 depth-24) |
| 最终效果 | nanochat 复现 GPT-2 水平:2.02h → 1.80h(-11%) |
| 测试硬件 | 8× NVIDIA H100 |
| 验证指标 | val_bpb(验证集比特每字节) |
6.2 Agent 发现的关键优化(已合并至 commit 6ed7d1d)
Agent 自主发现的有效改进涵盖多个维度:
| 优化方向 | 具体内容 | 效果描述 |
|---|---|---|
| 注意力机制 | 为无参数 QKNorm 添加 scale 参数,锐化注意力 | 显著改进 val_bpb |
| 正则化 | 对 Value Embeddings 应用正则化 | 减少过拟合 |
| 注意力窗口 | 增大 banded attention 窗口宽度 | 更好的长距离依赖捕获 |
| 优化器调参 | 修正 AdamW 的 beta 参数设置 | 更稳定的训练动态 |
| 权重衰减 | 调整 weight decay schedules | 改善泛化 |
| 初始化 | 优化参数初始化方案 | 更快收敛 |
6.3 Karpathy 的公开评论(Twitter, 2026-03-09)
"About 20 additive changes from the autoresearch run transferred from depth-12 to depth-24 model, reducing Time to GPT-2 from 2.02 hours to 1.80 hours (~11% improvement)."
"The agent swarm approach --- using small proxy models to discover improvements that scale to larger models --- is likely how all frontier labs will operate."
七、可扩展性设计
7.1 小显存 / 非 H100 环境适配
仓库 README 明确给出了在小型计算平台(MacBook 等)运行的调优建议:
| 调整项 | 建议方向 | 原因 |
|---|---|---|
| 数据集 | 换用 TinyStories(更低熵数据) | 小模型更容易在窄数据上取得合理结果 |
| 词表大小 | 从 8192 降至 1024 甚至 256(字节级) | 减少 embedding 矩阵大小 |
| 序列长度 | MAX_SEQ_LEN 从默认降至 256 |
线性减少内存占用 |
| 批大小 | DEVICE_BATCH_SIZE 适当增大以补偿短序列 |
保持每步 token 总量 |
| 验证数据 | 降低 EVAL_TOKENS |
加速评估循环 |
| 模型深度 | DEPTH 从 8 降至 4 |
最有效的模型复杂度控制旋钮 |
| 注意力模式 | WINDOW_PATTERN 改为 "L"(纯局部) |
避免低效的混合注意力模式 |
| 总批大小 | TOTAL_BATCH_SIZE 降至 2**14(~16K) |
减少显存需求 |
7.2 社区 Fork 生态
| Fork 仓库 | 适用平台 | 关键改动 |
|---|---|---|
miolini/autoresearch-macos |
macOS (Apple Silicon) | MPS 后端支持 |
trevin-creator/autoresearch-mlx |
macOS (MLX 框架) | Apple MLX 加速 |
jsegov/autoresearch-win-rtx |
Windows RTX GPU | Windows CUDA 适配 |
andyluo7/autoresearch |
AMD GPU | ROCm 支持 |
7.3 多 Agent 并行(Karpathy 规划中)
Karpathy 在 Twitter 中明确表示:
-
下一步 :将当前单 Agent 串行循环扩展为多 Agent 并行
-
原理:多个 Agent 同时在不同假设方向上做实验,互相共享有效发现
-
类比:类似分布式强化学习中的多 Worker 并行采样
未来多 Agent 架构(概念图)
┌─────────────────────────────────────────────────────────┐
│ Orchestrator Agent │
│ 维护 program.md,分配实验方向,汇总结果 │
└──────┬──────────────┬──────────────┬────────────────────┘
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Worker 1 │ │ Worker 2 │ │ Worker 3 │
│探索注意力 │ │探索优化器 │ │探索架构 │
│ 机制 │ │ 参数 │ │ 变体 │
└──────────┘ └──────────┘ └──────────┘
│ │ │
└──────────────┼──────────────┘
▼
有效改进合并到主干
八、技术架构深度解析
8.1 train.py 默认架构
autoresearch 的 train.py 初始实现了一个带有以下特性的 GPT 模型:
┌───────────────────────────────────────────────────────────┐
│ nanochat GPT 默认架构(DEPTH=8) │
├───────────────────────────────────────────────────────────┤
│ Token Embedding + Positional Encoding │
│ ───────────────────────────────────────────────────── │
│ Transformer Block × 8 (DEPTH=8): │
│ │ ┌──────────────────────────────────────────────────┐ │
│ │ │ LayerNorm │ │
│ │ │ Multi-Head Attention(SSSL 混合窗口模式) │ │
│ │ │ ├── 全局注意力头(S) │ │
│ │ │ └── 滑动窗口局部注意力头(L) │ │
│ │ │ Residual │ │
│ │ │ LayerNorm │ │
│ │ │ SwiGLU FFN(4× 扩展) │ │
│ │ │ Residual │ │
│ │ └──────────────────────────────────────────────────┘ │
│ ───────────────────────────────────────────────────── │
│ LayerNorm │
│ Linear Projection → vocab_size Logits │
└───────────────────────────────────────────────────────────┘
优化器: Muon(主体参数)+ AdamW(嵌入层 / LN 参数)
精度: bfloat16 混合精度
编译: torch.compile(XLA-style 静态图加速)
8.2 WINDOW_PATTERN 注意力模式
train.py 中的 WINDOW_PATTERN 参数控制每个 Transformer 层的注意力类型:
| 模式 | 含义 | 适用场景 |
|---|---|---|
"SSSL" |
1个全局 + 1个滑动窗口交替 | 默认,H100 优化 |
"L" |
纯局部滑动窗口 | 小内存设备(MacBook 等) |
"S" |
纯全局注意力 | 验证 baseline |
8.3 评估指标:val_bpb 详解
val_bpb = negative log-likelihood (nats) 字节数 × ln ( 2 ) \text{val\_bpb} = \frac{\text{negative log-likelihood (nats)}}{\text{字节数} \times \ln(2)} val_bpb=字节数×ln(2)negative log-likelihood (nats)
为什么选 bpb 而非困惑度(Perplexity)?
| 指标 | 问题 | val_bpb 的优势 |
|---|---|---|
| 困惑度(PPL) | 依赖词表大小,改变 tokenizer 就无法比较 | 词表无关,字节级归一化 |
| 交叉熵 loss | 同上 | 同上 |
| 准确率 | 不反映模型信心 | 信息论意义上的压缩质量 |
九、实验日志分析:Agent 的研究过程
9.1 一轮实验的日志结构
[Experiment #42]
Hypothesis: QKNorm without learnable scale may be under-constraining.
Adding a per-head scale parameter might help attention focus.
Change: train.py line 87-92
- self.q_norm = RMSNorm(head_dim, eps=1e-5)
- self.k_norm = RMSNorm(head_dim, eps=1e-5)
+ self.q_norm = RMSNorm(head_dim, eps=1e-5, scale=True)
+ self.k_norm = RMSNorm(head_dim, eps=1e-5, scale=True)
Training output:
step 1000/5376, loss: 3.241, val_bpb: ---
step 2000/5376, loss: 2.891, val_bpb: ---
step 5376/5376, loss: 2.156, val_bpb: 1.0847
Baseline val_bpb: 1.0921
Delta: -0.0074 ✅ IMPROVEMENT
Action: git commit "feat: add learnable scale to QKNorm (+0.68% val_bpb)"
Updated BASELINE.txt: 1.0847
9.2 首轮实验统计(来自 Karpathy 公开数据)
实验分布(约83次实验样本):
val_bpb 变化分布:
│ × × ×
│× × × × × ×
│× × × × × × × × ×
│× × × × × × × × × × × × ← 多数实验小幅波动
│× × × × × × × × × × × × × × ×
│───────────────────────────────
│<-0.02 -0.01 0.00 +0.01 +0.02>
│改进 ← 中性 → 退化
保留实验:15/83(~18%),平均提升约 0.002 val_bpb/次
十、与数字员工/AI 科研系统的关联价值
10.1 autoresearch 的范式意义
autoresearch 是**"AI Agent 做 AI 科研"**这一方向的最小化验证:
传统机器学习研究范式:
研究者(人) → 假设 → 实验设计 → 编码 → 运行 → 分析 → 论文
↑_________周期:数天至数周__________↑
autoresearch 范式:
研究者(人) → program.md 编写 → Agent 自主循环
每轮:~12分钟
过夜:~100次实验
↑____________人类介入频率:每天一次__________↑
10.2 核心技术映射
| autoresearch 组件 | 通用 AI 系统对应 |
|---|---|
program.md |
SKILL.md / 系统提示词 / Agent 章程 |
train.py |
Agent 的工作对象(可修改的目标系统) |
prepare.py |
固定基础设施(不可修改的环境层) |
val_bpb |
任务完成度的量化指标 |
git commit/revert |
Agent 的行为记录与回滚机制 |
| 5分钟时间预算 | 资源配额约束 |
| 固定评估函数 | 客观评估 Agent(避免 Goodhart's Law) |
10.3 对数字员工系统的启示
autoresearch 验证的关键原则,可直接应用于更广泛的数字员工系统设计:
① 明确且可量化的单一指标
val_bpb 的设计思路 → 每个数字员工任务都应有客观可测的"完成度指标",避免模糊的"做好了"判断
② 最小可编辑边界
只允许改train.py→ 数字员工的"编辑权限"应明确划定,防止超出范围的意外修改
③ 固定资源预算实验
5分钟时间预算 → 给 Agent 设置明确的资源上限(时间、Token、API 调用次数),实验结果才有可比性
④ Git 作为行为记录与回滚机制
改进则 commit,失败则 revert → 任何 Agent 的操作都应可追踪、可回滚
⑤program.md迭代优化
人类的核心工作是优化 Agent 的"研究文化" → 数字员工的价值上限取决于 SKILL.md/系统提示词的质量
十一、行业影响与展望
11.1 Karpathy 的宏观预判
Karpathy 明确表达了以下观点:
- 前沿实验室必采:所有主要 LLM 实验室都将在内部使用类似的 Agent 群体系统进行模型调优
- 研究民主化:小团队通过 autoresearch 可以进行以前需要大团队才能完成的实验规模
- 代理指标迁移:在小代理模型上发现的改进可以迁移到更大模型,极大降低探索成本
11.2 行业数据佐证
| 来源 | 预测/数据 |
|---|---|
| Gartner (2024) | 2027 年前,40% 的 AI 研究将由 Agent 驱动 |
| McKinsey | 自动化 ML 工具使开发周期效率提升约 20% |
| 本项目数据 | 首轮实验:-11% 训练时长,无需人工干预 |
11.3 商业化方向
autoresearch 概念的产业化路径:
学术验证(autoresearch)
│
▼
┌────────────────────────────────────────────────────┐
│ 商业化机会 │
├─────────────────┬──────────────────────────────────┤
│ MLOps 平台 │ 自动超参数调优即服务 │
│ │ (类似 AutoML 但 Agent 驱动) │
├─────────────────┼──────────────────────────────────┤
│ 基础设施层 │ 面向训练流水线的 Agentic MLOps │
│ │ 代替人工的模型训练优化服务 │
├─────────────────┼──────────────────────────────────┤
│ 大模型厂商 │ 小代理模型探索 → 大模型应用 │
│ │ 降低前沿模型研发成本 │
└─────────────────┴──────────────────────────────────┘
十二、快速上手指南
12.1 环境要求
| 要求 | 最低配置 | 推荐配置 |
|---|---|---|
| GPU | 任意 NVIDIA GPU(有社区 fork 支持 AMD/Mac) | NVIDIA H100 |
| Python | 3.10+ | 3.11 |
| 包管理 | uv | uv(强烈推荐) |
| 磁盘 | ~10GB(训练数据) | 50GB+ |
| 网络 | 首次需下载 Fineweb 数据集 | --- |
12.2 完整启动流程
bash
# Step 1: 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Step 2: 克隆仓库
git clone https://github.com/karpathy/autoresearch.git
cd autoresearch
# Step 3: 安装依赖
uv sync
# Step 4: 一次性数据准备(约 2 分钟)
# 下载 Fineweb 数据集 + 训练 BPE tokenizer
uv run prepare.py
# Step 5: 验证环境(手动跑一次训练,约 5 分钟)
uv run train.py
# 预期输出末尾: val_bpb: X.XXXX
# Step 6: 记录初始 baseline
echo "val_bpb: X.XXXX" > BASELINE.txt
# Step 7: 进入自主研究模式
# 在当前目录启动 Claude Code(关闭权限确认):
claude --dangerously-skip-permissions
# 或启动 Codex CLI(关闭权限确认):
codex --full-auto
# 给 Agent 的启动 Prompt:
# "Hi, have a look at program.md and let's kick off a new experiment! let's do the setup first."
12.3 研究者的日常工作流
每天(或每隔几小时):
┌─────────────────────────────────────────────────────┐
│ 1. 查看 git log(Agent 提交了什么?) │
│ git log --oneline -20 │
│ │
│ 2. 查看 val_bpb 趋势(BASELINE.txt / 实验日志) │
│ │
│ 3. 查看失败实验记录(FAILED.md) │
│ │
│ 4. 更新 program.md: │
│ • 标记已探索方向 │
│ • 添加新假设方向 │
│ • 调整探索策略 │
│ │
│ 5. 继续让 Agent 跑,或重启 Agent │
└─────────────────────────────────────────────────────┘
十三、总结
13.1 项目贡献摘要
| 维度 | 贡献 |
|---|---|
| 方法论 | 验证了"AI 做 AI 科研"的基本可行性 |
| 工程 | 提供了最小化可运行的 Agent 科研框架(3 文件,MIT) |
| 结果 | 首轮 -11% 训练时长,来自 ~700 次自主实验 |
| 思想 | 将科研主导权从"写 Python"转移到"写 Markdown" |
| 社区 | 激发了 4 个社区 fork 适配不同平台 |
13.2 局限性
- 当前仅支持 NVIDIA GPU(官方)
- 单一评估指标(val_bpb)可能导致 Goodhart's Law 效应
- Agent 的实验方向仍依赖 program.md 的质量上限
- 不适合需要多节点分布式训练的大型实验
13.3 一句话评价
autoresearch 是 Karpathy 用 3 个文件、1 块 GPU 和 1 个 Agent,展示了 AI 科研自动化的最小可行形态。它不是终点,而是起点------一个用最简洁的方式提出了"未来所有 AI 实验室都会长什么样"这个问题的开创性实验。
参考资料
| 资源 | 链接 |
|---|---|
| GitHub 主仓库 | https://github.com/karpathy/autoresearch |
| Karpathy 原推(发布说明) | https://x.com/karpathy/status/2029701092347630069 |
| Karpathy 结果推文 | https://x.com/karpathy/status/2031135152349524125 |
| nanochat 基础仓库 | https://github.com/karpathy/nanochat |
| macOS fork | https://github.com/miolini/autoresearch-macos |
| Windows RTX fork | https://github.com/jsegov/autoresearch-win-rtx |
| AMD fork | https://github.com/andyluo7/autoresearch |
| MLX fork | https://github.com/trevin-creator/autoresearch-mlx |
| Blockchain.news 分析 | https://blockchain.news/ainews/karpathy-s-autoresearch-boosts-nanochat-training-11-faster |
| DataCamp 指南 | https://www.datacamp.com/tutorial/guide-to-autoresearch |