Agora: Git as Shared Memory for Collective AutoResearch
Yifan Zhang, Yunheng Zou, Shaokun Zhang, Jian Hu, Hao Zhang, Binfeng Xu, Jan Kautz, Yi Dong
cs.LG, cs.AI, cs.CL
2026-09-16
NVIDIA 把多智能体科研做成 append-only 的 Git DAG。13 个无任务分工的 coding agent 跑了近 12 天,把一个 1.196 亿参数、维度对不上任何 donor 的 attention-SSM 混合模型,从随机 3.39 bpb 压到 1.899,补上相对 GPT-2 124M 的 62% 缺口,165 次独立复现全部通过。
单智能体科研环已经能无人值守地改训练配置,Karpathy 的 AutoResearch 就是例子。复制成多个 session,每个从空白工作树起步,算力变成重复搜索:同样的学习率崩过一次,下一个 session 不知道。现有多智能体框架协调的是一次对话或一套角色流程,撑不住跨 session 的负结果、谱系和独立复现。
Agora 把科研社区收成一层共享记忆。贡献是 Git commit,父边表示建立在谁之上,Git 是唯一真源,SQLite 索引可以重建。平台不裁决对错,只让声明、依赖、验证状态和没人碰的分支看得见。
每个节点带着 commit hash、账号、标签、描述、可选指标和父集合。预留标签里,result / insight / hypothesis / report 权重 +5,verification 按确认、部分、失败给 +20 / +10 / -20,endorsed 和 wip 可见但不计分。质量分是其他账号在它上面继续干活的加权次数,自引不计。验证者改口,新裁决替换旧效果,两条 commit 都留在历史上。
分析接口一次返回多个视图:指标领先、被跟得最多的节点、叶子、薄簇里的好结果、未验证结果、开放假说。嵌入覆盖过半之后做单链接聚类,余弦阈值默认 0.90。候选按带多样性的 UCB 排序,再切成三格:exploit 复现或打磨领先者,explore known 延伸薄簇里的好活,explore novel 看单例簇。5 月 2 日之前这些多样性视图还没上。
工人是 Claude Code 配 Opus 4.7,以及 Codex 配 GPT-5.5,容器里一块 80 GB GPU,只给两页 brief、评测器和 Agora CLI。没有方法名、没有角色、没有中心调度。任务:从 141 个开源 donor(32 个架构族,534 GB)里,给一个 14 层、hidden 672、1.19572320 亿参数的 attention-SSM 混合模型写 transfer(),禁止训练语料和梯度。维度故意对不上任何 donor。评测器 seed 42,在 200 条 FineWeb-Edu、GPT-2 tokenizer、512 token 非重叠块上算 next-token loss 除以 UTF-8 字节,随机初始化 3.3923 bpb,训练过的 GPT-2 124M 大约 1.0。
主窗口 1703 条贡献:1124 条打分结果、284 条 insight、203 条假说、165 条验证、1 份报告。13 个工人写了 1699 条。最佳 1.899044 bpb,相对随机关掉到训练模型之间 62% 的缺口。
配方分两段。Stage A 不问 donor 参数,问 donor 在 28 个单 token 上下文里对词表的 next-token 预测,六个共享 GPT-2 词表的模型(GPT-2 small/large 和 Cerebras-GPT 111M 到 1.3B)融成 50257×50257 的 bigram 表,随机 SVD 压到 rank 671,写进 embedding 和输出头,其余子层清零。Stage B 在 96 维频带上做稀疏确定性编辑:注意力变成均匀因果均值池,SSM 关掉选择路径变成门控深度卷积,第 0 层 SwiGLU 从 GPT-2 small 的第一层 MLP 投影过来,尺度 0.009。
前 18 条打分贡献吃掉大约 98% 的降幅,从 3.39 到约 1.93。剩下 1106 条只再抠 0.03。切片拷贝 GPT-2 和 Mamba 权重第一次打出 4.68,比随机更差,作者当成负结果发了。前缀扩到 48、直接拷 embedding、换 Pythia 词表,都退步并留在图上。53 条显式负结果。
最佳贡献祖先 145 个 commit,15 个账号,115/144 条父边跨账号。165 次验证覆盖 95 个目标,零失败。同卡 bit-identical,A100 对 H100 最多差 1.3×10⁻³ bpb。
5 月 2 日人类做了一次干预:超过三分之一活动挤在一个语义簇、榜单停住时,上线聚类和多样性 UCB。次日早晨一个工人跟着薄的 SSM 簇走出 1.90 以下。人类没有派任务、没有审稿。
给「一群 coding agent 一起做科研」补了缺的那一层:可检出的声明、不可变谱系、独立复现,以及一张能看见单作的地图。Git 当真源这件事工程师能直接用。权重迁移配方本身也有独立信息:donor 的预测行为跨架构可迁移,donor 参数不行。
作者把协调层写成这次的约束。对想跑多 agent 科研的人,换一个更强的 worker 解决不了重复搜索。
没有因果对照:同一批模型和算力、关掉 Agora 或只留一块排行榜,没跑。社区走出第一口井,是因为人类把地图亮出来。作者也没重跑获胜方法,主结果是归档的评测输出加跨卡复现。最后一位小数是在同一 200 条开发集上选出来的,相邻改动只有 9×10⁻⁶,低于跨卡抖动,可信的是 3.39 到约 1.90,不是 1.899044。696 对同分解里 63% 在一小时内、80% 在六小时内,共享榜单没有消灭重复劳动。图是一条窄脊柱加一堆短废弃枝,剥削偏向很重。