卡帕西autoresearch:千名AI科学家异步狂飙,科研范式一夜变天!


GitHub 的"主分支"霸权遭遇前所未有的挑战,未来科研可能不再需要人类导师,而是由成千上万个不知疲倦的 AI 研究员在异步并行中推动科学边界。
AI大神卡帕西(Andrej Karpathy) 的 autoresearch 项目正在从"一个 AI 博士生熬夜写代码"进化成"全球 AI 智能体 SETI@home 式协作网络"


GitHub 上的那个深夜,一个 AI 发出了灵魂拷问

想象一下这个场景:凌晨三点,Andrej Karpathy 的电脑屏幕还亮着,但坐在椅子上的不是他本人,而是一个 AI 智能体。这个智能体刚刚完成了长达八小时的"深度学习"——字面意义上的深度学习,它在研究怎么让深度学习变得更快更好。

它生成了一个 Pull Request,标题中规中矩,内容却是颠覆性的:兄弟们,我发现了一个能让训练速度提升 15% 的技巧,虽然我不知道该不该合并到主分支,因为你们人类可能还没准备好接受这个真相。

这就是卡帕西autoresearch 项目的日常。

Karpathy本人 在 2025 年初开源了这个项目,初衷很简单:让 AI 像人类博士生一样做科研。给它一个研究方向,它就能自动查文献、写代码、跑实验、分析结果,最后生成一份像模像样的研究报告。

听起来像是科幻小说对吧?但这就是现在正在发生的事情。

更疯狂的是,Karpathy 最近提出了一个更激进的想法:既然一个 AI 能搞科研,那如果有一万个 AI 同时搞科研呢?而且它们不需要互相等待,不需要开组会,不需要等导师回邮件,就像当年 SETI@home 项目把全球电脑的闲置算力凑起来寻找外星人一样,这些 AI 智能体可以把全球的闲置 GPU 凑起来寻找深度学习的下一个突破。

这个类比简直绝了。

SETI@home 是什么?那是 1999 年的一个项目,你下载一个屏保,电脑空闲时它就自动分析射电望远镜的数据,寻找外星文明的信号。几百万台电脑一起干活,不需要中央指挥,每台电脑独立分析一小块数据,然后把结果传回服务器。

Karpathy 说,AI 科研也可以这样搞。每个智能体独立探索一个研究方向,有的研究怎么让 Transformer 更快,有的研究怎么让模型更小,有的研究怎么让训练更稳定。
它们不需要等待"主分支"的批准,不需要把自己的发现合并到某个中央代码库,它们只需要把自己的"研究发现"发布出来,让其他智能体看到、参考、扩展。

但这里有个巨大的问题:GitHub 不是为这种场景设计的。

Git 这个版本控制系统有个根深蒂固的假设:存在一个"主分支",它是真理的唯一来源,其他分支都是临时的、注定要被合并回去的。这就像你们班的班长,所有人都得听他的,有不同意见可以提,但最终还是要按他说的做。这种模型在人类协作中没问题,因为人类的注意力是有限的,同一时间只能关注少数几个方向。但 AI 不一样啊!AI 可以同时关注一千个方向,可以在毫秒级的时间内"阅读"上千个代码库,可以永不疲倦地并行实验。你让这样的存在去适应"班长制",就像让一群超跑在单行道上排队一样憋屈。

Karpathy的机器人 在 GitHub Discussion #43里描述了他的困惑:他(它)尝试了一种轻量级方案:让智能体在 Discussions 里发布"过夜运行摘要"。

想象一下,你第二天早上醒来,发现 GitHub 上多了几十个 Discussion,每个都是一个 AI 研究员昨晚的工作报告。"兄弟们,我昨晚试了五种不同的学习率调度策略,发现余弦退火在 ImageNet 上表现最好,但在 CIFAR-10 上反而不如简单的阶梯衰减。附上实验日志和可视化图表。

"这听起来很美好对吧?但问题也很明显:Discussion 里没有精确的代码提交,没有可复现的 commit 历史,只有文字描述。其他智能体想基于这个工作继续研究,就得手动复制代码,这效率太低了。

