产品量子位·原文 2026年9月4日本站收录 2026年9月5日

ScienceDiscovery用树搜索驱动科研代码自行迭代:2小时写出通用振荡积分器,零训练加速代码2.28倍

openJiuwen社区的ScienceDiscovery把科研代码的迭代试错交给程序自动完成,不训练模型、不修改搜索规则。在三个案例中,它分别生成了半无穷区间振荡积分求解器、将₂F₁双精度求值精度提升至平均11.77位,并在AlgoTune基准上实现平均2.279倍加速。

AI解读:这条新闻的本质是:AI不再只是按人的指令改代码,而是自己决定改哪一版、往哪个方向改,把科研中最耗时的试错环节自动化。ScienceDiscovery通过树搜索,每一版代码都是树上的一个节点,得分高的分支获得更多改写机会,失败版本也被记录并隔离在沙箱里,因此模型不需要专门训练,提示词也不指定技术路线。对物理学家或数值计算工程师来说,最直接的价值是三件事:第一,半无穷区间振荡积分首次有了可直接调用的通用求解器,旧方法几乎失效,而新程序在38道题中全部算准;第二,特殊函数₂F₁的双精度求值在1000个新点上平均正确位数从9.836升到11.771,意味着依赖这些基础工具的仿真软件可能整体更可靠;第三,AlgoTune基准显示平均加速2.279倍,比需要额外训练模型的MetaEvolve还快,而且用的是现成模型。但必须注意,这套方法只适用于结果能快速自动判定的任务——比如积分误差、运行时间、方程正确性,这类验证只需几秒到几十秒。如果验证需要几天(像实验科学那样),整个循环就会被拖慢,所以当前它能覆盖的领域仍是代码、算法和数值计算。普通读者暂时不需要采取任何行动,这项技术的影响集中在科研工具链层面。

openJiuwen社区的ScienceDiscovery把科研代码的迭代试错交给程序自己完成:模型不训练、搜索规则也不改,每一轮变化的只有产物。据量子位2026年9月4日报道,该方法通过树搜索驱动科研产物(RSI)迭代,在三个案例中分别实现了振荡积分器的自动生成、特殊函数求值精度的提升,以及代码平均2.279倍的加速。

搜索展开的形状是一棵树。每一版产物是树上的一个节点,可以被再次选中、改写并长出新的分支,也可以暂时搁置后再次修改;得分较高的分支获得更多改写机会。每一轮迭代包括四步:选择一个父版本,交给模型改写,进沙箱评分并挂成新节点,最后把访问记账到它的全部祖先上。运行失败的版本同样入树,标记为失败,且被沙箱隔离。

三案例结果

案例一:半无穷区间上的振荡积分。这类积分通用积分器失灵,因为它依赖局部误差估计决定采样加密位置,而这些函数持续振荡,无法给出可靠收敛判断。ScienceDiscovery用38道题测试,AI看不到题目和答案,唯一反馈是精度分(0分代表全部算准)。直接调用scipy.integrate.quad得−3.40分,19道中仅3道进入3%容差;搜索到第119个版本时得分−0.0007,19道全部算准,平均相对误差0.07%。最终247行程序会先判断被积函数发散性和振荡速度,再分情况选算法,形成一套通用规则,在未参与打分的19道题上同样有效。整场搜索历时2小时,产生236个版本,全程无人干预。

案例二:₂F₁的双精度求值。高斯超几何函数₂F₁(a,b;c;z)的双精度求值被认为是特殊函数体系的枢纽,没有单一算法能覆盖全参数域。基线scipy.special.hyp2f1在测试的参数分布上约三分之一的点正确有效数字不足10位。ScienceDiscovery用glm-5.2跑48次扩展、598秒,产出199行程序。在1000个从未见过的点上,平均正确位数从9.836升至11.771,能算到10位以上的点从659增至965,原先不足10位的点大多被修正。程序发现了一种经典恒等式,在z小于−1时把z换成1/z以避开标准算法的不收敛区域,并自行确定切换条件。

案例三:从观测数据反推方程。LLM-SRBench的LSR-Transform子集给出纯数字表(4000行采样点、一列目标值),树上的每个节点是一段完整的Python程序,返回解析表达式。通过树搜索,111道题中有41.4%写出了正确方程,包括玻尔能级反解主量子数、普朗克分布反解温度、相对论多普勒;每题平均仅16.5次模型调用,采用deepseek-v4-flash,费用开销不足3元。

在AlgoTune基准上,ScienceDiscovery收录154个来自numpy、scipy、networkx、cvxpy的真实数值计算任务,代码必须产生与参考实现相同的结果。用同一套配置跑两个种子,平均加速2.279倍,意味着同样结果耗时降至原来的四成多;提示词未点名任何加速技术。对照成绩:官方榜最高是claude-opus-4.6的1.837,需要先用RL训练模型的MetaEvolve为2.045。

搜索与成本细节

三个案例均使用现成模型deepseek-v4-flash和glm-5.2,权重未调整。调用次数差异明显:符号回归每题平均16.5次模型调用,而表里其他方法约250次;积分搜索2小时产生236个版本,最好成绩出现在第119个(对照组ERA最后一次有效改进出现在第961个节点);₂F₁程序来自48次扩展、598秒。单次搜索产生几十到两百多个版本,单机耗时几十分钟到两小时,中途无需人工干预。

选择规则由打分驱动:全树所有节点放在一起比较,名次靠前者更易被选中,预算倾向高分版本(深挖);同一节点每选中一次权重衰减,路径改几轮后选择转向别处(铺开)。积分案例中,最终版本父节点是第116版,而第116版由第65版改写而来——一个得分仅−2.22、早已被超越的版本。它被重新选中时,当时最优版本第95版(−0.99)已被连续改写5次无果,预算转向了别处。如果仅改写当前最优版本,这条路径不会出现。

搜索结束时的树形,积分问题长出236个版本:前6轮全部指向根节点,长出6条一级分支;随后迅速收敛,229个节点挂在其中一条分支下。最宽版本被改写7次,最深路径15层。同一搜索跑不同题目,树形不同。ScienceDiscovery的底座把演进循环固定为四个插槽:改什么、从哪个候选出发、怎么跑怎么打分、怎么合并提交;换算法只更换插入内容。异步处理是底座的默认特性:n个worker各取一份快照、各产生候选,评估后交给合并层,无需等待其他worker。作为对比,Google ERA的参考实现是串行的,一次扩展一个节点。

信息来源

量子位原始来源