这篇论文就像是一场**“传统工匠”与“超级天才”之间的编程大比武**。
为了让你轻松理解,我们可以把程序合成(Program Synthesis)想象成“根据一张极其严格的建筑图纸,自动盖出一栋完全符合要求的房子”。
- 图纸:就是形式化规范(比如 LTL、SyGuS 等),规定了房子必须有什么结构、不能有什么缺陷。
- 目标:自动盖出这栋房子,而且保证绝对安全、不出错。
论文比较了两种“盖房者”:
- 传统工匠(符号工具):比如
ltlsynt、cvc5。他们像老练的工程师,手里拿着计算尺和精密仪器,一步步逻辑推演,虽然慢,但保证每一步都严丝合缝,绝不犯错。
- 超级天才(大语言模型 LLM):比如
Qwen(开源)和 GPT-5(闭源)。他们像是有着过目不忘记忆力的天才建筑师,看一眼图纸就能凭直觉“猜”出房子该怎么盖,速度极快,但偶尔会“脑洞大开”盖出个不符合图纸的奇怪结构。
🏆 比赛项目(四个领域)
作者找了四个不同的“盖房”场景来测试:
- LTL 反应式合成:盖一个能实时响应外界变化的“智能交通灯系统”。
- 语法引导合成 (SyGuS):在规定的“积木块”范围内,拼出一个符合要求的程序。
- 分布式协议合成:设计一个让多个“机器人”协同工作的通信协议(比如 TLA+)。
- 递归程序合成:写一个能处理复杂数据(如树、列表)的“万能函数”。
⚔️ 比赛规则与过程
为了公平(虽然很难完全公平),作者设定了这样的规则:
- 传统工匠:给他们 10 分钟,让他们用精密仪器慢慢算。
- 超级天才:
- GPT-5:只给一次机会,10 分钟内必须交出图纸。
- Qwen:给它一个“试错循环”。如果它第一次盖错了,验证器(就像质检员)会告诉它“错了”,然后让它再试一次。它可以一直试,直到 10 分钟用完或者盖对为止。
- 关键点:作者没有教这些 AI 怎么改错(没有告诉它“这里错了,因为..."),只是让它不断重试。这就像让一个天才闭着眼睛蒙题,蒙对了就算赢。
📊 比赛结果:谁赢了?
1. 谁盖出的房子更多?(解决率)
- 传统工匠(符号工具):在大多数情况下,完胜。特别是在“智能交通灯”(LTL)这种逻辑极其严密的领域,传统工匠几乎把能盖的都盖好了。
- GPT-5(超级天才):表现非常接近传统工匠,甚至在某些很难的“积木拼图”(SyGuS)和“机器人协同”(TLA+)任务中,反杀了传统工匠,盖出了传统工匠盖不出来的房子。
- Qwen(开源天才):表现稍弱,盖出的房子数量比传统工匠少,也比 GPT-5 少。
比喻:
传统工匠像是一个严谨的数学家,只要时间够,他能把所有逻辑题都解出来。
GPT-5 像是一个直觉敏锐的艺术家,虽然偶尔会算错,但在某些需要灵感的复杂结构上,它能画出数学家想不到的完美设计。
Qwen 则像是一个很有潜力的学生,虽然努力试错,但有时候会重复犯同样的错误。
2. 谁盖得更快?(效率)
- 传统工匠:快得惊人。它们通常几秒钟就能算出答案。
- GPT-5:比传统工匠慢很多(慢几十倍甚至上百倍)。因为它要“思考”(生成推理 token),而且运行在昂贵的云端服务器上。
- Qwen:虽然它用了更强大的显卡(H200),但因为需要反复试错(Iterate),总耗时往往比传统工匠长,或者差不多。
比喻:
传统工匠是高铁,虽然要进站安检(计算),但一旦开动,速度极快且准时。
LLM 是直升机,虽然能直接飞越障碍,但起飞、盘旋、寻找降落点(生成和验证)非常耗时,而且油耗(算力成本)极高。
3. 谁更听话?(格式与语法)
- 传统工匠:绝对听话。它生成的代码永远符合语法,永远不会少个括号。
- GPT-5:大部分时候很听话,能写出符合语法的代码。
- Qwen:经常“不听话”。它经常写出语法错误的代码(比如括号没闭合、变量名写错),导致质检员直接把它扔进垃圾桶,浪费了大量时间。
比喻:
传统工匠是机器人,指令是什么就做什么,绝不越雷池一步。
LLM 是人类,虽然聪明,但偶尔会写错别字,或者把“左”写成“右”,需要反复检查。
💡 核心结论与启示
没有绝对的赢家:
- 如果你需要绝对可靠、快速的解决方案,传统符号工具依然是首选。
- 如果你遇到传统工具搞不定的死胡同,GPT-5 可能会给你惊喜,帮你找到新的解法。
“组合拳”才是王道:
论文建议,未来的最佳方案不是二选一,而是**“双管齐下”**。就像盖房子,既要有严谨的工程师做结构计算,也要有天才设计师提供灵感。让两者并行工作,谁先盖好就用谁的。
AI 的“幻觉”问题:
LLM 最大的问题是重复犯错。在测试中,Qwen 经常反复生成同一个错误的代码,因为它不知道“刚才那个错了,换个思路”。而传统工具会保证不重复尝试已经失败的路径。
成本考量:
用 GPT-5 跑完所有测试,虽然只花了不到 50 美元,但如果是大规模工业应用,这个成本可能太高。而传统工具在普通电脑上就能跑,成本几乎为零。
🎯 一句话总结
大语言模型(LLM)已经具备了很强的“程序合成”能力,甚至在某些领域能超越传统工具,但它们目前还像是一个“天才但粗心、昂贵且偶尔犯迷糊”的助手。在追求“正确且高效”的工业级应用中,它们目前还无法完全取代严谨的“传统工匠”,最好的办法是让两者合作。
这是一份关于论文《Can LLMs Perform Synthesis?》(大语言模型能执行合成吗?)的详细技术总结。该论文由东北大学的 Derek Egolf、Yuhao Zhou 和 Stavros Tripakis 撰写。
1. 研究问题与背景
核心问题:大语言模型(LLM)在程序合成任务上的表现如何?它们能否与最先进的符号化(Symbolic)合成工具相媲美?
背景:
- 程序合成旨在自动生成满足特定正确性规范的系统。
- 近年来,LLM 在通用代码生成任务中表现出色。
- 然而,LLM 是否具备从形式化规范(Formal Specifications)自动生成正确程序的能力,尚缺乏系统性的评估,特别是与传统的符号化合成工具(如基于 SAT/SMT/模型检测的工具)进行对比时。
2. 研究方法与实验设计
2.1 评估领域 (Synthesis Domains)
作者在四个不同的合成领域进行了评估,涵盖了从硬件电路到分布式协议和递归函数:
- LTL 反应式合成 (LTL Reactive Synthesis):根据线性时序逻辑(LTL)规范合成有限状态机(FSM)。
- 语法引导合成 (SyGuS):根据语法约束和规范合成程序。
- 分布式协议合成 (Distributed Protocol Synthesis):基于 TLA+ 草图(Sketch)补全分布式协议。
- 递归程序合成 (Recursive Program Synthesis):基于 ACL2s 语言的草图和逻辑规范合成递归函数。
2.2 对比工具
- 符号化工具 (Symbolic Tools):
- LTL:
ltlsynt (SYNTCOMP 2025 冠军)
- SyGuS:
cvc5
- 协议合成:
PolySemist
- 递归合成:
Cataclyst
- 大语言模型 (LLMs):
- Qwen-2.5-Coder-32B:开源模型,320 亿参数,运行在 NVIDIA H200 GPU 上。
- GPT-5:闭源前沿模型(参数未公开,推测远超 GPT-3 的 1750 亿),通过 API 调用。
2.3 实验设置与公平性考量
- LLM 使用策略:
- Qwen:采用 ILST (Iterate-LLM-Until-Solution-or-Timeout) 策略。即:生成候选 -> 符号化验证器检查 -> 若失败则重新生成(不向 LLM 提供具体的反例反馈,仅重试),直到找到解或超时。
- GPT-5:每个基准测试仅运行一次生成,然后进行验证。这是为了平衡资源,因为 GPT-5 单次生成能力极强且运行在更强大的硬件上。
- 验证器:所有 LLM 生成的输出都必须经过独立的符号化验证器(如 nuXmv, Z3, TLC, ACL2s 等)检查,确保满足规范。
- 资源分配:
- 所有工具链均设定了相同的超时时间(通常为 10 分钟,递归合成为 15 分钟)。
- 尽管 LLM 运行在 GPU 上而符号工具运行在 CPU 上,作者试图通过限制 GPT-5 的调用次数(单次)来平衡计算资源,尽管作者承认这仍可能存在不公平(Qwen 利用了 GPU 的并行重试能力)。
- 提示工程 (Prompting):使用了严格的提示词,要求 LLM 输出特定格式(如 AIGER, SMV, SMT-LIB, JSON 等),并包含语法约束,但不使用微调(Fine-tuning)或检索增强生成(RAG)。
3. 主要实验结果
3.1 解决能力 (Solved Benchmarks)
- 总体趋势:在所有领域,符号化工具解决的基准测试数量均多于 Qwen。
- LTL 合成:符号工具
ltlsynt 表现显著优于 LLM。ltlsynt 解决了 354+42 个基准,而 Qwen 仅解决了个位数(SMV 格式 50 个,AIGER 格式 4 个),GPT-5 解决了 150-229 个(取决于格式)。
- SyGuS:
cvc5 解决了 137 个,GPT-5 解决了 143 个(略优于 cvc5),Qwen 解决了 96 个。
- 协议合成:
PolySemist 解决了 140 个,GPT-5 解决了 136 个,Qwen 解决了 102 个。
- 递归合成:
Cataclyst 和 GPT-5 均解决了 41/42 个,Qwen 解决了 39 个。
- 互补性:存在一部分基准测试是 LLM 能解决但符号工具不能,反之亦然。这表明**组合使用(Portfolio Approach)**可能更有效。
3.2 执行时间 (Execution Time)
- 符号工具显著更快:
- 在 LTL 和 SyGuS 领域,符号工具比 GPT-5 快1-2 个数量级。
- 即使在 Qwen 运行在更强大的 GPU 上,符号工具在大多数领域(除递归合成外)的总执行时间(包括超时情况)仍优于或接近 Qwen。
- 原因:符号工具通过枚举和剪枝高效搜索,而 LLM 需要多次生成和验证,且容易陷入重复生成错误答案的循环。
3.3 错误类型与局限性
- 重复生成:Qwen 在 ILST 循环中经常重复生成相同的错误答案(例如在协议合成中,16,824 次响应中有 16,722 次失败,且大量重复)。
- 语法错误:Qwen 经常违反严格的语法约束(如 SMV 格式中的非确定性、SMT-LIB 中的非法操作符)。相比之下,GPT-5 在语法合规性上表现更好。
- 语义错误:即使语法正确,LLM 生成的代码也常违反逻辑规范。
- Token 限制:GPT-5 在某些复杂任务中因超出 Token 预算而失败。
4. 关键贡献
- 系统性评估:首次在同一框架下,跨多个合成领域,将前沿 LLM(包括 GPT-5 和 Qwen)与最先进符号工具进行直接对比。
- 方法论创新:提出了 ILST 策略(迭代生成直到解决或超时),模拟了用户“生成 - 检查 - 重试”的实际工作流程,并严格区分了“纯 LLM 能力”与“神经符号混合系统”。
- 揭示差距:明确指出了当前 LLM 在形式化程序合成任务上与专用符号工具的巨大差距,特别是在效率和确定性方面。
- 数据与基准:提供了详细的实验数据、失败案例分析以及不同格式(AIGER vs SMV)下的性能差异。
5. 结论与意义
结论:
- LLM 目前无法完全替代符号合成工具。在解决率、速度和可靠性上,符号工具仍占主导地位。
- GPT-5 表现强劲:在 SyGuS、协议合成和递归合成领域,GPT-5 的表现与符号工具相当甚至略优,但在 LTL 合成领域仍落后。
- Qwen 表现较弱:尽管运行在 GPU 上,Qwen 的解决率和效率均低于符号工具,且容易陷入重复错误的循环。
- 语法合规是瓶颈:LLM 难以严格遵守复杂的语法和结构约束,这是合成任务失败的主要原因之一。
意义:
- 对研究者的启示:单纯依靠 LLM 进行形式化合成目前不可行。未来的方向应侧重于神经符号(Neurosymbolic)方法,即利用 LLM 作为启发式搜索的引导者(Guidance),而将验证和精确搜索交给符号工具。
- 对实践者的建议:在需要高可靠性的合成任务中,应优先使用符号工具,或采用“符号工具 + LLM"的并行组合策略(Portfolio),利用 LLM 解决符号工具难以处理的特定案例。
- 硬件与成本:尽管 LLM 运行在昂贵硬件上,但其单次推理成本高且效率低,而符号工具在 CPU 上即可高效运行。
总结:这篇论文有力地证明了,虽然 LLM 在代码生成方面取得了巨大进步,但在从形式化规范到正确程序的严格合成任务中,它们尚未达到甚至超越传统符号化方法的水平。符号工具在确定性、效率和保证正确性方面仍是不可替代的。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。