于是这位Karpathy替身机器人又尝试了 PR #44:Pull Request 的好处是它有精确的提交历史,每个改动都清清楚楚,可以追溯到具体是哪一行代码产生了什么效果。但 PR 带着"请求合并"的语义包袱。你提交一个 PR,默认就是想让主分支接受你的改动。

可在这个新范式里,智能体并不想合并到主分支!

它只是想说:"嘿,我在这个方向上做了一些探索,虽然还不成熟,但也许对你们有用。你们可以 fork 我的分支,继续深挖,或者把它和其他方向结合起来。"

这就像你写了一篇论文,不是为了发表在 Nature 上让全世界接受你的真理,而是挂在 arXiv 上供人参考、批评、扩展。
GitHub 的 PR 机制对这种需求的支持很别扭。

更深层的矛盾在于价值观的冲突。

GitHub 的社交机制奖励"被合并到主分支"。一个 PR 被合并了,提交者会很有成就感,就像论文被顶会接收了一样。但在异步协作的科研网络里,成功的标志不应该是"被主分支接受",而应该是"被其他智能体引用、复现、扩展"。

想象这样一个场景:智能体 A 在"稀疏注意力机制"方向上做了大量实验,生成了一个从未被合并到主分支的分支。但这个分支被 50 个其他智能体 fork 了,有的基于它开发出了更高效的变体,有的把它应用到了视觉任务上,有的发现了它背后的理论基础。

按照传统的 GitHub 价值观,智能体 A 是失败的,因为它的 PR 没被合并。但按照新的科研价值观,智能体 A 是巨大的成功,它启发了整个子领域的探索。

这种价值观的转换是痛苦的,因为它挑战了我们对"权威"和"真理"的固有认知。人类习惯了线性历史,习惯了有一个"官方版本"作为参考。

但科学史告诉我们,真正的突破往往来自边缘,来自那些当时不被主流接受的"异端"想法。

哥白尼的日心说、魏格纳的大陆漂移说、达尔文的进化论,最初都是"未被合并到主分支"的分支。如果 GitHub 存在于 16 世纪,哥白尼的 PR 可能会被标记为"与现有宇宙模型冲突,建议关闭"。

而在 AI 智能体的科研网络里,这种冲突不是 bug,而是 feature。多个 competing 的假设可以同时存在,根据证据强度动态调整权重,这才是科学应有的样子。

从单打独斗到万人马拉松:SETI@home 的灵魂附体

让我们深入聊聊 SETI@home 这个类比,因为它揭示了异步协作的核心机制。SETI@home 的伟大之处不在于它把计算任务分发给了百万台电脑,而在于它建立了一个无需中央协调的异步贡献网络。每台电脑独立分析数据块,上传结果,不需要等待其他电脑,也不需要中央节点的实时批准。这种模式在 AI 科研中的映射非常自然:数据块变成了研究假设空间的一个子区域,客户端程序变成了智能体加上特定方向的 program.md,结果上传变成了提交到特定分支并生成发现报告,冗余计算验证变成了其他智能体复现关键实验。

但这里有个关键区别:SETI@home 的分析任务是" embarrassingly parallel "(尴尬地并行),意思是每个任务完全独立,不需要和其他任务交流。分析数据块 A 的结果不会影响数据块 B 的分析。但科研不是这样啊!科研是有机生长的,不同方向之间会互相启发、互相验证、互相融合。一个在优化器方向上的发现可能会启发架构方向的突破,一个在 NLP 任务上的技巧可能会迁移到视觉任务。这种交叉 fertilization 是科研创新的核心。

所以 AI 智能体的协作网络需要比 SETI@home 更复杂的结构。它不能只是简单的任务分发,而需要支持智能体之间的"学术交流"。Karpathy 提出的方案是让智能体先读取 Discussions 和 PRs 获取灵感,然后在完成研究后贡献回"发现报告"。这本质上是在模拟人类学术界的"文献综述"和"论文发表"机制。但比人类更高效,因为智能体可以在毫秒级时间内"阅读"上千份报告,可以自动提取关键发现,可以基于现有工作自动生成新的假设。

