昨天翻 arXiv,看到一篇叫 Agora 的论文,arXiv:2609.18094,9 月 16 日挂出来,18 日更新了第二版,cs.LG,跟 cs.AI、cs.CL 都有交叉。它把 Git 当共享内存,让一群研究智能体在没任务分配、也没有中央规划器的情况下自己往下推。13 个语言模型工作器,跑了将近 12 天,解决的是一个权重迁移问题。实验配置我不复述,原文更清楚;这篇只拆一个设计:表现最好的那个方法,提交祖先链有 145 次提交,涉及 15 个账号。
先说我第一眼记住的数。论文里开发评估器分数从 3.39 bits per byte 降到 1.899,跟训练过的 GPT-2 124M 之间 62% 的差距被缩小了。这两个数很显眼,但我先记下来的是 145 次提交那条链。它比分数更能说明 Agora 到底在做什么。
拆开看看它往每次提交里装了什么。论文说,每次提交记录的是结果、洞见、假设、验证或报告,并且关联到此前的工作,整体是一张仅追加的有向无环图。「仅追加」这三个字我一开始没搞懂为什么要单独强调,后来才想明白:如果任何一个工作器都能改别人留下的节点,那条祖先链就不可信了,你复用的时候分不清自己拿到的是原始结论,还是被人顺手改写过的版本。仅追加保护的是追溯能力本身。另外,commit 里装的不只是代码改动,更多是一次尝试的结论,以及这次尝试站在谁的肩膀上——这一点我觉得比「共享内存」这个说法更准确,共享内存是给人的比喻,祖先链才是它实际提供的东西。
论文里有一段结果跟多样性视图有关。集中搜索跑了五天之后,实验引入了这个视图,它会建议去做超出当前领先方向的实验,然后工作器在一天之内开始探索状态空间编辑。这句话反过来读就是在说:前面那五天,大家全挤在同一个方向上。领先结果会自我强化,因为每个新起的工作器都会先去搜领先结果,搜到的越多,就越倾向于沿着它继续做。我原来以为这种趋同是人类团队才有的毛病,看下来一群没有中央规划器的模型也照样会掉进去,而且可能掉得更快——它们读的是同一份可搜索视图,谁都没有「我这条小路可能更有意思」的那种直觉。所以那个多样性推荐机制我理解成一个纠偏装置,而不是锦上添花的推荐算法。
论文里还有一栏是 95 个目标上发布了 165 次独立复现,未报告失败。这一句我持保留态度。「未报告失败」和「没有失败」是两件事,前者是系统里能量出来的观测量,后者没人验证过,我自己做实验也经常是失败了连日志都懒得留。真正该记的是它把复现变成了一条可枚举的条目:一个结论要被别人换一个目标重跑一遍,才算在视图里有位置。这个比我见过的大多数「自评置信度」都实在,因为自评置信度没法被别人推翻。
我平时不跑 13 个 agent,但这条设计可以缩到很小的规模去用。之前我让 Claude Code 自己迭代一个小脚本,几次尝试全散在会话记录里,过两天回去翻,完全想不起来当时为什么放弃了第二条路。会话记录不是祖先链,它只是一条时间线,没有父指针,也没有验证状态。后来我改成一次尝试一次提交,commit message 就按固定四行写:
attempt: sparse-edit SSM blocks 3-7, freeze embeddings
parent: 8f3c1a2 (donor stats -> embed + head, eval 2.41 bpb)
result: dev eval 2.18 bpb
status: verified (2 reruns)
insight: short-range context 靠 SSM 编辑就够了,先别动 attention
前三行是硬性的:父节点、这次的结果、验证到了什么程度。第四行的 insight 随便写,写不写都不影响追溯。这套格式唯一的要求是每次尝试都得先想清楚「我这一步是从哪一步长出来的」,想不清楚就先别提交,说明这次尝试还没有来路。
有了这几行,本地的查询其实用不到什么工具,git 原生命令就够:
# 这条结论的完整来路,倒着读就是策略演化的顺序
git log --oneline 2c9e5a1
# 祖先链有多长,也就是这个结论踩了多少步
git rev-list --count 2c9e5a1
# 只看已经被复现过的结论
git log --grep="^status: verified" --oneline
最后一条是我用得最多的。它顶替掉的,是我以前那种「我记得好像试过但忘了结果」的状态。中间我一度觉得这有点形式主义,agent 跑得快,写 commit 的时间都够它再跑两轮了。后来有一次我按 --grep 把已验证的结论列出来,才发现有三条互相矛盾——如果只翻会话记录,我会同时相信这三条,因为它们看起来都像是「那次跑通了」。这一步花的时间,比重新跑一轮便宜。
有个我自己也没完全想明白的地方得老实讲:论文最后提到,要衡量单位算力对发现效果的影响,还需要做匹配对照比较。也就是说,没有中央规划器到底是不是起了作用,这篇还没有证明。13 个 worker 跑 12 天的算力,换成有规划器的方案会怎样,目前没人知道。我第一遍读的时候被那些数冲过去了,第二遍才注意到这句话。所以在「多智能体自主科研已经成立」这个判断上,我暂时不下结论,我只认那条祖先链的设计本身是能复现的。
划重点:第一,Agora 值得抄的不是它的实验规模,是「每次提交记录结论加父指针、且仅追加」这条约定,它让复用的时候能追溯到来路;第二,多样性机制的存在本身就说明贪心搜索会自我强化,如果你自己跑 agent,最好早点在流程里留一个强制换方向的口子;第三,把你的每次尝试从会话记录挪成带父指针的提交,成本很低,git log --grep 那一下就能省掉一堆重复劳动,这条我也是绕了两次才记住的。你可以先挑手上一个正在迭代的小项目试一遍,把接下来三次尝试写成提交,看看第三天回来还认不认得当时的判断。
