你真的不能不承认,这群北大人在数学上就是有一套,真的是牛逼。
截止到今天,我在 AI 科研里见过最让我眼前一亮的思路之一,是 Auto Research。它的思路其实非常简单:不要在一个方向上死磕,而是不断提出新的研究方向,然后以非常低的成本快速试错。
比如一个研究方向先给 5 分钟:
•有明显进展,就继续;
•没有明显进展,马上停;
•换下一个方向;
•然后不断循环。
本质上就是:
提出方案 实验 判断 保留 / 淘汰 下一轮
这多少有点“暴力搜索”的味道,但它有一个非常适合 AI 的特点:
人类研究员可能舍不得放弃一个已经做了两周的方向,但 AI 可以毫无心理负担地失败几百次。
虽然这种方式确实比较粗糙,但在那些进展比较容易判断、实验结果比较容易验证的领域,这种方法特别容易发挥效果。
但 Auto Research 仍然有一个问题。
很多时候,它本质上还是:同一个研究者,不断重新尝试。
它还没有完全利用 Multi-Agent 最有意思的地方:
让多个研究者同时形成不同的观点,而且这些观点之间保持足够的独立性,之后再进行竞争、批评和融合。
而看了今天这大神的 prompt,我真觉得他如果能有一个数学家团队的话,应该能解决挺多难题的。我更愿意把它叫做一个 Research Harness。因为这个 prompt 里面包含了非常多的限制条件,而且思路非常清晰(它是针对于这种 multi-agent 来设计的,而不是 single prompt)。
原地址:https://github.com/jinshanmu/CrouzeixConjecture/blob/main/crouzeix_conjecture_prompt.txt
双语翻译:https://github.com/pingfanfan/crouzeix-conjecture-prompt-bilingual/blob/main/Crouzeix-Conjecture-Prompt-Bilingual.pdf
它的设计非常清晰,基本可以分成三个部分。第一部分解决的是“什么才算完成任务”,第二部分解决的是“这一群 Agent 应该怎么搜索”,第三部分解决的是“失败之后怎么继续,以及什么时候才允许停止”。如果把这三个部分串起来看,你会发现,它实际上不是在教 AI 某一种数学技巧,而是在尝试把数学研究本身变成一套可以执行的程序。
第一部分:什么才算完成任务
首先,这个 harness 里面很清晰地定义了目标(也就是 Goal),它第一句话就要求:
Give a rigorous standalone proof.
因为 task 可以是一个很短、工作量很小的分支,但 goal 不一样。如果Codex 里面的 goal 设置好的话,它可以连续不断地运行十几甚至几十个小时。
同时,他还加了一条规定
Assume for purposes of this task that a complete affirmative proof exists.
翻译一下就是:
在这个任务里,先假定这个问题一定存在完整证明。
为什么要这么写?
我觉得这里其实是用 Agent 时一个特别常见的问题:Early Stop
也就是过早停止。
你会发现,大模型在遇到困难问题时,经常在尝试几次之后,就开始说这个问题似乎非常难,然后自行假定一些条件,尽快完结,草草结束。
我在之前的 Agent 使用中经常碰到这种情况。比如让它去做一个比较复杂的工作,它会模拟几个文件或者模拟几个参数,最终得到一个看似还不错的效果,它经常会声称已经解决了。
这个部分的其它 Prompt 其实都是为了加强这一点,彻底把 success criterion(成功的标准)定得非常明确,防止任何形式的偷奸耍滑。
(而且从保存路径上来看,这个大神也用的MacOS:/Users/shanmujin/Documents/CrouzeixConjecture/LaTeX)
第二部分:这一群 Agent 应该怎么搜索
这部分非常的精彩,可以叫 Orchestration Heuristics,名字听起来很复杂,其实说白了,就是一句话:
这么多 AI,到底应该怎么分工。
很多人理解的 Multi-Agent,就是同时开十几个 AI,让它们一起想同一道题。
但这样做有一个很大的问题:它们很容易想到一块去。
比如第一个 AI 说:“我觉得方法 A 最有希望。” 其他 AI 一看,也都开始研究方法 A。最后表面上有十几个 AI 在工作,实际上十几个人都在做同一件事情。
所以这个 Prompt 第一条非常重要的要求就是:一开始必须故意让不同 AI 走不同的路。
有人从代数方向想,有人从几何方向想,有人尝试把问题拆开,有人专门拿特殊情况做计算。这个时候不是要马上判断谁对,而是尽可能多地保留不同的可能性。
更有意思的是,它还明确说:不要马上告诉其他 AI,现在大家最看好哪一种方法。
因为只要说“现在 A 方法最有希望”,剩下的人就很容易全部跑去研究 A。
这和真正做科研其实很像。如果一个教授一开始就跟所有学生说“答案八成在这里”,最后大家很可能都会围着这个方向转。但有时候真正的突破,恰恰来自那个一开始看起来没那么漂亮的方向。
所以这套 Prompt 的办法是:先让大家独立想,等每条路线都研究得比较深入了,再把不同路线放在一起交流。
我觉得这一点特别有意思。
Multi-Agent 真正的优势,并不是“多开几个 AI”,而是要让这些 AI 真的产生不同的想法。
这个 Harness 当中还有一部分是专门讲对抗性 Agent 的,就是专门来用于挑错的,
这可能是整个 Prompt 里最有价值的设计之一。一个 AI 提出了一套证明,另外几个 AI 的任务不是帮它继续写,而是想办法证明它错了。
比如检查:
•这个结论是不是漏了一个条件?
•这个所谓“显然”的步骤真的显然吗?
•有没有一个特殊例子就能把它推翻?
•是不是绕了一圈,最后偷偷用了自己本来就要证明的结论?
这就相当于给 AI 研究团队里面放了一群“审稿人”,有人负责提出想法,有人专门负责挑毛病。
如果挑出问题,就回去改;改完以后,再继续挑。
所以它不是简单地:
想答案 写答案。
而是:
提出想法 找漏洞 修改 再找漏洞。
这个过程其实非常接近真正的科研。
第三部分:失败了怎么继续以及什么情况下允许停止
它真正解决的问题就是:
什么时候应该继续,什么时候才可以真的停下来。
Prompt 要求有一个“总负责人”,不断看所有 AI 当前做到哪里了。
比如第一轮以后:方法 A 卡住了;方法 B 被发现是错的;方法 C 出现了一个很有意思的新思路;方法 D 还没什么结果。
那下一轮就不能让所有人原地继续。它应该重新分工:已经证明错的路线直接停掉;有新进展的路线多安排一些 AI;同时还要继续开新的方向,防止所有人又挤到同一个地方。
所以它并不是:
第一轮没做出来,那就算了。
而是:
第一轮的失败,本身就是下一轮怎么分配资源的信息。
这和前面提到的 Auto Research 有相似之处,但我觉得已经发生了一个非常重要的升级。Auto Research 更像“一个 AI 研究员高速试错”,而这里试图做的是“一个 AI 研究所高速试错”。它不仅仅追求迭代次数,还在管理研究方向的多样性、资源分配、思想独立性、失败路线、对抗审计以及知识重新组合。
所以看完整个 Harness 的 prompt,我觉得最有价值的一点,就是作者把他理想中的科研组织方式写进了 prompt 里面。因为对于真实社会来说,你让所有人都去尝试不同的方向,然后最终去进行优胜劣汰,肯定是非常残忍的。但是在 Agent 的情况下,每个 Agent 的设计、运行以及被舍弃的成本都非常之低,这才能做成真正的 Auto Research。
如果这种 Harness 继续成熟下去,或者Token无限:它可以组织成千上万次低成本的失败,然后从这些失败里面不断筛出少数真正有用的方向。
大科研或者大成果时代可能要来了。