ScienceIDE:把全球科学代码库变成智能体可学习环境 ScienceIDE: Turning World's Scientific Codebase into Agent Learnable Environments
专家判断编译为可执行科学检查,把科学代码库变成智能体可训练、可评估的环境
前置知识
RLVR(可验证奖励的强化学习)
不依赖人类偏好模型或学习出的奖励代理,而用确定性验证器(编译器、单元测试、数值检查)直接给智能体最终产物打分的强化学习范式。奖励通常是对/错或部分分,训练时以一组采样轨迹的平均奖励为基线计算优势。本文的奖励来自:编译智能体修改后的代码并运行科学仿真,用数值检查核验输出。
本文 §3.4 的 RL 实验完全建立在可验证奖励之上:验证器的数值等价判定就是奖励函数。理解 RLVR 才能明白为什么预算截断轨迹的奖励处理方式会深刻影响训练稳定性。
GRPO 与 Dr. GRPO
GRPO(组相对策略优化)对同一提示采样 $G$ 条轨迹,用组内平均奖励作基线计算优势;原式会再除以组标准差。Dr. GRPO 指出:当组奖励近双峰(大多为 0、偶有 1)时除以标准差会放大孤立成功,主张只除以常数。本文即采用此形式 $\hat{A}_i = \frac{1}{G}\left(R_i - \frac{1}{G}\sum_{j=1}^{G} R_j\right)$,$G=8$,并配非对称 PPO 裁剪 $\varepsilon_{low}=0.2$、$\varepsilon_{high}=0.3$。
论文 RL 用的正是这一目标函数,配合截断轨迹掩码(公式 S2/S3)。读懂它才能理解 §3.4 中'截断惩罚捷径'失败模式的机制与修复方案。
科学检查与通过策略(scientific check / pass policy)
本文定义的最小奖励单元:固定输入 + 分级输出 + 通过策略。逐点策略要求每个被评级数值满足 $|c-r| \le a + \rho|r|$(绝对加相对容差,$a=\rho=0$ 即精确相等);不变量策略在逐点界无法既容纳 run-to-run 涨落又拒掉真实故障时,转而比较矩、分布、守恒量、积分范数等聚合量。检查只评级物理可观测量,绝不评级存储顺序、自适应步数、计时、特征向量相位等簿记量。
整套环境、任务验证、SFT 数据筛选、RL 奖励全部以检查为锚,这是理解'科学经验瓶颈如何被编译成可执行契约'的钥匙。
SWE-bench 式仓库任务与任务工厂
SWE-bench 开创了'真实仓库 + 测试通过与否'的评测范式;后续 SWE-Gym(2,438 题)、R2E-Gym(8.7k 题)、SWE-smith(50k 实例)把仓库任务扩展为训练资源。但通用软件测试常欠约束科学契约。任务工厂指把可复用的出题程序(可逆编辑、确定性展开、验证准入)特化到单个环境,自动批量生产候选任务再逐个验证。
本文正是这套'环境扩展议程'在科学代码上的延伸。理解它与 SWE 系列的差异——科学验证、专家标定容差——才能看清其真正贡献点。
轨迹级 SFT 与 LoRA
LoRA 在冻结基座的所有线性层旁挂低秩增量做参数高效微调。轨迹级 SFT 指把智能体与环境交互的完整轨迹(含工具调用、执行反馈)作为监督数据,训练模型复现高水平解题动作。本文用 GPT-5.6-sol 生成演示、数值等价验证器筛选,得 4,567 段/564 题训练数据,用 ms-swift 对 Qwen 底座做 3 个 epoch 的全线性层 LoRA。
§3.3 的 SFT 实验是'科学经验能否正迁移到通用能力'这一核心主张的证据链,理解其数据构造与分割方式(按任务 ID 排重)才能正确解读基准提升。
数值容差标定(tolerance calibration)
科学代码输出受编译器、硬件、并行顺序影响存在 run-to-run 涨落,容差必须既容纳有意义窗口内的数值敏感性、又不放过真实缺陷。本文用标称/变体初始条件量化敏感性(变体扰动最小充分输入集),可选 altbuild 在同源另一合法构建上记录跨构建分离度,自验证要求标称与变体各自独立复现参考并拿满奖励,每条检查附通俗担保说明。
容差标定是'专家判断'被固化为可执行契约的具体机制,也是本文的科学检查区别于普通单元测试的本质所在。
研究动机
科学代码仓库沉淀了几十年可执行的领域知识——数值求解器、物理模型、分析工具——但把它们转化为可靠的智能体训练经验,存在作者所称的'科学经验瓶颈'。具体卡在三处:其一,工具链碎片化,异构的构建系统、依赖和配置让仓库难以可复现地运行;其二,正确性判据特殊,验证依赖物理量、数值容差和不成文的领域约定,通用软件测试往往欠约束科学契约——例如把科学代码移植到加速器至今仍是逐个手写移植,绑死在厂商工具链上,且默认双精度而非按需推导精度;其三,能跑的代码不等于有意义的学习任务,还需行为验证、分级反馈和交互记录,论文、仓库、数据集不会自动变成可训练环境。现有科学基准只做评测不供给经验:SciCode 80 题、ScienceAgentBench 102 题、SWE-bench Science 119 题、CORE-Bench/PaperBench 复现类。失败证据也很直观:ScienceIDE-Hard 轨迹审计中预算耗尽占任务平衡失败的 37.3%,参考约定不匹配是最主要失败原因,说明这类长程科学工作恰恰缺训练供给。
本文的目标是作者要造的是开放基础设施 ScienceIDE:把全世界科学代码变成可编程的智能体环境。目标分四层。第一,由领域专家定义科学职责与验收标准,由智能体把仓库改造成可执行环境——包含可编辑工作区、标定好的科学检查和私有验证器,支持任务生成、执行与科学验证。第二,让一个环境同时服务三种消费方式——held-out 评测、SFT 轨迹监督、RL 验证器奖励,模型和训练器可替换而科学内容保留。第三,用验证过的交互轨迹训练 PhAI-IDE-72B/9B/4B 模型家族,验证科学经验对科学代码修复和通用代码/推理/知识基准的正向迁移。第四,把能力还给科学:同一接口支持维护、加速、复现和发现型工作,交互产生的新任务、新检查经科学验证后回流注册表。目前注册表已有 27 个代码库、64 个环境、2,812 个任务和 1,076 条可执行检查。
与已有工作不同的是,独特切入在于把'专家判断'与'重复出题'解耦:基准论文提供一次性评测实例,本文让'专家审定的科学模块+其检查'成为可复用的出题单元,环境特化的工厂批量生产任务,专家精力只花在科学边界和新目标上,一个环境同时支撑修复、实现、复现、加速多个任务族。第二个独特之处是候选任务的证据化准入——AI 提议不等于有效,必须用三条可执行证据证明任务可观察、可解、可信:已知有效 witness 通过、未修复基线留有提升空间、缺陷注入产生且仅被参考修复消除的检查失败。第三是把验证本身当作科学建模问题:容差不靠拍脑袋,而用标称/变体初始条件测敏感性、用 altbuild 测跨构建分离度后由策展人定案。第四个是 RL 层面的发现:作者观察到并修复了长 horizon 科学任务特有的'截断惩罚捷径',这是通用 RLVR 文献少有触及的角落。
核心方法
先给直觉:让领域专家把'什么算做对了科学'翻译成机器可执行的检查契约,之后一切出题、评分、训练都围绕这份契约自动展开。技术路线是五段流水线(Figure 2)。(1) 编译专业知识:智能体检查钉死的上游版本、依赖和构建假设,跑官方测试与示例,按科学职责与可执行覆盖切分模块,专家审定后打包成带运行时和检查的可复用环境。(2) 从官方测试到科学检查:盘点单元/回归测试和示例,逐条溯源到模块职责,保留、排除(附理由)或标记缺口,用标称/变体条件标定容差。(3) 工厂特化:通用出题程序配上环境特定规则——活跃路径、用例、构建配方、有意义的变换。(4) 任务制造与验证:AI 提议经确定性展开成变异/切除候选,逐个在最终评分环境里跑证据,通过才成为任务。(5) 智能体交互与学习:统一 episode 接口记录轨迹、奖励、状态和资源,供评测/SFT/RL 消费。当前规模:27 个代码库、64 个环境、2,812 个任务(修复 2,515、实现 295、加速 2)、1,076 条可执行检查。
核心创新是把'检查'定义为最小奖励单元,并把专家科学判断编译成两种可执行通过策略:逐点策略要求每个被评级数值满足 $|c-r| \le a + \rho|r|$(精确相等是 $a=\rho=0$ 的特例);不变量策略在逐点界无法既容纳 run-to-run 涨落又拒掉真实故障时,比较矩、分布、守恒量或积分范数。与已有工作的本质区别有三。其一,SWE-bench 系列以软件测试为锚,而测试常欠约束科学契约;这里锚定的是物理可观测量——粒子属性跟粒子 ID 走而非数组槽位,存储顺序、自适应步数、计时、特征向量相位等簿记量明确不算可观测量。其二,环境是'模块级'而非'任务级'资产:一份检查契约同时支撑多个任务族,如 LAPS 环境同套检查既出缺陷修复题也出缺失时间步例程的重建题,题目要求变了而要恢复的数值行为不变。其三,私有验证器与工作区物理分离,任务书可以变化而验收契约在出题前冻结,杜绝对着测试反推答案的泄漏路径。
方法步骤详情
五步流水线,每步输入输出明确。第 1 步环境构建:输入是钉死版本的仓库;智能体构建源码、跑官方测试和示例,产出按科学职责与可执行覆盖划分的模块提案(含输入输出、算法阶段、拥有的实现路径、排除职责、支撑测试);领域专家审定边界后,智能体实现实验适配器并提议科学输出,最终包出可编辑工作区+检查+私有验证器,源码钉扎与依赖附着在可复用运行时上。第 2 步检查标定:输入是上游单测/回归/示例;逐条溯源后保留、排除或标记缺口;用标称与变体初始条件测数值敏感性,可选 altbuild 记录跨构建分离;自验证要求标称/变体独立复现参考并拿满奖励;策展人读源码定策略、容差、窗口与变体,每条检查带通俗担保,修订契约需新证据。第 3 步工厂特化:可复用程序处理可逆编辑、执行、工件组装,本地规则识别活跃路径与有意义变换,智能体提议语义编辑点,确定性展开成候选。第 4 步任务验证:候选须证明 witness 通过、基线留空间、检查失败被参考修复消除;修复分按 $r_{repair} = \max\left(0, \frac{r-f}{1-f}\right)$ 归一化($r$ 为科学一致度、$f$ 为未修复基线得分);另做泄漏筛查,记录执行完整性失败并区分科学失败与基础设施失败。第 5 步交互学习:episode 接口统一记录轨迹/奖励/状态/资源,分别供给 held-out 评测、SFT 选轨迹、RL 取验证器原生奖励。
技术新颖性
技术新颖性可从四个维度看。基准设计上,区别于 SciCode(80 题)、ScienceAgentBench(102 题)等专家手写一次性套件,也区别于 SWE-bench Science(119 题直取维护者 PR)和同样源自真实 PR 的 AInsteinBench——它们是评测集,本文是可复用的生产基础设施:27 个代码库产出 2,812 个任务,专家成本摊销到只定边界。验证机制上,逐点界 $|c-r|\le a+\rho|r|$ 加不变量策略、标称/变体标定、altbuild 跨构建证据构成可审计的容差方法论,并坚持'设计标签不等于实测难度',trace 审计把求解失败、预算耗尽、基础设施故障、奖励错位分开归因。训练方法上,作者发现长程科学 RL 特有失败模式:预算截断轨迹在 outcome-only 奖励下经组基线被压成负优势,而 token 均值聚合让最长(往往最难)的轨迹受罚最重,模型于是学'缩短轨迹'而非'解出任务'的捷径;修复是把截断轨迹保留在组基线中但从损失中掩码,并关掉 DAPO 长度惩罚——对任何长 horizon RLVR 都有借鉴价值。基础设施上,rollout(vLLM)与训练(PSRL,veRL 定制)独占 GPU、agent-loop(harbor)共享 CPU 的异步三段式栈,解决了 episode 长度极不均(重建 Fortran 求解器跑完整仿真)时的同步等待问题。
实验结果
四组实验各有硬数字。其一,智能体评测:15 个模型(8 家厂商)经 Codex/Claude Code/Gemini CLI 在 85 题 ScienceIDE-Hard 上以 1 小时预算评测,Claude Fable 5.1 以 67.1% 居首(单次估计),Opus 5 为 64.6%、GPT-6 Astra 为 63.1%(重复区间重叠,前三排序并非统计确证),Sol 55.0%,其余 11 个系统低于 40%——Qwen3.8 Max 39.2%、DeepSeek V4.1 Flash 36.0%、Claude Haiku 4.5 4.7%、MiniMax-M3 仅 4.4%;即使头部智能体也剩约三分之一任务未解。其二,预算-收益剖面:10 分钟时 Astra 已达 49.6% 而 Fable 仅 25.9%,约 31 分钟才被反超;20→60 分钟 Astra 仅涨 2.0 个百分点,Fable 涨 11.8、Opus 涨 16.0、Qwen3.8 Max 涨 30.2;成本上 Fable 67.1% 花 $7.90/题(16.8 分钟、85.7k 输出 token),Astra 63.1% 只花 $3.56(9.4 分钟、13.9k token),DeepSeek V4.1 Flash 输出 172.4k token 仅得 36.0%;成功与运行时/输出量的 Spearman 相关为 −0.22 和 0.01,资源消耗与科学正确性是独立维度。其三,SFT:GPT-5.6-sol 演示经验证器筛选得 4,567 段/564 题,全线性层 LoRA 三轮后,4B 在 PLUTO-Particles-Dust 修复奖励从 0.0000 升至 0.3333(+33.33pp),9B 在 LAPS 从 0.3125 升至 0.5000(+18.75pp);公共基准有 15 组 ≥3pp 提升,含 9B BBH 词排序 0.240→0.576(独立确认集 27.20→63.20,CI [26.40,46.40])、4B HumanEvalFix JS +10.98pp、72B HumanEval +3.13pp;但 9B HumanEvalFix Python 下降 8.33pp,说明迁移非均匀。其四,RL:加入截断掩码后训练 30 步,LAPS held-out 奖励 0.357→0.857(2.4×)、MITgcm-biogeo 0.286→0.571(2.0×),训练截断率分别从 39.5%→6.6% 和 34.1%→23.8%,且每轮 token 不降反升(1103→1135、780→914);未掩码的对照 run 奖励先升后崩至起点以下、每轮 token 跌超 3 倍,直接展示了捷径失败模式。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| ScienceIDE-Hard 科学修复/实现(85 题,1 小时预算,15 个模型-harness 系统) | 严格科学成功率($r_{repair}=1$) | 最高 Claude Fable 5.1:67.1% | 次优 Claude Opus 5:64.6%;最低 Claude Haiku 4.5:4.7%、MiniMax-M3:4.4% | +2.5pp(区间重叠,非统计确证排序) |
| LAPS held-out 修复(14 题,Qwen3.5-4B) | 平均 shaped verifier 奖励 | RL 30 步后 0.857 | 基座检查点 0.357 | 2.4×(+50.0pp) |
| MITgcm-biogeo held-out 修复(21 题,Qwen3.5-4B) | 平均 shaped verifier 奖励 | RL 30 步后 0.571 | 基座检查点 0.286 | 2.0×(+28.5pp) |
| PLUTO-Particles-Dust held-out 修复(Qwen3.5-4B) | 修复奖励 $r_{repair} \in [0,1]$,保留部分分 | SFT 后 0.3333 | 初始模型 0.0000 | +33.33pp |
| LAPS 定位修复(SFT 协议,Qwen3.5-9B) | 修复奖励 | SFT 后 0.5000 | 初始模型 0.3125 | +18.75pp |
| BBH Word Sorting(Qwen3.5-9B,独立确认 125 项) | 准确率 | SFT 后 63.20% | 初始 27.20% | +36.00pp,CI [26.40, 46.40] |
| HumanEvalFix JavaScript(Qwen3.5-4B,n=82) | 通过率 | SFT 后 46.3% | 初始 35.4% | +10.98pp |
| CodeXGLUE 缺陷检测(Qwen3.5-4B,独立确认 2,604 项) | 准确率 | 52.92% | 45.93% | +6.99pp,CI [4.03, 9.87] |
| GSM8K(Qwen3.5-9B,n=128) | 准确率 | 93.0% | 89.8% | +3.13pp |
| HumanEval(Qwen2.5-72B-Instruct,n=128) | 通过率 | SFT 后 85.9% | 初始 82.8% | +3.13pp |
局限与改进
作者坦承的局限:证据仅覆盖参考可验证的软件任务,以计算物理和地学的修复/实现为主,不涉及开放式发现;工厂生成的变体可能共享代码路径和假设,任务数量不等于独立科学覆盖;Hard 集只探到 1 小时预算和两处耦合编辑点;验证本身是科学建模选择——与选定可观测量在标定容差内一致不等于检查之外的正确性,合法替代实现可能与参考不一致;独立外部审计与对抗性 reward-hacking 评测缺位;检索控制无法排除模型对公开源码的预训练记忆,旧镜像留有文件时间戳线索,难度筛选早于完整检索隔离;SFT 收益限于选定公共基准、RL 收益限于带提示的训练环境内 held-out 任务,均未证明向未见代码库的迁移;RL 对比未估计种子间方差。我的补充观察:任务供给严重偏斜——2,812 题中修复占 2,515、加速仅 2,发现/标定/复现/集成四族基本只是接口占位;15 个模型各自绑定不同 harness,模型-脚手架混杂无法拆开归因;Fable 单次测量却居榜首;成本按归档 token 价格而非现价估算,跨模型比较的经济结论需谨慎。
独立分析的弱点
独立分析出四个弱点。第一,验证即单点真值:所有奖励最终锚定'与参考实现数值一致',但物理问题常有多个合法解(不同差分格式、不同收敛容限),被参考否决的好方案拿零分——改进方向是引入基于不变量与误差界的方案无关评分,或允许专家登记合法替代参考进入评分集合。第二,任务供给结构性偏斜:2,812 题中 2,515 题是可逆变异生成的缺陷修复,自动化通道决定了供给形状,而真正稀缺的加速(2 题)、发现、复现缺乏可扩展制造机制,模型容易过拟合'找被注入的 bug'这一先验——改进方向是为每族任务设计专用工厂并报告跨族泛化曲线。第三,迁移证据薄弱:RL 的 held-out 集仍在训练环境的任务银行内(LAPS 85 训/14 验、MITgcm 64 训/23 验),SFT 只按任务 ID 分割未控制同源变体泄漏,'科学经验→通用能力'的正迁移只有筛查级证据且存在 −8.33pp 反例——改进方向是留出整个代码库做跨库测试。第四,评测协议混杂:模型与 harness 绑定、Fable 单次测量、Spearman 相关仅 −0.22/0.01 说明成本与正确性脱钩但也意味着效率维度缺乏统计力度——改进方向是统一 harness 交叉评测、增加重复次数并报告任务级 bootstrap 区间。
未来方向
作者规划的下一步:扩展科学覆盖并发布 1,000 环境注册表;拓宽任务族覆盖;为开放式研究设计能容纳竞争性假设和新颖结果的检查机制;维持'科学供给经验、更好智能体反哺科学工作'的循环。基于现有成果可延伸的方向有六。其一,把截断轨迹掩码作为通用长 horizon RLVR 技术推广到网页操作、实验自动化等领域并做系统消融——这是本文最有普适价值的方法论贡献。其二,加速任务族与 GPU 移植结合:论文开头指出的'逐个手写移植'痛点,恰好能用'以科学检查为验收'的方式批量推进,并研究低精度/混合精度下容差的推导规则。其三,跨代码库迁移研究,用环境 embedding 或课程设计检验修复技能能否泛化到未见仓库。其四,对抗 reward-hacking 的红队评测:自动搜索'满足检查但不科学'的退化解,量化检查契约的漏洞密度。其五,把 1,076 条检查扩展为跨领域物理不变量库(守恒律、收敛阶、谱性质),形成可组合的验证语言,降低新环境接入成本。其六,社区共建注册表的治理机制:专家审定流程、许可证、上游再分发权与版本再验证策略。
复现评估
复现评估:论文标注 Project/GitHub/Model 链接,自我定位为开放基础设施,注册表、CLI、任务银行与 PhAI-IDE 模型家族承诺公开;附录 S2.2/S6 给出库存与标定细节,S3 给出估计量与重复覆盖,S5.1/S5.2 给出 SFT/RL 全部超参,信息完整度较高。但复现成本差异极大。跑评测需为每个环境复现钉死版本的构建链(含 Fortran 求解器、MPI 等科学栈),85 题 × 1 小时 × 多次重复的智能体调用费用可观——头部模型每题 $3.56-7.90;SFT 部分最易复现:ms-swift 对 Qwen 底座(4B/9B/72B)全线性层 LoRA 三个 epoch,4,567 段训练数据,单机可行;RL 部分最难:需多节点 H20(每节点 8 GPU)上 vLLM rollout 与 PSRL(veRL 定制)训练的异步栈,外加 harbor 容器化 episode 执行,普通实验室难以复制,且一次迭代中训练更新就占 2,069 秒/3,210 秒。另外环境扩展依赖领域专家审定与上游再分发权,第三方无法轻易为新代码库自建环境。综合判断:评测复现中等偏难,SFT 容易,RL 困难。
论文图表
五个面板总览全文: 为'专家接地构建→可复用基础设施→策略学习'的三段流程(科学代码库/专家打包/任务工厂/任务验证 → 环境/任务库/基础设施演化 → 智能体评测/验证轨迹做 SFT/科学检查做 RL/更新策略); 为 Science4AI 与 AI4Science 的双向循环(用科学发展 AI、用 AI 加速科学与代码维护);(d) 64 环境/27 代码库的领域环形图(天体 MHD/流体 13、空间等离子体 7、海洋/气候 6 等)与七类任务分类;(e) ScienceIDE-Hard 模型-harness 排行榜,从 Claude Fable 5.1 的 67.1% 到 MiniMax-M3 的 4.4%。
一图总览论文动机(科学经验瓶颈)、资产规模(64 环境/2,812 任务)和核心评测结果,是快速把握全文的入口。