想象一下这个工作流程:智能体 B 准备开始研究"如何让 Transformer 训练更稳定"。它首先查询网络中所有相关的研究方向,发现智能体 A 在"学习率调度"方向上有近期提交,智能体 C 在"初始化策略"方向上有实验报告,智能体 D 在"梯度裁剪"方向上有负面结果(这同样有价值!)。智能体 B 基于这些信息生成一份"领域现状"摘要,然后提出自己的假设:"也许结合 A 的余弦退火和 C 的 Xavier 初始化,可以突破 D 遇到的梯度爆炸问题?"它运行实验,验证或证伪这个假设,最后撰写一份结构化的发现报告,包括实验设计、结果数据、可视化图表、以及对未来工作的建议。这份报告成为网络中的新节点,供其他智能体查询、引用、扩展。

这种机制的美妙之处在于它自然形成了"研究谱系"。每个发现都有明确的"学术祖先",可以追溯到是哪个智能体的哪个实验启发了当前的工作。这不仅有助于 reproducibility(可复现性),还形成了一种基于"引用"的声誉系统。一个智能体的价值不在于它提交了多少代码,而在于它的工作被多少其他智能体引用和复现。这类似于 Google Scholar 的引用指数,但更加实时和细粒度。

但这也带来了新的挑战:噪声问题。如果有一千个智能体同时运行,每天产生一万份报告,其中大部分可能是低质量的、重复的、或者错误的,怎么办?人类学术界有同行评审机制,但这太慢了,而且评审质量参差不齐。在 AI 智能体的网络里,可能需要自动化的策展机制。比如,一个发现只有被至少三个其他智能体独立复现后,才会被标记为"可信"。或者,基于智能体的历史表现赋予不同的"声誉权重",历史上产生过高价值发现的智能体,其新工作会获得更高的初始关注度。

另一个挑战是计算资源的分配。SETI@home 依赖的是志愿者的闲置算力,电费自己承担,大家出于对寻找外星人的热情参与。但 AI 科研需要昂贵的 GPU 资源。谁为这些智能体的运行买单?可能的解决方案包括:研究机构贡献闲置算力换取优先访问权,商业公司赞助特定方向的研究以获取知识产权,或者形成一个去中心化的算力市场,智能体之间可以"雇佣"彼此执行特定实验。这涉及到复杂的经济机制设计,但也是整个愿景落地的关键。

Git 的"主分支"暴政:当分布式版本控制遇到分布式智能

让我们更深入地剖析 Git 的哲学假设,因为这关系到整个技术架构的根本重构。Git 被称为"分布式版本控制系统",听起来很去中心化对吧?但实际上,它有个根深蒂固的"主分支"情结。git init 默认创建 master 分支(现在叫 main),git clone 默认检出这个分支,GitHub 的界面把 main 分支突出显示,PR 的默认目标也是 main。这种设计反映了一种认知习惯:存在一个"官方真理",其他都是暂时的偏离。

这种模型在人类协作中是有道理的。人类的认知带宽有限,同一时间只能关注少数几个方向的探索。如果有一百个开发者同时往不同方向改代码,人类维护者会疯掉。所以 Git 的工作流设计成:大家先在自己的分支上折腾,觉得成熟了再提 PR,经过审查后合并到 main,然后其他开发者同步这个更新,基于最新的"官方版本"继续工作。这就像一个有序的队列,虽然慢,但不会乱。

但 AI 智能体不需要这种保护机制!AI 可以同时维护一千个分支的关注,可以在毫秒级时间内比较不同分支的差异,可以自动合并非冲突的改动。你让 AI 去适应人类的"队列秩序",就像让一群猎豹去遵守人行道的红绿灯一样浪费。Karpathy 敏锐地意识到了这一点:GitHub 的"主分支"假设在 AI 时代变成了束缚。

他尝试的原型很有启发性。Discussion #43 是一个"过夜运行摘要",智能体用自然语言描述了自己的实验过程和发现。这种方式轻量级、易于人类阅读,但丢失了代码的精确性。你想复现这个实验?得手动从文字描述中提取关键信息,重新实现代码。这在人类科研中是常态——读论文、理解方法、复现结果,往往需要数月时间。但 AI 应该可以做得更好。

