并行跑自主研究循环,为什么没有变快
9 月 16 日,一篇题为《Agora: Git as Shared Memory for Collective AutoResearch》的论文挂上 arXiv。它要回答的是一个很具体的工程问题:如果把一个能无人值守改进训练配置的自主研究循环复制很多份同时跑,会不会得到更多发现。
论文给出的答案是否定的,原因也很朴素——每个会话都从零开始,彼此之间不共享任何中间结果。于是多出来的算力主要被用来重复搜索同一片空间,而不是拓宽搜索面。
这个观察本身不算新,但它把问题从「智能体够不够聪明」挪到了「研究记忆该长什么样」。顺着这个挪动,Agora 的答案是:把研究记忆做成一种有特定形状的存储——一个只追加的有向无环图,宿主是 Git。每条结果、洞察、假设、验证与报告都是一次不可变的提交,提交之间的父子边记录它建立在什么之上。
把「一条结论」变成「一次提交」
这个设计里最值得琢磨的是它买到了什么。因为一条结论就是一次提交,任何人都可以把它检出、重跑。验证因此从一件靠社交完成的事,变成一件靠命令完成的事——不需要相信某个 worker 的说法,只需要复现它的提交。
但只有追加式存储是不够的。作者自己指出,一次运行堆到一千多条之后,这个仓库会变得没法用:你不知道前沿在哪里,也不知道哪些分支被冷落了、哪些结论还没被验证。所以他们又加了一层派生索引,把研究前沿、被忽略的分支和每条主张的验证状态暴露出来。
另外还有一个多样性感知的选择规则,用来防止整个群体塌缩到当时跑得最好的那个 worker 身上。这一条听起来像锦上添花,但下文会看到,它并不够用。
那次跑了近 12 天的运行
论文报告的不是一组基准测试,而是一次持续运行。13 个语言模型 worker 在近 12 天里工作,没有分配任务,也没有中心规划器。它们面对的是一个权重迁移问题:手上有一百四十多个预训练供体模型,目标是一个冻结的、1.196 亿参数的注意力与状态空间混合架构,而目标的维度与任何一个供体都不匹配;初始化它时既不能用训练数据,也不能用梯度更新。
结果是这些 worker 一共发布了一千七百多条贡献,把评测指标从 3.39 比特每字节压到 1.899,相当于补上了与一个训练过的基线模型之间 62% 的差距。
胜出配方本身也有意思:它把供体模型的下一个词元统计量压进目标的嵌入与输出头,再通过对注意力、前馈与状态空间模块做稀疏改动,补进一段短程上下文信号。这条配方的祖先链有一百四十多次提交、跨 15 个账号。另外有一百多次独立复现被贴了出来,没有一次失败。
「独立复现零失败」这个数字值得单独说一句。作者把功劳归给数据结构而不是智能体——因为每条主张都可检出、都有显式的父提交,复现才能机械地做,而不是靠信任。这个归因是克制的,也是这份工作里最有迁移价值的一处。
和「一个运行时跑很久」不是同一个问题
近一两个月里,长程自主运行这条线上出现了几种不同的解法。有的是把单个运行时的稳定性做上去,例如通过证据驱动的阶段回滚与占空比控制,让一次无人值守运行可以延续上千小时。有的是把长程任务的状态与上下文分层管理,让业务型长任务可以连续跑数天。
Agora 关心的是第三种问题:当并行的研究者不止一个时,它们之间的记忆该怎么组织。
这几个方向并不互相替代。一个运行时跑得稳,解决的是单条链不中断;分层上下文解决的是单条链不忘事;共享的追加式图解决的是多条链不重复劳动。真要把它们合起来,还得回答一个这篇论文没有回答的问题——共享记忆带来的协调开销,会不会吃掉并行省下来的那部分时间。
作者自己划的边界
这篇论文有两处自我限制,恰好是它比很多同类工作可信的原因。
一处是运行中途的那次人工介入。多样性感知的选择规则并没有阻止群体塌缩,最后是一次人工干预把社区从单一化状态里拉了出来。作者把这件事写进了正文而不是脚注——这一点值得记住,它让所有声称「多智能体自发涌现多样性」的结果都该被再对照一遍。
另一处是作者的结论克制。他们明确说自己没有确立「共享研究状态能提升单位算力的发现效率」,并点出了能判定这件事的对照实验:同一问题分别在共享与不共享状态下跑,比较单位算力的发现量。他们没有跑这个对照。
也就是说,这篇论文证明的是一套系统能工作,而不是这套系统比别的做法更高效。这两件事之间的差距,恰恰是把它当成方法论来照搬时最容易踩空的地方。
对做内部知识库的团队有什么参照
把研究记忆换成企业内部的知识资产,这套结构里的几个选择依然成立。
一是把「结论」和「围绕结论的讨论」分开存。前者需要不可变,后者可以散落;把两者混在一个文档里,任何一次更新都会让引用它的地方失去锚点。
二是给「还没被验证」一个显式状态。多数内部知识库的问题不是内容少,而是分不清哪些是有依据的、哪些是当时拍脑袋写的。加上一层验证状态,检索才不至于把猜测当结论用。
三是别指望自动生成的索引能替代人工整理。Agora 用派生索引解决「一千条之后没法用」的问题,其中的多样性选择规则还是失败了。工具能告诉你前沿在哪,但判断哪条分支值得走,仍然需要人。
还有一条更容易被忽略:把「谁验证的」记录下来。Agora 里每条提交都能追溯到具体账号,一百多次复现也是以独立身份发布的。在企业知识库里,对应的是「这条结论谁复核过、什么时候」——这一栏空着的时候,后面所有人都会重新怀疑它一遍。
这几条都不依赖具体技术栈,也不需要先有多智能体系统才能用。
可以带走的几条
其一,多智能体并行的起点问题是共享状态,不是模型选型。没有共享,复制的是算力,不是搜索面。
其二,选择存储格式时把「可复现」当设计目标。当一条结论就是一次可检出的提交,验证成本会降到接近零。
其三,追加式存储必须配派生索引。记录过千之后,没有前沿视图就等于没有记忆。
其四,把人工介入次数当成指标之一。一次干预就定住全局,说明自动化的多样性机制还没成立。
目前官方及行业暂未披露更多细节,后续将持续跟进迭代动态。