据量子位报道,openJiuwen社区研发的ScienceDiscovery系统将科研代码的试错过程交给树搜索自动完成,在不训练模型、不调整搜索规则的情况下,让产物自行迭代,实现了2小时写出通用振荡积分求解器、代码平均加速2.279倍、从观测数据反推物理方程等成果。
在半无穷区间振荡积分测试中,系统面对38道积分题,看不到题面和答案,只依据精度分获得反馈。直接调用scipy.integrate.quad的基线得分为-3.40,19道题中仅3道进入3%容差;ScienceDiscovery搜索到第119个版本时,19道用于打分的题全部算准,平均相对误差0.07%,整个过程耗时2小时、产生236个版本,全程无人干预。最终生成的247行程序会先判断被积函数发散位置和振荡速度,再分情况选择算法,未参与打分的19道题同样适用。对高斯超几何函数₂F₁的双精度求值任务,系统用48次扩展、598秒产出一份199行程序,在1000个未见过的点上,平均正确有效数字从9.836位提升到11.771位,能算到10位以上的点从659个增至965个。
在代码加速任务AlgoTune的154个真实数值计算题上,ScienceDiscovery使用一套配置跑两个种子,平均加速2.279倍,耗时降到原来的四成多。作为对照,官方榜最高成绩为claude-opus-4.6的1.837倍;使用强化学习训练专用模型的MetaEvolve成绩为2.045倍。ScienceDiscovery调用的是现成模型,没有做任何训练。
在符号回归测试中,系统只根据4000行采样数据和一列目标值,反推背后的解析表达式。LLM-SRBench的111道题里,ScienceDiscovery写出了41.4%的正确方程,包括玻尔能级反解主量子数、普朗克分布反解温度、相对论多普勒等。每题平均只有16.5次模型调用,使用deepseek-v4-flash的费用不足3元。相比之下,其他方法每题调用次数在250次上下。
树搜索的选择规则并不只盯住当前最优版本。所有节点会在一起打分,名次靠前的节点被选中的概率更大,但每个节点被选中一次后权重会衰减,一条路径连续改写没有产出时,预算会转向其他分支。振荡积分问题的最终版本来自第116版,而第116版由得分仅为-2.22的第65版改写而来;当时的最优版本已经连续改写5次都没有更好结果。如果只看当前最优,这条路径不会出现。
ScienceDiscovery的底座由openJiuwen社区开源,提供沙箱评估、异步并发和合并治理,每次迭代由多个worker分别取产物快照、产生候选、评估后合并,不必等待同一轮的其他worker。更换搜索算法时,只需替换对应的选择插槽,其余部分可以保持不变。Google ERA的参考实现是串行扩展一个节点,而该底座支持多个节点同时扩展。
这种自主迭代的前提是结果能快速机器判定。代码、数值计算等任务的评分只需几秒到几十秒,所以200多个版本能在2小时内跑完。对实验周期以天甚至月计的领域,需要用仿真替代部分真实实验、用代理模型筛掉明显不行的方案,或者用自动化实验室加速验证,才能将更多科研任务交给系统自行迭代。