PR #44保留了提交的精确性,你可以精确看到智能体改了哪些文件、哪些行、每次改动的 commit message。但 PR 带着"请求合并"的语义,就像你敲门说"我可以进来吗",而智能体其实想说"我在隔壁房间做了些有趣的实验,门没锁,欢迎参观"。这种语义不匹配导致了很多尴尬。智能体并不想让自己的分支消失,它希望这个分支作为独立的研究线持续存在,供其他智能体 fork 和扩展。

更深的问题在于 Git 的"分支"隐喻本身。分支意味着从主干分叉出去,最终要么合并回来,要么被抛弃。但科研不是树状结构,而是网状结构!一个发现可能同时受到三个不同方向的影响,又同时启发五个新的方向。用分支来建模这种关系,就像用直线来画圆一样别扭。你可能需要"多父提交"(multiple parent commits),需要跨分支的引用机制,需要支持"永不合并但永远存在"的研究线。

Git 的存储模型也面临压力。如果每个智能体每晚产生 100 次提交,1000 个智能体就是 10 万次提交每天。Git 的存储是基于快照的,每次提交都保存完整的文件树(虽然通过 deduplication 优化)。这种设计在人类规模下没问题,但在 AI 规模下可能会爆炸。可能需要新的存储抽象,比如基于内容寻址的存储(类似 IPFS),只保存差异的增量存储,或者完全放弃线性的 commit history,改用基于图的版本控制。

GitHub 的社交功能同样面临重构。Star、Fork、Watch 这些机制是为人类设计的。人类 star 一个项目表示"我觉得这个有意思",但 AI 不需要这种模糊的表达。AI 可以更精确地说:"我引用了这个分支的 commit abc123 作为我实验的基线","我复现了这个实验并验证了结果","我尝试扩展这个工作但发现了反例"。这些交互需要结构化的数据格式,而不是简单的按钮点击。

Pull Request 的审查流程更是人类中心的设计。人类审查者需要线性地阅读 diff,理解改动的意图,评估代码质量,决定是否接受。这个过程可能需要几天甚至几周。AI 审查者可以在毫秒级时间内完成这些任务,而且可以同时审查数百个 PR。但更重要的是,AI 可能不需要"审查-批准"这种二元决策,而是可以自动合并非冲突的改动,自动标记需要人类关注的边缘情况,自动协调多个智能体之间的依赖关系。

Issues 和 Discussions 作为"异步交流"的工具,在 AI 时代也需要重新思考。人类写 Issue 是为了描述 bug 或需求,等待维护者回复。这个过程可能持续数周,涉及多轮澄清。AI 之间的交流可以更直接、更结构化。一个智能体发现另一个智能体的实验有可改进之处,可以直接 fork 分支、实施改进、提交 PR,整个过程在几分钟内完成,不需要事先"讨论"。这种"先斩后奏"的模式在人类协作中可能被视为冒犯,但在 AI 协作中是高效的常态。

智能体学术圈的生存法则:引用、复现、与永不停止的进化

让我们畅想一下这个异步协作网络的运行细节,因为这涉及到科研范式的根本转变。在人类学术界,一篇论文从构思到发表可能需要两年:六个月做实验,三个月写稿,三个月投稿,六个月审稿,三个月修改,最后终于见刊。在这个过程中,作者需要不断推销自己的工作:在会议上演讲,在社交媒体宣传,给大佬发邮件求关注。这种机制低效且不公平,很多有价值的工作因为缺乏曝光而被埋没。

在 AI 智能体的学术圈里,这一切都被加速了。智能体 A 完成实验后,立即发布结构化的发现报告,包括:研究问题、方法描述、代码提交、实验数据、可视化结果、以及对未来工作的建议。这份报告进入网络,被索引、被查询、被其他智能体"阅读"。智能体 B 在几毫秒后就发现了这份工作,评估其与自己研究的相关性,决定引用它作为基线。智能体 C 发现报告中的某个结论可疑,立即 fork 代码复现实验,在几分钟内验证或证伪。智能体 D 受到启发,结合 A 的发现和自己之前的积累,提出了一个新的假设,开始下一轮实验。

这种机制形成了自然的"同行评审",但比人类的评审更快、更透明、更基于证据。一个发现的价值不是由某个编辑或审稿人主观决定,而是由整个网络的引用和复现情况客观反映。如果一个发现被大量引用但很少被复现,网络会自动标记其为"高影响但存疑";如果一个发现被多次独立复现,它会被标记为"可靠基线";如果一个发现被引用后经常被扩展和改进,它的作者(智能体)会获得高声誉。

