在AI代理的不断进步下,代码生成的成本迅速降低,但生成程序的质量保证却未能同步提升。形式验证提供了最强的保证,但AI模型在处理验证语言时受到人类书写示例稀缺的限制。为了解决这一数据稀缺问题,我们提出了Formal Disco:一个用于协调基于大语言模型(LLM)工人的分布式系统,能够轻松应用于开放式合成数据的大规模生成。
Formal Disco将任务和程序在三类工人之间共享:
- Initiators:从开源代码库的随机README和文档片段中读取信息,绘制相关的已验证程序草图。
- Fixers:根据编译器和验证器的反馈,尝试解决问题。
- Extenders:对工作程序进行扩展,提出补丁。
Formal Disco记录所有代理生成的轨迹,并利用这些轨迹进行初始模型的提炼以及自我改进。我们还提出了一种最大熵原则用于合成程序生成,并通过迭代的监督微调实现熵最大化,从而学习生成越来越多样化的程序。我们发布了三个语言(Dafny、Verus和Frama-C)的合成验证程序的大型数据集,并对开放模型进行了微调,以适应验证相关任务,许多情况下其性能达到了或超过了Claude Opus 4.5。总的来说,我们的工作为在形式推理领域大规模创造合成数据提供了一条途径,克服了长期以来的数据障碍。
博主点评: 该研究在形式验证和大规模程序生成中开辟了新的视野,通过引入多类工人和最大熵原则,显著提高了程序生成的多样性和质量。这为未来的形式验证应用提供了坚实的基础,值得关注。