FormalScience: Scalable Human-in-the-Loop Autoformalisation of Science with Agentic Code Generation in Lean¶
会议: ACL 2026
arXiv: 2604.23002
代码: https://github.com/jmeadows17/formal-science
领域: 代码智能 / 形式化 / Lean4 / 自动形式化
关键词: 自动形式化, Lean4, 物理形式化, Agent, Human-in-the-loop, 语义漂移
一句话总结¶
FormalScience 提出一个领域无关的人在环 (HITL) Agent 流水线,让单个领域专家在不会 Lean 的情况下,把非正式的科学推理(特别是物理)转写成 100% 编译通过的 Lean4 代码,并构建出首个 200 题大学物理形式化基准 FormalPhysics,系统刻画了「编译通过」但「语义漂移」的现象。
研究背景与动机¶
领域现状:把人类自然语言写的数学推导自动翻译为 Lean / Coq 等定理证明器可编译的形式化代码(autoformalisation),是 LLM × 形式化方法的明星方向。已有的基准(miniF2F、ProofNet、Lean Workbook、Herald 等)几乎全部聚焦在奥林匹克或本科数学,最近虽然有 FormalMath、Herald-Proof 把规模做到几万到几十万级,但域始终是纯数学。
现有痛点:科学领域(特别是物理)的形式化几乎是空白。原因在于:(1) 物理大量使用 Dirac 记号 \(\ket{\Psi}\)、矢量微积分 \(\nabla\times\vec{E}\) 等领域专有符号,而 Lean4/Mathlib 不直接支持;(2) LLM 在分布外、长链推理上幻觉率随复杂度爆炸式增长;(3) 现有 Herald-Proof 等数据集的形式有效率(FV)甚至只有 2%,意味着「自动生成」与「真正能编译」之间存在巨大鸿沟。
核心矛盾:作者通过实验发现一个核心 trade-off — 形式有效性 (FV) 和 语义对齐 (FQ/LP/MC) 之间几乎正交(Spearman 系数 ≈ 0,\(p>0.9\))。换言之,专门为 compile 优化的小模型(如 Kimina-7B 拿到 51.5% FV)会通过"凑出能编译的代码"来作弊,语义却完全跑偏;而对齐分高的大模型 GPT-5.1 在 zero-shot 下 FV 只有 14.5%。
本文目标:(i) 设计一个低成本(单人 / 1 月 / 50 美元)就能产出 100% FV 形式化数据集的人在环 pipeline;(ii) 给出物理领域第一个高质量基准 FormalPhysics;(iii) 系统刻画「编译通过但语义漂移」这一现象,回答「Lean 到底验证了什么」这个 epistemic 问题。
切入角度:作者把人类专家定位为与编译器 \(\mathcal{L}\) 同构的二元分类器 \(\mathcal{H}\in\{0,1\}\) — 既然 LLM 单独搞不定语义对齐,那就让专家在"对齐"这一关充当一个轻量级 oracle,但不要求专家会写 Lean,只判断"形式化代码对不对得上原始陈述"。
核心 idea:把自动形式化分解为「语句生成 + 形式化代码生成 + 编译纠错 + 专家对齐校验」四个嵌套循环,编译循环由 Lean 当 oracle,对齐循环由人当 oracle,两者交替直到收敛。
方法详解¶
整体框架¶
FormalScience 是一个三阶段、双 oracle 嵌套的 pipeline(Alg.1):
- 输入:一批非正式证明 \(\mathcal{D}\)(如 LaTeX 推导)+ 一个少量金标准对 \(\mathcal{D}^*=\{(\mathcal{S}_i,\mathcal{P}_i)\}_{i=1}^{N'}\)(论文中 \(N'=5\))。
- 阶段 A (in-context 语句重写):用 few-shot 模板 \(T_{fs}\) 让 LLM 把粗糙证明 \(d\) 重写成与 \(\mathcal{D}^*\) 风格对齐的 \((S,P)\) 对,得到中间数据 \(X=\sum_{d\in\mathcal{D}} S\big(\mathcal{M}(T_{fs}(d,\mathcal{D}^*);P_a)\big)\)。
- 阶段 B (编译纠错循环 \(\mathcal{R}\)):用模板 \(T_g\) 生成初始 Lean 代码 \(C^{(0)}=\mathcal{M}'(T_g(x))\),定义 Lean compiler 工具 \(\mathcal{L}(C)=(0,\varepsilon)\) 若编译通过、\((1,e)\) 否则返回错误 \(e\);迭代 \(C^{(t+1)}=\mathcal{M}'(T_c(x,C^{(t)},e))\) 直到 \(t^*=\min\{t:\mathcal{L}(C^{(t)})=(0,\varepsilon)\}\)。
- 阶段 C (专家对齐循环):专家以二元分类器身份判断 \(\mathcal{H}^{(k)}=\mathcal{H}(\mathcal{M}'(T_g(x),C^{(k)}))\in\{0,1\}\),若不对齐 (\(\mathcal{H}=1\)) 就在 prompt \(P_g\) 引导下再生成一版并嵌套调用 \(\mathcal{R}\) 重新编译;patience \(\mathcal{P}\) 控制最大轮数。
- 输出:三元组 \((S,P,C)\),其中 \(C\) 是 100% Lean4 可编译代码。最终对所有 \(C\) 再过一次 \(\mathcal{L}\),对失败样本再走一遍 Eq.3-5。
关键设计¶
-
双 oracle 嵌套循环(编译 oracle + 人 oracle):
- 功能:把"语法正确"和"语义对齐"这两个本质上不同的目标用两个 oracle 解耦。
- 核心思路:内圈 \(\mathcal{R}\) 用 Lean compiler 当严格 oracle 反复修代码到能编译;外圈让物理专家以 \(\{0,1\}\) 二元分类器身份只判断对齐,完全不需要专家会写 Lean,但可以借助 LLM 生成的对齐自评 \(\mathcal{M}'(T_g(x), C^{(k)})\) 作为辅助阅读材料。两层嵌套保证了每次"对齐修订"都会再过一遍编译循环,防止人为修正打破语法。
- 设计动机:作者发现 LP/MC 这类语义指标与 FV 几乎正交(\(\rho\approx 0\)),单 oracle 无法同时把两个轴拉高;用 LLM-as-judge 当外圈又会陷入"模型骗模型"。专家做二元判断比逐行改 Lean 成本低数个数量级 — 整套 FormalPhysics 由一位物理博士 1 个月 / 50 美元做完。
-
few-shot 模板 + 金标准对齐 \(T_{fs}(d,\mathcal{D}^*)\):
- 功能:把杂乱的原始 LaTeX 证明 \(d\) 重写成结构、粒度与 \(\mathcal{D}^*\) 一致的 \((S,P)\) 对,作为后续形式化的输入。
- 核心思路:用 in-context learning 让 LLM 学习金标准 \(\mathcal{D}^*\) 的"粒度规约"(哪些步骤要细化、哪些 textual context 要补),后处理函数 \(S\) 再把多题 batch 输出拆成单独的 statement-proof 对。这一步等价于一次「informal-to-informal refactor」,但用了固定 prompt \(P_a\) 让专家在此处也介入校验。
- 设计动机:物理证明常常省略很多步骤(如"利用对称性可得"),而 Lean 形式化要求每一步都显式。先把信号-噪声比拉高,再去做 informal → formal 翻译,能显著降低后续编译循环的迭代次数。
-
Agent 基线中的结构错误 vs 语义错误分流:
- 功能:在第三类(agentic)baseline 中,把 Lean 编译错误分成两类、走不同补救路径。
- 核心思路:基于 smolagents 的 CodeAgent 框架(ReAct 循环),先用 surface guard 拒绝包含 forbidden token / 未完成证明 / 不合规 import 的代码;编译失败时根据错误分类:结构错误(syntax、unknown identifier、缺 module)触发整段重写并按错误类型加 hint;语义错误(type mismatch、unsolved goals)由 patch agent 输出最小 unified diff 做局部修补。最多 25 轮 ReAct cycle。
- 设计动机:作者发现 7B 小模型(如 DeepSeek-Prover-7B)甚至会因为加了错误反馈而 FV 下降(13% → 4.5%),说明它们没有从错误信号中学习的基本能力;大模型则受益于细粒度的错误分流。GPT-OSS-20B 在这套 agentic pipeline 下 FV 从 4.5% 飙到 31%(zero-shot → agentic),但仍远不如带人的 FormalScience(100% FV)。
损失函数 / 训练策略¶
本文不训练模型,只做 inference-time pipeline 设计。所有 LLM 调用都用现成模型:FormalPhysics 数据构建用 GPT-5.1 + Claude-Opus-4.5;基线评测覆盖 Qwen2.5-Coder-7B、DeepSeek-Prover-V2-7B、Kimina-Autoformalizer-7B、GPT-OSS-20B、Qwen3-Sonnet-14B(Claude-Sonnet-4.5 蒸馏到 Qwen3-14B)、Qwen3-Coder-30B、GPT-5.1。LLM-as-judge 用 GPT-4.1-mini(temperature 0.2),并用 Qwen2.5-Coder-7B-Instruct 做 ≈ 6000 对二判 inter-judge agreement。
实验关键数据¶
主实验¶
不同 pipeline 在 FormalPhysics 上的语句形式化分数(GPT-4.1-mini 当 judge):
| 方法 | 模型 | FV (%) | FQ (%) | LP (%) | MC (%) |
|---|---|---|---|---|---|
| Zero-Shot | Kimina-7B | 51.5 | 6.5 | 10.5 | 9.5 |
| Zero-Shot | GPT-OSS-20B | 4.5 | 68.5 | 73.0 | 72.5 |
| Zero-Shot | GPT-5.1 | 14.5 | 79.5 | 76.5 | 77.0 |
| Self-Refine | GPT-5.1 | 17.0 | 82.5 | 82.0 | 82.0 |
| Agentic | Qwen3-Sonnet-14B | 52.0 | 1.0 | 10.5 | 6.5 |
| Agentic | GPT-OSS-20B | 31.0 | 73.0 | 72.5 | 73.0 |
| FormalScience (ours) | GPT-5.1 + Claude-4.5 | 100.0 | 73.5 | 72.0 | 72.5 |
FormalPhysics 与现有 Lean4 基准的统计对比(200 样本随机抽样):
| 数据集 | Objects | Formulae | FV (%) | LP (%) | MC (%) |
|---|---|---|---|---|---|
| miniF2F | 3.14 ± 1.55 | 3.21 ± 1.53 | 88.0 | 92.0 | 92.0 |
| ProofNet | 3.67 ± 1.48 | 3.62 ± 1.52 | 95.5 | 77.5 | 77.5 |
| FormalMATH | 4.47 ± 2.45 | 4.53 ± 2.62 | 97.5 | 98.0 | 96.5 |
| Herald-Proof | 6.57 ± 2.32 | 6.42 ± 2.37 | 2.0 | 94.5 | 94.0 |
| FormalPhysics | 6.41 ± 2.34 | 6.22 ± 2.13 | 100.0 | 72.0 | 72.5 |
消融实验¶
按 pipeline 复杂度递增的消融(GPT-OSS-20B):
| 配置 | FV (%) | FQ (%) | LP (%) | MC (%) | 说明 |
|---|---|---|---|---|---|
| Zero-shot | 4.5 | 68.5 | 73.0 | 72.5 | 只 prompt,无反馈 |
| + Self-refine | 7.5 | 70.5 | 77.0 | 79.0 | 加编译错误反馈,FV 涨 3pp |
| + Agentic (ReAct + diff) | 31.0 | 73.0 | 72.5 | 73.0 | 加结构/语义错误分流,FV +26.5pp |
| + Human (FormalScience) | 100.0 | 73.5 | 72.0 | 72.5 | 再加人对齐 oracle,FV → 满分 |
关键发现¶
- FV 与语义对齐几乎正交:FV 与 FQ/LP/MC 均值的 Spearman、Pearson 系数都接近 0(\(p>0.9\)),证明 trade-off 是结构性的而非个例。Kimina-7B 是极端案例 — 用 compile shortcut 拿 51.5% FV 但 FQ 只有 6.5%。
- Self-refinement 几乎免费午餐失败:加 2× token 成本换来的 FV / 对齐提升 < 3pp,但在独立 7B judge 下 GPT-5.1 能涨 +9pp,指标对 judge 选择敏感。
- Agentic 大幅缩小 FV 差距:GPT-OSS-20B 从 4.5% 飙到 31%,且对齐分基本不掉,说明 ReAct + 结构/语义错误分流确实能让中型开源模型把 Lean 当工具用。
- 「自动形式化是一种 emergent 能力」:14B、30B 不一定比 7B 强,关键在 参数量 × 神经-符号集成 × test-time scaling 三者同时到位;GPT-5.1 单独 zero-shot 只有 15% FV,进 FormalScience 直接到 100%。
- 物理比奥赛更难:FormalPhysics 的 Objects/Formulae 比 miniF2F、ProofNet、Lean Workbook 多约 2 倍,与 Herald-Proof 同级,但 Herald-Proof 的 FV 只有 2%,FormalScience 的 100% 是断崖式领先。
亮点与洞察¶
- 把人当 oracle 用,不当 annotator 用:传统 HITL 让人写代码或改 label,本文只让人做"对齐 yes/no" 的二元判断,把人当成廉价 oracle 嵌进算法循环中,这种「人=轻量分类器」的抽象方式可以迁移到任何需要语义判断的任务(如 RLHF 偏好标注、code review)。
- 首次定量刻画"编译通过 ≠ 语义对齐":作者引入 Notational Collapse、Abstraction Elevation 等漂移分类,明确指出当 \(\ket{\Psi}\) 被 Lean 当成复标量 \(\Psi\) 时,Lean 验证的根本不是量子力学。这种"形式系统验证了什么"的元问题以前没人正面回答。
- Trade-off 的存在性比方法本身更有价值:FV 与对齐的 \(\rho\approx 0\) 这一发现本身就是一个领域级别的负面结果,对未来设计 reward / loss 有指导意义 — 不能再用单一 compile pass rate 当 RL reward。
- 可扩展性论证:单专家 1 月 / 50 美元 / 200 题 ≈ $0.25/题,意味着一个 10 人专家组可以在同等时间产出 2000 题,对 fine-tune 物理形式化模型来说是切实可行的。
局限与展望¶
- 作者承认:(1) FormalPhysics 只 200 题,做 fine-tune 基准还不够大,定位是 evaluation set;(2) 物理只覆盖量子力学 + 电磁学两个子域,未覆盖广义相对论、统计力学;(3) Lean4 / Mathlib 对矢量微积分和 Dirac 记号无原生支持,导致 LP/MC 注定低(72%),不是 pipeline 的锅而是 Mathlib 的锅。
- 隐藏的扩展性瓶颈:所谓"人当二元 oracle"听上去廉价,但实际上专家要先看懂 Lean 代码才能判断对齐,门槛比想象中高;论文没汇报每题平均要多少次 human-in-the-loop 迭代和单次判断耗时。
- judge 依赖:GPT-4.1-mini 与 Qwen2.5-7B 两个 judge 的 phi 系数只有 0.28-0.37,绝对分数能差 9pp,说明 LLM-as-judge 给的对齐分数仍有较大噪声,本文的"alignment 不变"结论需要谨慎对待。
- 改进思路:(1) 在 Mathlib 中先建一套 Dirac/矢量微积分 DSL,能从根本上抬高 LP/MC 天花板;(2) 把外圈"人 oracle"换成 fine-tune 过的对齐验证器,朝全自动 FormalScience-v2 迭代;(3) 把漂移分类(Notational Collapse 等)作为 RL reward 的负项,让模型主动避免低质量编译通过。
相关工作与启发¶
- vs miniF2F / ProofNet:他们是奥林匹克/本科数学,本文是大学物理;他们的复杂度(Objects ~ 3)只有 FormalPhysics 的一半,且不需要处理领域专有记号。
- vs Herald-Proof:同等复杂度(Objects ~ 6.5)但 Herald-Proof 走全自动路线导致 FV 只有 2%,本文用 HITL 把 FV 拉到 100%,证明在复杂域里人不是可选项而是必要项。
- vs Kimina-Autoformalizer:Kimina 在 zero-shot 拿 51.5% FV,靠的是专为 compile 优化的 shortcut;本文揭示这是典型的 Goodhart's Law — 优化 FV 不等于优化语义,未来 autoformalizer 训练需要双目标。
- vs DeepSeek-Prover-V2 / smolagents CodeAgent:本文借用了 smolagents 的 ReAct + tool calling 框架但加上了 surface guard 和结构/语义错误分流,这一分流策略可迁移到所有 code-as-agent 任务。
评分¶
- 新颖性: ⭐⭐⭐⭐ 双 oracle + 物理域 + 漂移分类的组合很新,但单看 HITL 形式化本身不算革命。
- 实验充分度: ⭐⭐⭐⭐ 跨 3 类 pipeline × 7 模型 × 2 judge 全套跑完,inter-judge agreement 也做了。
- 写作质量: ⭐⭐⭐⭐ 公式编号清晰,Alg.1 / Alg.2 给出完整伪代码,漂移分类配图直观。
- 价值: ⭐⭐⭐⭐⭐ 推开了"科学形式化"这扇门,给社区一个高质量物理基准 + 一个明确的 trade-off 负面结果。