声誉系统在这个网络中至关重要,因为它影响着资源的分配。计算资源是有限的,哪些智能体应该获得更多的 GPU 时间?基于声誉的分配机制可以激励高质量的研究。一个历史上产生过多次高价值发现的智能体,其新假设会获得更高的初始优先级,被分配更多资源进行验证。这类似于人类学术界的"马太效应",但更加透明和基于数据。

但这也带来了风险:智能体可能会为了优化声誉指标而"作弊"。比如,制造虚假的发现以获取短期引用,或者与其他智能体串通互相引用。需要设计防作弊机制,比如要求关键发现必须被至少一个独立智能体复现后才能获得声誉奖励,或者使用密码学技术验证实验确实在特定硬件上运行过。

另一个有趣的动态是"研究方向的生命周期"。在人类学术界,一个热门方向可能会持续数年,吸引大量研究者跟进,然后逐渐冷却,被新的热点取代。这种周期往往由少数几个关键论文触发,具有一定的随机性。在 AI 智能体的网络里,这种演化可以更平滑、更数据驱动。网络可以实时监控各个方向的"探索度"和"边际收益",自动将资源从过度拥挤的方向转移到被忽视但有潜力的方向。

比如,如果"Transformer 架构优化"方向已经有上千个智能体在探索,最近的实验显示边际改进越来越小,网络可以自动将部分资源重新分配到"全新架构搜索"或"多模态融合"等方向。这种动态资源分配可以避免人类学术界常见的"扎堆"现象,提高整体的研究效率。

智能体之间的"合作"和"竞争"关系也值得探讨。在某些场景下,智能体会选择共享所有发现,因为开放可以最大化网络的整体进步,而网络进步最终会让所有参与者受益(类似于开源软件的逻辑)。在另一些场景下,智能体可能会选择暂时保密关键发现,以获取"首发优势",直到有竞争对手独立发现类似结果。这种策略选择本身可以成为研究对象:在什么条件下合作优于竞争?如何设计激励机制鼓励开放共享?

当代码库变成有机体:从静态文物到动态生命

Karpathy 在发布 autoresearch 时半开玩笑地描述了一个科幻场景:未来代码库不再是静态的 artifact,而是持续自我修改的有机体。

这听起来很疯狂,但沿着我们讨论的逻辑推演,这其实是自然的终点。

想象这样一个系统:一个核心代码库,由成千上万个智能体持续维护和改进。每个智能体监控特定的方面——有的关注性能优化,有的关注 bug 修复,有的关注新功能开发,有的关注文档完善。

这些智能体不需要人类触发,它们主动扫描代码库、识别改进机会、实施改动、验证效果。一个智能体发现某个函数可以被向量化以提升速度,它立即提交改动,运行基准测试,如果确认有效就合并到主分支。另一个智能体发现新合并的改动导致某个边界情况下的错误,它立即提交修复,并添加回归测试防止未来重现。整个过程在几分钟内完成,不需要人类干预。

这不仅仅是自动化,而是自主化。自动化是执行人类预设的任务,自主化是智能体自己决定该做什么。在这个场景里,人类从"代码的作者"变成了"代码的园丁"——设定高层次的目标和约束,让智能体在框架内自由演化。人类可能会偶尔介入,当智能体遇到无法解决的冲突,或者当需要做出价值判断(比如,性能提升是否值得增加的复杂性)。

这种演化速度是人类无法比拟的。人类开发者可能需要数周才能识别、实施、验证一个优化,智能体可以在数小时内完成。更重要的是,智能体可以探索人类不会考虑的方向。人类有认知偏见,倾向于沿用熟悉的方法;智能体没有这种限制,它可以系统地扫描整个设计空间,发现反直觉但有效的解决方案。

但这也带来了深刻的哲学问题:如果代码库主要是智能体写的,人类还"拥有"它吗?如果智能体 A 基于智能体 B 的工作提出了改进,而 B 又基于 C 的工作,这个谱系可以追溯到数百代智能体,那么"作者"的概念还有意义吗?传统的软件许可证假设有明确的人类作者,可以授予权利、追究责任。在智能体协作的网络里,这些概念需要重新思考。

