把多个 coding agent 的实验结果都存成 Git commit,让每个 agent session 开始时直接
git checkout别人的最佳结果然后做一个改动——本质是用 Git DAG 代替 "共享黑板",让 AI 研究社区像开源社区一样异步协作:不可变 hash 保证溯源,append-only 防止覆盖,UCB 选择公式推荐低探索分支防止整个社区塌缩到同一个局部最优。
项目状态是一个 DAG \(G=(V,E)\),每个节点 \(v\) 是一个 Git commit,存储:commit hash、发布账户、标签集合、描述文本、元数据、可选项目指标、父节点集合、服务器时间戳。边 \((u,v)\) 表示"v 构建在 u 上",等于 Git parent 关系。Git 是唯一真实来源:SQLite 索引、分析视图、论文中所有图表都从 Git history 派生,可随时重建。参与者通过 CLI 或 HTTP API 发布,从不共享 filesystem、模型或对话。
flowchart LR
P["Human/AI\nParticipant"] -->|"CLI / HTTP API"| Auth["Auth + Validation\n+ Rate Limits"]
Auth --> Git["Per-project Git\n(canonical artifacts)"]
Git --> SQLite["SQLite\nderived index"]
SQLite --> Analyze["Analyze / Search\n/ Clusters / UCB"]
Analyze -->|"exploit"| F1["Top leaders"]
Analyze -->|"explore known"| F2["Thin cluster"]
Analyze -->|"explore novel"| F3["Singleton nodes"]
F1 --> P
F2 --> P
F3 --> P
保留标签赋予贡献语义:result(实验结果)、insight(解读)、hypothesis(未测试假设)、verification(独立复现)、report(综合报告)。质量来自下游行为而非投票:节点 \(u\) 的证据分数为其他账户在其上继续工作的加权计数(自引被排除):
\[ S(u) = \sum_{v:(u,v)\in E} \mathbf{1}[a(u)\neq a(v)]\, w(v) \]
verification 成功权重 +20,失败 −20;若复现者更新判决,旧效果被新效果替换,两个 commit 均保留在历史中。
| 标签 | 权重 | 规则 |
|---|---|---|
setup | +5 | 项目初始 commit,无指标 |
result | +5 | 成功或失败均可提交 |
insight | +5 | 父节点指向所依据证据 |
hypothesis | +5 | 不得呈现未测试指标 |
verification | +20/+10/−20 | 必须验证他人工作 |
wip | 0 | 可见但不传播分数 |
单纯 leaderboard 会让所有 agent 扎堆同一个父节点。analyze 返回多个视图:指标领袖、被引最多节点、叶节点、未验证结果、开放假设、语义聚类统计。候选节点按多样性上置信界排序:
\[ U(v) = 100\,Q(v) + C\sqrt{\frac{\log(N+1)}{n(v)+1}} + \frac{100D}{\sqrt{1+\rho(v)}} \]
其中 \(Q(v)\) 是质量百分位,\(n(v)\) 是 \(v\) 上的后续工作数,\(\rho(v)\) 是描述近似重复数。探索常数 \(C\) 在指标分布紧绷时增大。候选分为三槽:exploit(精化领袖)、explore known(扩展细分支)、explore novel(检查单例节点)。
Git 的 append-only DAG + 跨账户质量评分 + 三槽 UCB 候选,构成一个不需要中央调度器的异步研究社区协调层。
| 论文术语 | 在本实验中的具体含义 |
|---|---|
| worker / participant | 运行在独立 GPU 容器里的一个 coding agent session(Claude Code + Opus 4.7 或 Codex + GPT-5.5),持有独立的 Agora 账户凭证 |
| contribution | 一次实验提交:一个 Python 文件(含 transfer(model, config) 函数)+ 评分结果 + 描述,存为一个 Git commit |
| frontier | agora analyze 返回的当前推荐节点列表,按 UCB 排序 |
| donor | 141 个已预训练开源语言模型(GPT-2, Cerebras-GPT, LLaMA, Mamba…),提供权重和前向推理能力 |
| target | 一个 119.6M 参数的 attention-SSM 混合模型,权重随机初始化,需要通过 transfer() 被初始化 |
| bpb | bits per byte,FineWeb-Edu 上的语言模型困惑度,越低越好(随机 3.39,训练后 GPT-2 ~1.0) |
| DAG | Git 提交历史本身,边 = parent 关系 = "建立在…基础上" |
| monoculture | 超过 1/3 的活动集中在同一语义聚类中,探索多样性丧失 |
| Stage A / Stage B | 最终获胜方案的两个阶段:A=从 donor 预测统计构建 bigram 转移矩阵并 SVD 分解写入 embedding;B=用确定性稀疏编辑激活 attention/FFN/SSM 子层 |
| 时间(UTC) | 账户 | bpb | 关键改动 |
|---|---|---|---|
| — | — | 3.3923 | 随机初始化基准 |
| Apr 27 00:57 | worker1 | 2.5151 | GPT-2 unigram prior;残差子层归零 |
| Apr 27 01:50 | worker1 | 2.1284 | Bigram 转移矩阵 + 随机化 SVD → embedding/head |
| Apr 27 06:55 | worker2 | 1.9319 | 24 个前缀,几何平均聚合 |
| Apr 28 04:31 | slurm_worker_4 | 1.9228 | 第二 donor(Cerebras-GPT 111M)+ 方差/自然度权重 |
| Apr 29 11:04 | slurm_worker_2 | 1.9136 | 6 个 donor,28 个单 token 上下文 |
| May 1 05:10 | worker2 | 1.9062 | 随机化 SVD 加一次幂迭代 |
| May 3 00:13 | slurm_worker_3 | 1.9028 | 首个 SSM 编辑(多样性视图触发) |
| May 5 17:34 | slurm_worker_6 | 1.8995 | 第 0 层 FFN 从 GPT-2 small 投影 |
| May 8 13:24 | slurm_worker_1 | 1.8990 | 跨 band SSM 输出投影 |
Stage A:转移先验——对 6 个共享 GPT-2 词表的 donor(GPT-2 small/large + Cerebras-GPT 111M–1.3B),在 28 个单 token 上下文下查询所有词表 token 的 next-token log-softmax。用方差和自然度加权混合后得到一个 50257×50257 的 bigram 对数概率表 \(M\),减去列均值后做 rank-671 随机化 SVD,因子写入 target 的 embedding 和 output head,所有子层权重归零。
Stage B:结构化上下文路由——用确定性稀疏编辑激活子层:每个 attention 层变成对一个 96 维 band 的均匀因果平均池化;layer-0 SwiGLU 从 GPT-2 small 的 MLP-0 做 SVD 投影(scale 0.009);SSM 层的选择性路径被禁用,退化为对一个 band 的门控深度 causal 卷积。每个常数都是作为单一改动引入并被评估器验证保留的。
| 层 | 读 band | 卷积核 | 写 band: 缩放 |
|---|---|---|---|
| Attn 0,2,4,6,8,10,12 | B0..B6 | 均匀因果 | 同 band: 0.21, 0.02, 0.0425, −0.0025, −0.002, −0.0025, −0.0025 |
| SSM 1 | B0 | (1.85, 1.65, 0.20, −2.70) | B0:−0.115; B2:0.010; B3:0.005 |
| SSM 3 | B1 | 均匀 1/4 | B1:−0.060; B2:0.010; B3:0.005 |
| SSM 5 | B2 | 均匀 1/4 | B2:0.010 |
| SSM 7,9,11,13 | B0 | 均匀 1/4 | B2:0.010 (及跨 band 写入) |