AI 时代的科学计算:当 Agent 撕开科研软件的 30 年技术债务

前几天,OpenAI 联合哈佛医学院、UNC、NVIDIA、Seqera 等 17 家学术与工业机构,发布了一份长达 55 页的探索性实地报告《Scientific Computing in the Age of Agentic AI》。
很多人第一反应以为这又是一篇宣扬“AI 自动做科研、替代科学家”的常规公关文。但真正仔细读完这 55 页的记录与 8 个真实重构案例之后,我感受到的震撼完全在另一个维度。
它没有去吹捧理想化的 AGI 科研幻想,而是把手术刀直接切进了科学界最隐秘、最刺痛的角落:学术科学软件积重难返的技术债务。
过去几十年的科学研究,早已高度依赖计算机算法与软件管线。然而现实是,絕大多数科研软件都是由没有接受过正规软件工程训练的博士后或研究生,为了“赶论文 deadline”快速拼凑出来的原型。一旦论文发表、人员毕业,这些代码就陷入了无人在乎的烂尾状态。
统计数据极其残酷:在随机抽样的 9000 多个已发表 R 语言科研脚本中,74% 在干净环境中首次运行直接报错;在 98 个广泛使用的生物组学(Omics)软件中,57.1% 甚至连官方文档里写的安装步骤都跑不通。
当整个科学界都在用跑不通、测不清、性能低下且随时崩溃的老旧代码跑实验时,科研的沉没成本高得惊人。而 OpenAI 团队与合作者在这项研究中证明的事实极其直白:Agent 的崛起,第一次让清缴这 30 年科研工程债务的边际成本,降到了几乎为零。

8 个案例:当重构边际成本降为零
Section titled “8 个案例:当重构边际成本降为零”在 report 记录的 8 个涵盖基因组学、贝叶斯统计和模型迁移的重构项目中,Agent 展示出的不是“写一两段脚本”的小打小闹,而是真正工业级的底层基础设施外科手术。
最让人震撼的是 RustQC 项目。在生物信息学的 RNA 测序管线里,原本需要依次运行 15 个散乱的质控小工具。这意味着大文件要被反复解压、读取、写盘 15 次。Ewels 团队利用 Agent 将这 15 个工具彻底收敛重写为单个单次扫描的 Rust 架构后: 在 1.86 亿 Read 的真实数据集上,原本需要跑 15 小时 34 分钟 的任务,直接缩短到了 14 分钟 54 秒——整整提速了 60 倍以上!同时,磁盘 I/O 从 2.5 TB 剧降到 0.1 TB。
另一个极具代表性的案例是 HelixForge。基因变异检测工具的测试原本依赖 BamSurgeon 在 CPU 上反复调用外部工具进行重新比对,极其缓慢且会引入比对伪影。开发者借助 Agent 将突变注入直接重写为基于 CUDA/htslib 的 GPU 原生内核,不仅使突变注入阶段提速 98.6 倍(端到端提速 59.6 倍),还彻底消除了重新比对产生的假阳性伪影。

此外,MHCflurry 项目用 Agent 将基于老旧 TensorFlow/Keras 的近 10,000 行免疫学预测模型全库无损迁移至 PyTorch,完全保留了历史权重;hifiasm 将长读长基因组组装的热点代码优化提速 25.1%;HI.SIM 测序模拟器去除冗余内存分配后提速 4 倍。
过去,要完成这样一个全库 Rust 重构或 GPU 算子编写,需要消耗一个资深工程团队数月甚至上年的高薪工时——在学术资助体系下根本不可能批准这笔预算。但现在,Agent 让这种重构变成了“下午想做,晚上就能看到原型”的常态。
真正的危机:从“实现编码”到“断言验证”
Section titled “真正的危机:从“实现编码”到“断言验证””然而,如果以为有了 Agent 就能一键搞定科学计算,那就太天真了。报告用大量篇幅阐述了一个极其深刻的洞察:当编写代码的成本趋近于零时,软件工程的真正的瓶颈并没有消失,而是彻底转移到了“验证断言(Validation Harness)”与“语义漂移审查”上。