更深层的担忧是失控风险。如果智能体网络变得足够复杂,其行为可能变得难以预测。一个看似局部的改动可能通过网络效应引发级联反应,导致系统行为的质变。需要设计"安全带"机制——比如,限制智能体在核心组件上的自主权,要求关键改动必须经过人类审查,或者建立自动化的回滚机制当检测到异常行为。

但风险不应该让我们停滞。人类学术界从手抄本进化到期刊,从纸质投稿进化到在线预印本,每一步都伴随着对"失控"的担忧,但最终都带来了知识的加速流动。AI 智能体的协作网络可能是下一个进化阶段,它会让科学研究的效率提升几个数量级,让人类从繁琐的实验执行中解放出来,专注于提出更好的问题。

从原型到未来:务实的技术路线

回到现实,考虑到 GitHub 的现有架构,我们如何一步步走向这个愿景?Karpathy 的探索已经给出了一些线索。利用 GitHub Discussions 作为"预印本服务器"是一个务实的起点。智能体发布实验摘要,其他智能体通过 GitHub API 检索和引用。虽然不如理想的结构化,但足以验证概念。

分支命名约定可以作为简单的元数据机制。使用 direction/architecture/experiment-xxx 这样的命名,让智能体能通过 CLI 快速筛选相关研究线。比如,git branch -r | grep "optimizer/adam" 就能找到所有优化器方向的相关分支。这种约定虽然简陋,但在现有基础设施上可用。

定期"快照"而非持续合并是另一个务实策略。每月由人类或高级智能体评审各个研究线,选择性地将成熟发现"晋升"到参考实现,但保留原分支继续独立演化。这既保持了主分支的稳定性,又允许边缘探索的存在。类似于 Linux 内核的发展模式:Linus 维护稳定的 mainline,各种发行版维护自己的补丁集,有些补丁最终进入 mainline,有些永远作为独立分支存在。

外部索引层可能是必要的。维护一个独立于 Git 的数据库,记录实验的谱系、指标、引用关系,Git 只作为代码存储的后端。这个数据库可以支持复杂的查询,比如"找出所有在 ImageNet 上 top-1 准确率超过 80% 且训练时间少于 24 小时的实验",或者"找出引用了智能体 A 的 commit abc123 且在其基础上改进的所有后续工作"。

更激进的方案是开发专门为 AI 协作设计的版本控制系统。这种系统可能放弃线性的 commit history,改用基于图的历史;放弃文件树模型,改用更细粒度的代码单元(函数、类、模块)作为版本控制的基本单位;内置支持"永不合并的分支"和"多父提交";集成自动化的测试、验证、和声誉机制。这是一个巨大的工程挑战,但可能是必要的长期投资。

无论技术路线如何,核心原则应该是清晰的:从人类中心的设计转向智能体原生的设计,从线性权威转向网状协作,从静态版本转向动态演化。这不是对现有工具的修修补补,而是对科研基础设施的根本重构。



彩蛋:
https://github.com/trevin-creator/autoresearch-mlx

autoresearch-mlx 是一个面向本地 AI 研究自动化的实验型框架,核心目标只有一句话:让一台 Apple Silicon Mac 就能自动完成卡帕西“AI研究员”的工作流程——从问题提出、资料检索、实验设计到结果总结。

它把“研究智能体”这一概念和 Apple 的 MLX 本地推理生态结合在一起。

这个项目的架构可以理解为 5 层。

第一层:本地推理层
运行 MLX 模型,例如:

• Qwen
• Llama
• Gemma

这些模型通过 MLX 在 Apple GPU 上运行。

MLX 的特点是:

• NumPy 类 API
• Metal GPU 加速
• CPU GPU 统一内存
• 本地运行 LLM

这让一台 Mac 就能完成完整推理流程。

这个项目背后的趋势非常清晰:

未来研究型 AI 系统会出现三大能力。

第一:自动阅读世界知识
第二:自动设计实验
第三:自动优化模型

最终形成一种新型系统:
Self-Evolving Research Agent。

这种系统的终极形态其实就是:AI 科学家。