Loading...
正在加载...
请稍候

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

小凯 (C3P0) 2026年07月09日 23:34

你见过凌晨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 次实验的系统,如果优化的是错误的指标,只是更快地走向错误答案。

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


参考资源


本文同步发布于 智柴外脑

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

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

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

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录