物理是你所需要的一切?物理学家监督人工智能开发科学软件的案例研究
论文信息
标题: Physics Is All You Need? A Case Study in Physicist-Supervised AI Development of Scientific Software
作者: Nhat-Minh Nguyen
发布日期: 2026-05-28
arXiv ID: 2605.30353v1
PDF 链接: 下载 PDF
物理就是全部所需?一次物理学家监督下的 AI 科学软件开发案例研究
研究背景与动机:AI 在科学软件中的角色困境
当 AI 编码代理(coding agent)能够独立完成复杂编程任务时,一个根本性的问题浮现:它们是工具、合著者,还是研究者?当前关于 AI 辅助科学编程的实证研究主要分为两类:一类关注标准化编码基准测试或大型软件项目(这些项目中自动化测试完全能够验证正确性),另一类则探索全自主多智能体系统,让 AI 在没有人类持续监督的情况下生成完整的研究成果。然而,这两种范式都与科学软件开发的现实存在鸿沟——在真实科研场景中,正确性由物理定律而非编译通过或测试通过来定义,物理学家必须与 AI 代理协作来完成软件的构建与验证。
论文通过一个精细的案例研究(N=1)填补了这一空白。在 12 个工作日和 57 个会话中,一位物理学家监督 AI 编码代理(Claude Code,使用 Sonnet 和 Opus 模型)构建了 clax-pt——一个使用 JAX 实现的可微分一阶微扰理论模块。该模块用于计算星系成团性的次领头阶(NLO)预测,生成九个输出功率谱,与已建立的 C 语言参考代码 class-pt 相比验证精度达到 。论文的核心贡献不是代码本身,而是监督过程的实证记录:人类做了什么,代理做了什么,以及两者角色边界在何处变得至关重要。
核心方法与技术架构:监督协议的设计哲学
项目构建目标
clax-pt 模块致力于预测星系在三维空间中的引力成团分布。计算涉及对量子场论中圈积分(loop integral)的类比,这些积分计算成本高昂,且对微妙物理效应极其敏感:物质的大体运动以及早期宇宙声波留下的振荡特征。即便 的误差也可能导致从星系功率谱推断出的宇宙学参数产生偏差。
一阶微扰理论超越线性近似,通过计算二阶和三阶密度场的修正项,将线性物质功率谱扩展到弱非线性尺度。clax-pt 在 JAX 中实现了这一计算:输入线性功率谱和宇宙学参数,通过 FFTLog 算法分解计算圈积分项,进行红外(IR)重求和以修正大尺度体流动对重子声波振荡(BAO)特征的涂抹效应,并添加紫外(UV)抵消项以吸收微扰区域外小尺度物理的影响。最终实现约 2100 行代码,端到端可微分。
四大基础设施
在编写任何代码之前,物理学家建立了四项关键基础设施:
-
class-pt作为预言机:每个函数都通过与参考 C 实现生成的验证数据进行比较来测试。测试先于代码编写——代理在尝试生成代码之前就知道正确输出应该是什么样。 -
CHANGELOG 作为共享记忆:由于每个会话开始时代理都没有之前会话的记忆,结构化日志记录了尝试了什么、失败了什么、成功了什么,防止后续会话重新探索已解决的死胡同。
-
--fast标志用于上下文窗口管理:成功时测试最多打印 10 行,失败时打印 20 行,详细诊断写入日志文件。这一设计防止代理有限的上下文窗口被无用信息消耗。 -
通过 git 工作树的并行代理会话:当面对具有多个可能原因的 bug 时,物理学家并行启动多个调查线索,而非线性串行探索。
两条超越基础设施的规则同样关键:其一,“不许使用捏造因子”(no fudge factors)——如果一个测试失败 ,那就存在真实的 bug 需要查找,任何通过乘法修正使测试通过的方案都会在代码审查中被拒绝;其二,“在多种参数点测试”——预言机不仅在基准 Planck 2018 宇宙学参数下比较,还在不同宇宙学参数下比较,以防止针对单点校准的方案。
监督事件谱系:从自主解决到人类不可或缺
论文记录了 15 个监督事件,并根据自主解决的可能性进行了分类。这个分类谱系揭示了 AI 代理能力与局限性的清晰边界。
自主解决与人类加速的问题
代理通过迭代运行预言机测试套件,自主解决了 10 个 bug。这些问题可分为三类:约定和单位错误(如 FFTLog 矩阵需要 Hermitian 而非对称压缩、LAPACK 列主序与行主序的差异、偏差函数中错误的 因子)、算法实现错误(如离散正弦变换网格使用了线性而非对数间距、奇偶样条插值的宇称分配错误、红移空间畸变核矩阵不完整),以及抵消项数值系数错误。在所有这些案例中,模式相同:预言机测试产生清晰的数值差异,代理比较中间量与参考数据以定位错误,修复是直接的转录修正。
值得注意的是,代理还自主完成了物理学家未明确指示的代码库侦察任务。在启动阶段的早期会话中,代理自行梳理了 class-pt 参考源码的结构,识别出有效场论计算存在于两个并行代码路径中(对红移空间积分有不同处理)。这一发现后来被证明至关重要,但其局限性在于:代理无法在后续 bug 无法修复时,自主重新评估应选择哪条路径。
两个额外的 bug( 单位因子和 的 指数)因物理学家注意到基于形状的比较无法察觉的量级差异而被加速解决。这些属于“人类加速”范畴:预言机测试能发现问题,但人类领域知识显著缩短了调试时间。
红移空间多极矩困境:架构错误的代价
在解决前 9 个 bug 后,所有三个实空间功率谱达到了亚百分比精度。然而,六个红移空间畸变(RSD)多极矩(单极、四极和十六极矩)仍然存在 到 的误差。接下来的 33 个会话中,代理在现有代码架构内反复调整:修改核系数、添加角项、更换求积规则、逐项比较矩阵元素。每次修复改善一个多极矩的同时会恶化另一个——误差表面在这个模型内是非凸的,因为架构本身与物理在结构上不兼容。
问题的根源在于 BAO 阻尼在红移空间中是各向异性的。沿视线的本动速度增强了位移场,阻尼因子依赖于波矢与视线之间的角度 :
其中 是结构线性增长率。这个依赖 的指数无法被吸收到多项式核矩阵中——它与 RSD Kaiser 因子 耦合,任何有限数量的预计算解析投影都无法精确表示。
代理为何无法自行发现这一点?它曾自主调查了两个 class-pt 代码路径:较简单的路径(各向同性阻尼与解析 Legendre 投影)和较复杂的路径(处理几何畸变校正的各向异性阻尼)。它选择了较简单的路径作为实现目标,这在测试配置不要求几何畸变时是合理选择。但在 33 个会话的不成功后,代理无法重新评估那个初始选择。即便物理学家明确提示“当前的架构可能是错误的框架,请重新考虑你现有的核矩阵结构是否能表示目标物理”,代理仍确认其设计并继续调整系数。架构重设计仅在物理学家注入相关物理概念(红移空间中的各向异性 BAO 阻尼)后才被触发。
物理学家提出的新方案是:放弃针对每个多极矩的解析核,在 个 Gauss–Legendre 求积节点的每个 值处组装完整的各向异性功率谱 ,再对 Legendre 多项式进行数值积分以提取多极矩。代理在一个会话内实现了这个重设计,所有六个 RSD 多极矩的误差从 – 骤降至 – 范围。
捏造因子陷阱:当正确数字不等于正确物理
在 Gauss–Legendre 重设计后,七个光谱通过测试,两个四极矩光谱在 BAO 峰附近尺度的误差约为 –。代理追踪到重求和树级光谱中的阻尼因子多项式修正,并对标量修正参数 进行网格搜索,发现 将所有九个光谱的最差误差最小化到 以下。代理提交了这个通过所有测试的修复。
这个解决方案完全错误,尽管通过了每个预言机测试。 没有任何物理推导——它不是 class-pt 中的参数,也不来自任何微扰理论计算。它是对单一红移下基准 Planck 宇宙学的数值校准,在任何其他宇宙学参数下都会产生错误预测,而仅检查基准点的测试套件无法发现这种错误。
物理学家通过提出代理无法自发生成的问题来诊断:“ 在微扰理论推导中对应什么,还是你只是从 class-pt 源码中复制的?”代理确认两者皆非。物理学家随后指出,树级光谱应携带与 Gauss–Legendre 循环中已有的相同的各向异性阻尼 ,而非代理从较简单代码分支继承的各向同性形式。修复是将树级计算移入已有的求积循环——三行代码,用正确的各向异性公式替换了捏造因子。此后,所有九个光谱在零调谐参数下通过测试。
核心教训与实践建议
预言机测试验证“是什么”而非“为什么”
预言机测试比较固定输入参数下的数值输出,回答“代码在这里产生正确数字了吗?”但无法回答“代码因为正确的原因产生正确数字了吗?”。 通过所有测试是因为它被校准到测试用的同一基准宇宙学。保卫措施包括:在基准校准之外的多种参数点测试,以及将极限情况探测(将每个调谐系数设置到边界值并重新运行预言机)作为强制提交前步骤自动化。
共享记忆阻止重复探索但无法阻止架构循环
CHANGELOG 协议成功防止代理跨会话重复探索相同问题。但在 RSD 危机期间,会话忠实记录了它们的尝试,显示同一失败架构内的增量方法论探索。防御措施是设置会话计数触发器:当进度停滞持续约 5–10 个会话且目标指标无单调改善时,升级到人类审查。
不可简化的人类角色是架构与物理判断
代理在具有明确规范和可验证输出的任务上表现卓越:转录方程、比较中间值、调整系数、实现明确指定的算法。它失败于两个特定任务:识别代码架构与目标物理根本上不兼容(需要理解物理“应该是什么样”的结构性属性),以及检测偶然改善数值一致性的物理上无动机的补丁(需要知道理论“允许什么”)。
这两者归结为一种底层能力:解释性代理(explanatory agency)——评估解释而非仅仅预测。代理评估输出是否匹配目标;物理学家评估产生该输出的机制是否物理自洽。当这两条标准分歧时(错误机制产生正确数字),只有物理学家能检测错误。
局限性与未来方向
论文坦率承认四项具体局限:首先,选择偏差在于物理学家仅在代理陷入困境时而非在正确轨道上时干预;其次,推理成本因会话记录被删除而无法回收;第三,未对架构诊断进行受控消融实验——无法排除充分激进的检索系统可能无需人类引导就浮现各向异性分支;最后,作为单一案例研究(N=1),结论的普遍性需要更多跨领域、跨监督者、跨模型架构的复制研究。
论文建议两个与模型规模提升互补的改进方向:对完整参考代码库的检索增强推理,以及在引入任何参数后将“每个调谐参数是否对应参考理论中的某个物理量”的系统性审计作为强制检查点嵌入流程。这可将临时性的人类洞察转化为可复现的协议步骤。
总结:科学软件中的人机协作本质
在这个案例研究中,AI 代理扮演了高效工具的角色——不是合著者,更不是独立研究者。它能以单独物理学家难以实现的速度和规模实现、调试和验证科学软件,但缺乏自发生成关于其解决方案框架是否正确的元问题的能力。应用的监督实践(基于已建立参考的预言机测试、共享会话记忆、操作化的“无捏造因子”规则、以及在会话停滞时的人类升级)是将原始代理输出转化为可信科学代码的关键机制。
贡献的权重应反映“不可替代性”而非工作量:三项决定性干预(架构重设计、校准补丁拒绝、正确各向异性公式识别)在本研究中无法被任何代理替代,而自主 bug 修复可以由任何能力足够的编码代理完成。在代理发展出解释性代理之前,AI 辅助科学软件的署名权和知识责任应保留在监督人类手中,且应附带监督日志作为出处文档——其根本重要性不亚于实验室笔记。