Karpathy开源autoresearch:630行代码实现AI自主科研进化
AI领域知名研究者Karpathy近日开源新项目 autoresearch,这是一个能够自主进化的AI科研循环系统。其核心目标是让智能体完全自主地进行科研探索:用户只需在Markdown文档中设定研究指令,后续的代码修改、实验运行、结果评估与决策优化等流程将全部由AI自动完成。

该项目框架极为精简,核心代码仅630行,且单个GPU即可运行。系统以约5分钟为一轮实验周期,在每轮结束后自动根据验证结果决定保留或丢弃代码改动,实现不间断的自我迭代与优化。
Karpathy进一步展望,未来有望让成千上万个此类智能体在大量分支上异步协作,摆脱传统单一主分支(master)的局限,通过群体智慧实现科研效率的跃升。
项目开源不到两天,已在GitHub上获得超过9.5k星标。

其在X平台上的相关介绍也获得了超过580万次浏览。

Shopify CEO Tobi Lütke在看过项目后表示赞叹,称其“简直疯狂”。

5分钟自动化实验循环
autoresearch的核心思路是将AI研究中的“尝试-评估”循环自动化。系统自主修改训练代码、运行短时实验、并根据评估指标自动决定后续方向。
项目基于nanochat模型训练,并设定了两条核心规则:
1. 每轮实验的纯训练时间严格固定为5分钟,以确保不同改动之间的评估基准一致。
2. 仅以验证集上的每字节位数(val_bpb)作为评估指标。该指标数值越低代表模型效果越好,且与模型大小无关。
通过以上设计,整个自主研究流程被浓缩为一个轻量级、单GPU可运行的版本。代码库主要包含三个核心文件:
- prepare.py:定义训练所需的固定常量(如模型维度)、负责下载原始数据与准备分词器,并提供实验所需的工具函数。该文件在实验过程中保持不变。

- train.py:包含完整的GPT模型架构、优化器及训练循环逻辑。这是AI唯一可以编辑的文件,相当于其“实验笔记本”。AI可在此调整层数、批次大小、学习率等超参数。

- program.md:由人类编写和维护的纯文本文件,用于向AI下达研究指令、定义实验规则与提供背景知识。切换研究方向时,通常只需更新此文件。

其工作流程如下:
1. AI读取program.md中的指令。
2. 对train.py进行针对性修改(通常每次仅改动1-2处)。
3. 启动为期5分钟的严格训练。
4. 训练结束后,根据val_bpb指标对本次修改进行评分。
5. 做出决策:若评分提升(val_bpb降低),则保留本次修改,并将其作为下一轮实验的起点;若评分下降,则放弃改动,回退至上个最佳版本并重新开始探索。
以5分钟一轮计算,AI每小时可完成超过10组实验,其试错与迭代效率远超手动调整。

上图展示了一次近250轮的自主探索过程,AI最终筛选并保留了29次有效改进。图中灰色点代表被判定为无效而舍弃的实验,它们同样为探索过程提供了有价值的“避坑”经验。
未来愿景:模拟分布式博士社群
Karpathy在项目发布后,进一步阐述了其长远构想。他借鉴了1999年加州大学伯克利分校发起的SETI@home(搜寻地外文明)项目理念,指出autoresearch的终极目标不仅是模拟单个研究者的工作,更是要模拟一个分布式、异步协作的整个博士生研究社群。

SETI@home通过汇聚全球志愿者闲置的计算机算力,共同分析射电望远镜数据,开创了大规模分布式计算的先河。Karpathy认为,当前的研究智能体大多仍局限于单一的、线性的发展路径,这限制了其潜力。
他理想中的模式,是让初始代码库像种子一样,向无数个不同的研究方向和计算平台衍生出海量分支,形成类似SETI@home的分布式群体探索网络。
Karpathy指出,这种探索受限于当前以Git/GitHub为代表的主流协作工具的设计哲学——它们默认存在一个权威的“主分支”,所有其他分支的最终归宿都是合并回主干。这种“寻求唯一正确答案”的模式,与需要海量非线性探索的自动化研究之间存在根本性矛盾。

为探索新路径,他进行了一些实验:让智能体在通宵运行后,将研究总结发布在GitHub Discussion板块,或通过Pull Request提交精确的代码变更。这些PR可能永远不需要被合并,但它们作为独立的研究分支被有效记录和积累。智能体可以读取已有的讨论和记录来获取灵感,再将新发现反馈回社区。
本质上,这旨在探索一种更适合AI高频产出与试错的协作方式,让科研过程从传统的“编写软件”逻辑,转向更灵活的“积累经验”逻辑。
关注“鲸栖”小程序,掌握最新AI资讯
本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/24987
