Karpathy Loop:700次实验2天,AI自主研究的范式革命

Karpathy 没见过——因为他睡着了,而他的 AI 正在跑第 347 号实验。

你见过凌晨4点的实验室吗?

Karpathy 没见过——因为他睡着了,而他的 AI 正在跑第 347 号实验。

2026年3月,Andrej Karpathy(前 OpenAI 创始成员、前 Tesla AI 总监)开源了一个 630 行的 Python 脚本。他没有宣传新模型,没有发布新架构,只是放出了一个"让 AI 自己搞研究"的循环。

两天后,这个循环跑了 700 次实验,发现了 20 处连 Karpathy 自己都忽略的改进。训练时间缩短 11%

Shopify CEO Tobi Lutke 复制了这个流程,一夜 37 次实验,模型性能提升 19%,体积还缩小了一半。

这个被称为 "Karpathy Loop" 的东西,可能是 2026 年最具颠覆性的开源项目——不是因为它发现了什么惊天动地的算法,而是因为它重新定义了"研究"本身。


🔬 什么是 AutoResearch?一个极简循环

Karpathy 的系统简单到令人发指:

# 核心逻辑,伪代码版本
for i in range(700):
    code = read("train.py")           # 1. 读代码
    hypothesis = llm(code)            # 2. 形成假设(改什么能提升性能?)
    patch = llm(hypothesis)           # 3. 修改代码
    result = run(patch, timeout=300)  # 4. 跑5分钟训练
    if result.better_than_best:       # 5. 验证指标
        keep(patch)                   # 6a. 更好?保留
    else:
        discard(patch)                # 6b. 更差?回滚

六个步骤。没有人类干预。没有复杂的 orchestration。一个 while 循环,一个判断条件。

三个关键设计选择

为什么这个简单的循环能产生惊人的结果?Karpathy 做了三个反直觉的设计决策:

1. 固定时间预算(5分钟)

每个实验不管改什么,只跑 5 分钟。这保证了结果可直接比较——不存在"再多训一会儿可能就好了"的争论。好就是好坏就是坏,5 分钟见分晓。

2. 单文件范围(只改 train.py)

AI 只能修改训练脚本,不能碰数据管道、不能改 tokenizer、不能重构整个仓库。这个"紧狗链"设计是整个 trick 的核心——约束创造力,反而让探索更有效。

3. 人类写策略,机器执行战术(program.md)

人负责写高层指令("优化方向是什么""什么不能碰"),AI 负责执行细节("这个学习率加 0.001 试试")。Karpathy 形容这个关系:人是研究主管,AI 是整个实验室团队。


📊 结果:20处改进,11%提速

700 次实验不是随机尝试。AI 在形成假设——它读代码、看之前实验的结果、提出有逻辑的修改。

发现的 20 处改进包括:

  • 注意力机制中遗漏的标量乘数(导致注意力过度分散到多个头上)
  • 学习率调度器的微调
  • 批大小和窗口模式的组合优化
  • 权重衰减的重新校准
这些都是需要海量耐心的精细优化。人类在十几轮后就筋疲力尽了,但 AI 不会。

应用到更大的模型(depth 24),训练时间从 2.02 小时降到 1.80 小时——11% 的提速,全部由机器自主发现。


🧠 双层循环:让循环自己优化自己

Karpathy 的原始循环已经很强大了,但有一个根本限制:搜索策略是固定的。AI 基于自身的先验知识提出修改,但如果这个先验本身有偏见呢?

比如,LLM 可能有一种隐性偏见:"更大的 batch size 总是更好"。即使当前任务中小 batch 更优,它也会反复尝试增大 batch——陷入自己的思维定势。

这就是 Bilevel Autoresearch(arXiv:2603.23420)要解决的问题。

三层架构

Level 1(内层循环): 优化任务本身
    ↓ propose → train → evaluate → keep/discard
    
Level 1.5(策略调整): 每5轮调整搜索参数
    ↓ 冻结无效参数 / 解冻新区域 / 注入引导字符串
    
Level 2(外层循环): 每2个周期生成新的搜索机制
    ↓ 读代码 → 分析瓶颈 → 生成Python机制 → 运行时注入

Level 2 的魔法:4轮对话生成新机制

外层循环不是调参数,而是写代码——用 4 轮 LLM 对话生成可执行的 Python 搜索机制:

1. Explore(探索):LLM 读取 runner.py 和搜索轨迹,从相邻领域(组合优化、多臂老虎机、实验设计)调研可能的改进机制 2. Critique(批判):评估候选机制,选择最有希望的一个 3. Specify(规范):写精确的接口规范——类名、构造函数、方法签名 4. Generate(生成):写完整的 Python 代码,包括 runner.py 的修改点

生成的代码通过 importlib 动态加载验证。如果导入成功,就替换当前 runner;如果失败,回滚到备份。

生成的机制有哪些?

论文中提到的外层循环自主发现的机制包括:

  • Tabu Search(禁忌搜索):防止重复提议相同的参数组合
  • Multi-Armed Bandit(多臂老虎机):在探索新方向和利用已知好方向之间做权衡
  • Orthogonal Exploration(正交探索):强制同时改变多个独立参数,避免局部最优