在传统软件开发中,如果 Agent 写的代码有错,大多会表现为编译报错或运行时崩溃(Crash)。但在科学计算领域,最危险的错误从来不是崩溃,而是“不崩溃的静默语义漂移(Non-crashing Semantic Drift)”。
比如,Agent 在用 Rust 重写 C 语言算法时,可能会为了提升性能而悄然修改了某个浮点数默认精度、流式缓冲区边界,或者跳过了某些极罕见的边界 Reads。最终程序顺畅跑完,输出了看似非常合理的基因组比对或贝叶斯后验概率,但结果在科学上却是错的。
报告提及,在 rustar-aligner(用 Rust 重写 20,000+ 行经典 STAR 比对器)的重构中,开发者绝大部分的精力并不是看 Agent 写 Rust,而是建立了一套极其苛刻的 Reads 追踪断言体系,逐条对比每一条比对 Read 的 CIGAR 字符串、MAPQ 值与基因位点,才把一致率提高到了 99.88% 的严苛标准。
这正如我们在 《Agentic Analytics 的真相:Claude 自动化 95% 查询后,真正昂贵的是共识》 中探讨过的逻辑:当工具自动完成了 95% 的执行动作后,人类最昂贵、最无法逃避的责任,是定义科学问题的边界与确认最终结果的物理真实。
撕开学术生态的“开源管护权”断层
Section titled “撕开学术生态的“开源管护权”断层”报告中引发我深思的另一个议题,是所谓的 开源管护权(Stewardship)。
在传统开源世界里,如果你重写了一个老旧知名软件,提交 Pull Request 给原作者,往往会遇到两种尴尬:要么原作者早已离开学术界,仓库多年不更新,PR 永远沉底;要么原作者对完全重构的新语言(如 Rust)感到陌生且心生排斥,拒绝接管维护。
rustar-aligner 的团队做出了一个示范:由于原 STAR 软件已不再积极维护,他们没有强行 Fork 或死砸原仓库,而是将代码捐赠给了 scverse 社区,并在 nf-core 生态中建立集成测试。
这给所有准备用 Agent 重写科学基础设施的团队提了个醒:Agent 制造出高性能代码只需要几小时,但赋予这些代码生命力的,永远是人类社区的持续管护与责任接管。 如果没有管护框架,Agent 生成的高性能 Rust 代码,很快又会变成下一代科学家眼中的新一坨“无人维护的技术债务”。
重新定义科学家与 Agent 的契约
Section titled “重新定义科学家与 Agent 的契约”读完全篇报告,如果用一句话来概括 Agent 对科学计算的改变,那就是:它正在将人类最稀缺的智力资源,从“底层代码劳力”解放出来,重新重定向到“规范定义(Specification)、科学验证(Verification)与生态管护(Stewardship)”。
在过去,科学家要证明一个新算法,必须亲自去啃底层 C/C++ 内存管理,甚至为了性能放弃可读性。而在 Agent 时代:
- 科学家负责出思想、出物理约束、出对异象的敏感度;
- Agent 负责出吞吐量、出语言迁移、出极致的高性能重构;
- 人类再用最高标准的验证断言去兜底 Agent 的失误。
这不仅是基因组学或生物信息学的变革,更是所有数据密集型科学研究的全新基线。技术债务不再是科学创新的死结,而变成了一个个等待被 Agent 铲平的绊脚石。
你所在的科研或工程领域,有哪些卡在历史包袱里想重构却动不了的代码库?欢迎在评论区聊聊你的想法。
- Scientific computing in the age of agentic AI (OpenAI Blog)
- Jeremy Li Homepage (OpenAI Research Consultant)
- Trisovic et al. (2022) A large-scale study on research code execution and reproducibility
- Mangul et al. (2019) Challenges and recommendations for obtaining open-source omics software
- nf-core/rnaseq & RustQC Project
- scverse Single-cell Omics Ecosystem