论文选了六款代表模型:GPT-5(OpenAI)、Claude 4.5 Opus(Anthropic)、Gemini 3 Pro Preview(Google)这三款2025年Q4的前沿模型,加上GPT-4o、Claude 3.7 Sonnet这两个早期模型,以及DeepSeek-V3.1这个开源标杆。
先看第一个研究问题:哪个LLM是最可靠的验证器?
用人类手写规范作为锚点(解决评估二象性的一侧),让六个模型分别担任“证明器”,对全部正测试用例构造证明:
*表格超出部分左右可以滑动Table 1. Verification Performance Across Different Models (n=164). Models ordered chronologically by release date. Best performing model highlighted. Higher values indicate better performance.
结果很有意思。Gemini 3 Pro Preview以29.88%的全正例通过率排第一,Claude 4.5 Opus以19.51%紧随其后,GPT-5是16.64%。但更扎眼的是DeepSeek-V3.1在人类规范上一个正例都没全证明过——PASS_all 0.00%。这说明什么?即使规范完全正确,让LLM把测试用例全部证明完也远非易事,形式化证明能力仍然是当前大模型的明显短板。最终论文选了Gemini 3 Pro Preview作为后续所有实验的统一验证器。
验证器定了,接下来就让六个模型在完全一致的提示词下生成规范,用COINS管线统一过筛:
表2:规范生成评测结果(n=164)。Syntax表示语法有效的规范数量。数值越高越好。
这张表信息量非常大。看几个关键结论。
第一,语法就是第一道高墙。 Gemini 3 Pro Preview的语法通过率78.05%,GPT-5是67.07%,听着还行;但DeepSeek-V3.1只有7.93%,GPT-4o只有14.63%。大量规范压根活不到语义评估阶段。对弱模型来说,最大的问题不是“意图选错”,而是连Rocq的语法和类型规则都幻觉出了一堆错误。
第二,PASS_first到PASS_all的悬崖式下跌。 Gemini 3 Pro Preview的首例通过率60.98%,到全量正例通过直接跌到28.05%;GPT-5从60.98%跌到15.24%;Claude 3.7 Sonnet从15.24%跌到1.83%。这说明单个测试用例对规范的约束极其有限,大量规范只是“碰巧”过了第一个用例——全面测试套件才能把规范语义真正压实。
第三,Gemini的领先不是自卖自夸。 论文专门做了自验证对照:Claude 4.5 Opus用自己的验证器评估自己的规范,PASS_all只有10.98%,低于Gemini当验证器时的14.63%;GPT-5自验证7.32%,也明显低于Gemini验证时的15.24%。这说明Gemini的领先来自真实的证明和生成能力,而不是“自己给自己打分”的偏向。
而看到DeepSeek-V3.1以1.22%垫底、GPT-4o只有4.27%时,龙哥的表情如上。这个差距比代码生成领域拉得大得多,说明规范生成对模型的逻辑精确性要求更苛刻,不是“多背几道题”就能蒙混过关的。
再把候选规范拿出来做交集分析,还能看到更多细节:
图5:各模型在候选规范生成任务上的表现。(a) 对角线为各模型候选规范总数,非对角线为两个模型的共享成功数;(b) 候选规范总数、对聚合集合的独有贡献数以及专属成功数。
Gemini 3 Pro Preview独占了19道题的规范生成,其他模型基本只有个位数到十几的独占贡献。即便要求最强的模型之间“联手”,候选规范集合也就59道——连HumanEval的36%都不到。规范生成这类任务的水有多深,可见一斑。
规范生成更像数学还是代码?
看到表2里一片惨淡的数据,一个尖锐的问题浮现出来:规范生成失败,到底是模型写得不好,还是验证器的证明能力跟不上?这两者纠缠在一起,正是“评估二象性”的核心矛盾。论文专门设计了一个消融实验来拆解:
基线是“每个模型自己生成规范+自己验证”(Self-Verify + Self Spec)。然后做两个单点干预:一个是把验证器换成更强的Gemini 3 Pro Preview(Gemini-Verify + Self Spec),另一个是把LLM生成规范换成人类参考规范(Self-Verify + Human Spec)。
图2:规范质量与验证能力解耦的消融实验。相比Self-Verify + Self Spec基线,使用人类编写的规范平均提升+5.01%,而将自验证替换为更强的验证器平均提升+3.05%。两者都显著影响最终性能。
结果很清晰:换更好的规范带来+5.01%的提升,换更强的验证器带来+3.05%的提升。这说明在当前阶段,规范生成能力本身是比证明能力更主要的瓶颈,但验证能力的影响也不容忽视。换句话说,LLM写规范这件事,既不是纯数学(逻辑公式推导),也不是纯代码(API调用和类型构造),而是两者的混合体——既要有能力表达出精确的语义,又要有能力驾驭Rocq的语言机制把它写对。
把这个问题放到更大的背景里看更有意思。论文把模型在代码生成(LiveCodeBench、SWE-bench Verified)、数学推理(AIME 2025)和形式化规范生成(Syntax、Reject All)上的表现放在一起对比:
图7:模型在代码生成(LiveCodeBench、SWE-bench Verified)、数学推理(AIME 2025)与形式化规范生成(Syntax和Reject All)上的表现对比。模型按发布时间倒序排列。
可以看到:在代码生成和数学推理上,各家模型虽然有差距,但至少都维持在一个可用的相对区间;而在规范生成上,最好和最差之间拉出了二十多倍的差距(28.05% vs 1.22%)。这说明规范生成是一个独立的、比通用代码生成更陡峭的能力维度,不能拿代码榜的排名直接外推。
COINS的贡献不只是抛出一个评测框架,更在于它给出了一个可操作的“规范质量”度量标准——测试用例实例化+形式化证明。这个思路让规范评估从“全量等价证明不可行”的泥潭里走了出来,变成一套有明确正负反馈的工程流程。论文也公开了全部164个人类书写的Rocq规范套件,这是目前HumanEval上首套完整的形式化规范集合,仅此一点就有很高的复用价值。
但要清醒地看到局限。HumanEval的164道题属于典型的“小算法题”,而工业级形式化验证面对的是指针别名、循环不变式、并发协议、模块化接口这些更高维度的复杂性。COINS目前统一使用Prop签名,只覆盖输入输出的功能性关系,还没有涉及语言相关的内存契约、异常行为等。另外,COINS的评估精度仍受限于LLM的证明能力——Gemini 3 Pro Preview在人类规范上的PASS_all也才29.88%,这意味着大量规范可能因为“证明不出来”而被误杀。论文把这一点当作已知边界,而不是回避它,这种诚实是值得肯定的。
未来要往工业级走,有三条路值得关注。其一是把证明合成能力做得更强,比如引入更自动化的策略搜索或hammer工具,降低对LLM证明能力的依赖;其二是把评估范围扩展更复杂的数据结构和规范模式,甚至引入并发或指针程序;其三是把“规范生成”和“规范评估”做成闭环——用COINS这种测试用例驱动的方式持续筛选高质量规范,反过来再作为数据增强来训练模型。只要规范生成这个环节被攻破,形式化验证从“专家奢侈品”变成“工程师日用品”的那一天就不远了。
对普通读者来说,这篇文章最大的启示或许是:大模型的“聪明”是有边界形状的。它可能很会写代码、很会做题,但面对需要精确逻辑约束的规范生成时,它的表现可能让所有人大跌眼镜。理解这个边界,比盲目崇拜大模型的能力重要得多。
龙迷三问
下面是龙哥对于大家可能的一些问题的解答:这篇论文到底在解决什么问题?针对LLM生成正式程序规范的能力评估难题,论文提出COINS框架,基于Rocq证明助手、以测试用例实例化检验规范质量,并构建HumanEval首个完整Rocq规范套件。这篇工作最值得看的点是什么?Gemini 3 Pro Preview在REJECT_all上达到28.05%的最佳性能,而DeepSeek-V3.1仅为1.22%,展示了显著的模型间性能差距。这篇工作的边界或风险在哪里?优点:(1)提出了创新的评估框架,避免了全等证明的困难;(2)构建了首个完整的HumanEval Rocq规范套件;(3)通过测试用例基础的形式推理提供了可靠且可区分的评估信号。缺点:(1)仅覆盖Rocq和HumanEval,泛化性有限;(2)依赖LLM作为证明器,证明能力本身成为瓶颈;(3)负例拒绝阶段依赖LLM判断,可能引入偏差。如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~
[1] Yang F, Li X, Wang S, et al. How Powerful Are LLMs in Generating Formal Program Specifications?[J]. arXiv preprint arXiv:2608.13077v1, 2026.[2] Chen M, Tworek J, Jun H, et al. Evaluating Large Language Models Trained on Code[J]. arXiv preprint arXiv:2107.03374, 2021. (HumanEval)[3] Thakur A, et al. CLEVER: An End-to-End Benchmark for Specification Generation and Verification[C]. 2025.[4] Leroy X, et al. The CompCert C Compiler[R]. 2016.[5] De Moura L, et al. The Lean Theorem Prover[C]. CADE 2015.[6] Huet G, et al. The Coq Proof Assistant[R]. 1997.