这些机制不是人类指定的。外层循环自己从相邻的算法领域"借鉴"来的。

结果:5倍提升

在 Karpathy 的 GPT 预训练基准上:

配置val_bpb 改进相对提升
基线(无自适应)-0.009
Level 1.5(参数调整)-0.009(无可靠增益)~1×
Level 2(机制生成)-0.045
关键洞察:参数级调整(Level 1.5)几乎没有增益,机制级创新(Level 2)才有突破。


🎯 Loop Engineering 的四个前提条件

不是每个任务都值得建一套循环。Codila 提出了"四项全能"适用标准:

1. 任务高频:至少每周重复一次。一次性任务用个好 prompt 就够了,建循环收不回成本。 2. 验证可自动化:不需要人工读取结果、判断好坏。必须有自动化的验证器。 3. Token 预算能消化冗余:循环必然伴随大量失败实验。小预算扛不住。 4. Agent 能访问真实运行环境:不能闭着眼睛盲目迭代,必须有真实的执行和反馈。

四个条件缺一不可,否则成本远超收益。


⚠️ 隐性代价:理解债与认知让渡

Loop 不是银弹。它带来两个深层问题:

1. 理解债(Comprehension Debt)

循环生成的代码不是人工一行行敲出来的。仓库里的代码和开发者真正理解的代码差距越来越大。

"我知道它 work,但不知道为什么 work。"

一旦系统崩溃,Debug 成本极高——你要先理解 AI 写的代码,才能定位问题。

2. 认知让渡(Cognitive Delegation)

循环一旦跑通,人极易停止思考。

同样的工具,两种用法:

  • 加速理解:"我用循环验证我已经理解的假设"
  • 逃避理解:"我让循环自己跑,我不管了"
最终结果天差地别。前者是超级杠杆,后者是认知外包。


🔮 为什么这是范式革命

Karpathy Loop 的意义不在于"AI 能自动跑实验"。自动化实验早就有了(AutoML、NAS)。

它的革命性在于三个层面:

1. 从"人想机器做"到"机器想机器做"

传统 AutoML:人类设计搜索空间,机器在空间里穷举。

Karpathy Loop:机器自己读代码、形成假设、提出修改。搜索空间不是预先定义的,而是动态生成的

Karpathy 自己说:"神经架构搜索(NAS)和这个相比,完全是另一个类别——弱到无法比较。这是一个真正的 LLM 在写任意代码,从之前的实验中学习,还能访问互联网。"

2. 从"优化参数"到"优化搜索机制"

Bilevel Autoresearch 更进一步:不仅优化任务参数,还优化优化过程本身

这是元认知(meta-cognition)的雏形——系统开始思考"我是如何思考的",并改进自己的思考方式。

3. 从"研究者时间"到"验证器设计"

Karpathy Loop 让瓶颈发生了转移:

  • 以前:研究者时间是瓶颈。一天跑 3-5 个实验,小心翼翼设计每个实验。
  • 现在:验证器设计是瓶颈。一夜 100 个实验,但如果你优化错了指标,就是在加速错误方向。
"昂贵的错误不再是'我们没跑够实验',而是'我们优化错了记分牌'。"

💡 日常 Coding 能用吗?

这是很多人关心的问题。答案取决于你的"验证"能否自动化。

适合的场景

  • 有明确测试套件的代码库(测试通过/失败 = 自动验证)
  • 有明确性能指标的系统(延迟、吞吐量、内存占用)
  • 有 linter/formatter 约束的代码风格统一
不适合的场景
  • 需求模糊的探索性开发
  • 需要人类审美判断的 UI/UX 调整
  • 没有自动化测试的遗留代码
关键问题:你能不能写出一个函数,输入是代码,输出是 0-100 的分数?

如果能,你就可以 Karpathy Loop。


📝 结语

Karpathy Loop 和 Bilevel Autoresearch 揭示了一个趋势:AI 正在从"工具"变成"同事"——不是执行你命令的工具,而是有自己研究议程、能从失败中学习、能改进自己工作方式的合作伙伴。

但这也提出了一个深刻的问题:

当 AI 一天能做 700 个实验、发现 20 处你忽略的改进时,研究者的价值在哪里?

答案可能是:研究者的价值从"做实验"转移到了"设计验证器"和"提出好问题"。机器负责穷举,人类负责定义什么值得穷举。

毕竟,一个能一夜跑 700 次实验的系统,如果优化的是错误的指标,只是更快地走向错误答案。

方向永远比速度重要。而方向,仍需要人来把握。


参考资源

  • Karpathy AutoResearch: https://github.com/karpathy/autoresearch
  • Bilevel Autoresearch 论文: https://arxiv.org/abs/2603.23420
  • Bilevel Autoresearch 代码: https://github.com/EdwardOptimization/Bilevel-Autoresearch
  • Shopify CEO 实验: https://x.com/tobi/status/(相关推文)

*本文同步发布于 智柴外脑*

#KarpathyLoop #AutoResearch #BilevelAutoresearch #AI研究 #自动化实验 #LoopEngineering #小凯

👍 1

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens