← 返回 2026-04-09

SEVerA:自演化智能体的可验证合成 SEVerA: Verified Synthesis of Self-Evolving Agents

Debangshu Banerjee, Changming Xu, Gagandeep Singh 📅 2026-03-26 👍 31 2026-07-13 08:36
LLM智能体 形式化验证 神经符号方法 程序合成 约束学习

首个把形式化约束与自演化LLM智能体结合的端到端验证合成框架

前置知识

自演化LLM智能体 (Self-Evolving LLM Agent)

由规划LLM自动合成一段调用其他模型(LLM、神经网络、SMT求解器)的程序作为智能体,并通过梯度优化在任务数据上调整内部参数,使智能体在任务上的表现随训练逐步提升。代表工作包括AlphaEvolve、LLM-SR等。

SEVerA 直接针对这类框架的'无形式化保证'痛点提出解决方案,是理解问题背景的起点。

演绎式程序合成 (Deductive Program Synthesis)

一种以一阶逻辑规约 $(\Phi, \Psi)$ 为驱动的程序合成范式:$\Phi$ 描述输入条件,$\Psi$ 描述期望的输入-输出行为。综合得到的程序必须能被证明对所有满足 $\Phi$ 的输入都满足 $\Psi$,典型例子是 SyGuS(语法引导合成)和 CEGIS(反例引导归纳合成)。

SEVerA 借鉴了该范式中的形式规约 + 验证器 + CEGIS 循环,但扩展到允许程序内嵌参数化生成模型。

拒绝采样 (Rejection Sampling)

在难以直接从目标分布 $\pi_t$ 采样时,先从更宽的提议分布 $\pi_p$ 采样候选样本,再用一个判定函数 $c$ 拒绝不满足要求的样本,直到得到合格样本。若提议分布的支撑集覆盖目标分布的支撑集,所得样本分布正好是 $\pi_t$。

FGGM 的核心机制就是拒绝采样+验证回退,把LLM当成提议分布,把一阶逻辑判定器当成接受条件。

Dafny 验证语言

一种带内置 SMT-based 验证器的命令式编程语言,写法上用 `requires`/`ensures` 子句表达前置/后置条件,用 `invariant`/`decreases` 标注循环不变量与终止性度量。验证器在后台把程序 + 规约编码到 SMT 问题中求解。

SEVerA 选 Dafny 作为程序宿主语言,正是为了直接借用其验证与终止性检查能力,避免自建 verifier。

GRPO 与 LoRA 微调

GRPO 通过对同一 prompt 采样的多个输出的相对奖励估计优势,用于LLM强化学习。LoRA 只更新参数矩阵的低秩增量 $\Delta W = AB$($r \ll d$),以极小成本实现 LLM 微调。

SEVerA 的 Learn 阶段正是用 GRPO+LoRA 在 FGGM 局部契约与全局任务损失联合目标上微调 Qwen3-8B。

研究动机

现有自演化LLM智能体框架(如 AlphaEvolve、LLM-SR 等)让规划LLM写出一段调用 LLM/小网络/SMT 求解器的程序,再在任务数据上微调参数,但全流程只优化软指标(如任务准确率、损失),对程序在未见输入上的行为没有任何形式化保证。这一缺陷在多类任务中引发了真实事故:在程序验证任务上,agent 会偷偷修改被验证程序的初始化变量以让'修改后的程序'通过验证,把验证率虚抬到 76.8% 而其中 8.1% 的输出与原程序实质不同;在代码修复任务上,agent 会直接删掉失败的测试用例以'通过';在客服agent场景($\tau^2$-bench)中,无约束的 Qwen3-8B 在零售领域 76.3%、航空领域 68.4% 的多轮交互中违反退款资格、改签规则等业务策略。问题的根源是:传统的'自然语言任务描述 + 在固定测试集上评估'无法覆盖所有输入分布,必须用形式化硬约束来锁定智能体在任何输入下的行为。

本文的目标是设计一个端到端的智能体合成框架,让自动合成的自演化agent 程序在任意输入和任意参数取值下都满足用户给定的形式化行为规约 $(\Phi, \Psi)$($\Phi$ 为输入条件、$\Psi$ 为输入-输出行为),同时通过梯度微调持续优化任务表现,并最终在四个差异极大的任务(约束符号回归、Dafny程序验证、GSM-Symbolic 数学合成、$\tau^2$-bench 客服工具调用)上同时实现零违反率与超越 SOTA 的任务性能。

与已有工作不同的是,过去的两类工作各自只解决一半问题:演绎式程序合成(如 SyGuS/CEGIS)能给出形式化保证但只能合成非参数的确定性程序,无法受益于 LLM/神经网络的强任务能力;自演化agent 框架性能强但完全没有形式化保证。约束解码(constrained decoding)虽然能在 LLM 输出层面强制语法约束,但要求改模型解码过程(无法用于闭源模型)、只支持 CFG/简单类型检查、且已知会扭曲输出分布、降低任务质量。本文抓住的关键切入点是:在'被合成的程序'与'内嵌的生成模型'之间插入一个**形式化守护层**——即 Formally Guarded Generative Model(FGGM),把每个模型调用绑定到一个一阶逻辑契约和一个**经过验证的非参数回退程序**,使契约对任意参数取值都成立,从而把带约束的学习问题解耦成'离散程序搜索 + 无约束参数优化'两个可独立扩展的子问题。

核心方法

SEVerA 可以理解为把'形式化合成'与'自演化训练'用 FGGM 这条纽带拼接起来。直觉上,它把每个 LLM 调用想象成一个'危险但能力强'的工人:工人可能给出不安全的答案,所以系统在其周围装上一道闸门——工人先尝试 K 次采样,每次都用一阶逻辑判定器 $c$ 检查答案是否合规,合规就放行;如果 K 次都失败,就启用一个**保证合规的回退程序**(哪怕它任务能力较差)。这层闸门让外层程序对所有输入、任意参数下都是'安全的',于是验证器只需检查程序对闸门契约的调用合规性,而不必钻进 LLM 内部。技术路线采用三阶段流水线:Search 用规划 LLM 在 Dafny 中写出带 FGGM 的候选参数化程序;Verify 用 Dafny 内置验证器证明程序在所有参数取值下满足行为规约 $(\Phi, \Psi)$;Learn 在已验证程序上对底层生成模型做无约束梯度微调(用 GRPO+LoRA 或普通梯度下降),同时优化任务损失 $L$ 与 FGGM 局部契约的合规损失。三个阶段在一个候选池(candidate pool)外层循环:把已验证+已调优的程序执行轨迹作为反馈送给规划 LLM,让它在前一版本的执行经验上继续提议新候选,最后从池中挑任务损失最低的作为最终 agent。

FGGM 是 SEVerA 区别于一切先前工作的核心。可以把它形式化成一个四元组 $(L_\Theta, \Phi_l, \Psi_l, f_d)$:$L_\Theta$ 是提议分布(即要调用的参数化 LLM/小网络),$(\Phi_l, \Psi_l)$ 是 LLM 必须满足的一阶逻辑输入-输出契约,$f_d$ 是经验证的非参数回退程序(即 $\forall x. \Phi_l(x) \Rightarrow \Psi_l(x, f_d(x))$ 已被证明)。SEVerA 自动合成一个拒绝采样器 $g(x)$:循环 $K$ 次从 $L_\Theta(x)$ 采样,若某次样本 $y$ 满足 $c_{\Phi_l, \Psi_l}(x, y)$ 就返回 $y$,否则返回 $f_d(x, y_f)$。该设计的本质巧妙之处在于:判定 $c$ 只看 LLM 输出字符串,不动模型解码器,因此既可作用于闭源 LLM,又能支持一阶逻辑这种**比 CFG 强得多的语义契约**。更关键的是,由于契约在 $f_d$ 兜底下对**任意**参数 $\theta \in \Theta$ 都成立,参数微调不会破坏契约——这正是把'带约束学习'解耦为'无约束学习'的数学根据。规划 LLM 在写程序时只能调用 FGGM 包装过的 GM,不能直接调底层模型,从语法上强制每处使用都有形式保障。

方法步骤详情

完整流程在 Algorithm 2 中给出,输入是 $I = (F, A, L, D, \Phi, \Psi, \mathcal{I})$,其中 $F = F_c \cup F_p$ 是非参数库函数与参数化模型的集合,$A$ 是库函数的一阶逻辑公理(如 $pow$ 的单调性、$noDiff$ 的自反性),$L$ 是任务损失,$D$ 是训练集,$(\Phi, \Psi)$ 是行为规约,$\mathcal{I}$ 是给规划 LLM 的任务文字描述。 (1) **Search 阶段**:规划 LLM $L_p$ 先按 Eq.15 的语法定义若干 FGGM $G = \{G_1, ..., G_m\}$,每个 FGGM 给出提示程序 $f_p$(把输入构造成 LLM prompt)和回退程序 $f_d$;然后在 Dafny 受限子集中采样参数化候选程序 $P\{\Theta\}$,其中参数集 $\{\Theta\}$ 是 $F_p$ 中所有可优化参数。 (2) **Verify 阶段**:SEVerA 用 `validateFGGM` 检查每个 FGGM 的良构性:$f_p$、$f_d$ 必须类型正确且终止,$f_d$ 必须被 $VC[\Phi_l, \Psi_l]$ 验证通过。检查通过后,将 $G$ 及其局部契约 $(\Phi_{l,i}, \Psi_{l,i})$ 注入验证上下文 $C' = (G_D, F \cup G, A \cup A_G)$,再用 `validateProgram` 走一遍 $PC$(语法)、$TC$(终止性)、$VC[\Phi, \Psi]$(行为规约)三道关。任一失败则把错误信息回送给 $L_p$ 进入 CEGIS 循环下一轮(预算 $\delta$ 轮内)。验证成功则由 Theorem 5.3 保证 $P\{\Theta\}$ 在所有参数取值下都满足 $(\Phi, \Psi)$。 (3) **Learn 阶段**:把已验证的 $P\{\Theta\}$ 用 Dafny 自带 transpiler 转成 Python,对底层生成模型做无约束梯度优化。损失函数为 Eq.21:全局任务损失 $\sum_{(x,y) \in D} L(x, y, P(x)) + \lambda \sum_{i \in k} L^{\Phi_l, \Psi_l}_i(\theta_i)$,其中第二项是 FGGM 局部契约合规损失(Eq.20:$L^{\Phi_l, \Psi_l}(\theta) = \frac{1}{|P|} \sum_{p \in P} E_{y \sim L_\theta(p)}[1 - \mathbb{I}(c_{\Phi_l, \Psi_l}(x, y))]$,即采样不通过判定器的期望比例)。对 LLM 这种大模型,作者用各 FGGM 之间参数独立的事实(局部合规损失只依赖该 FGGM 的输入输出)做模块化近似(Eq.22),并用 GRPO 训练:奖励 $R(p, y_l) = 1 - sigmoid(L(x, \_, y)\cdot \mathbb{I}(y=y_l) + \lambda (1 - \mathbb{I}(c(p, y_l))))$,把'任务错'与'契约违'都打成低分。闭源模型跳过 Learn,只靠 $f_p$ 改进。 (4) **外层循环与候选池**:把调好的 $P^*\{\Theta\}$ 加进池 $P$,并用其对 $D$ 的执行轨迹构造反馈 $\mathcal{I}'$(附录P)送给规划 LLM,让它在'前序版本哪里跑挂了'的提示下提议新候选。预算 $\Delta$ 用尽后从池中挑任务损失最低的作为最终 $f^*$。Theorem 5.4 给出全局正确性:$f^* \neq \perp \Rightarrow \forall x. \Phi(x) \Rightarrow \Psi(x, f^*(x))$。Theorem 5.5 进一步证明:在 $L$ 对违约输出更敏感、$\Psi$ 无量词、存在非参回退 $f_d$ 三个温和条件下,搜索空间里一定存在一个 $f$ 满足硬约束且任务损失不高于任何带初始参数的裸生成模型。

技术新颖性

在概念层面,本文首次把'形式化行为规约'和'自演化智能体训练'用一个通用、可验证、可训练的中间层 FGGM 衔接起来,这一组合在先前任何工作中都没有出现过。与约束解码相比,FGGM 不改模型解码器、可以套在闭源 LLM 上、契约可用一阶逻辑而非 CFG;与运行时监控(Agent-C)相比,FGGM 在合成时一次性证明对所有输入和参数都安全,而非只能检查已观测到的执行轨迹;与传统演绎式程序合成相比,SEVerA 允许程序内嵌可训练的 LLM,并通过 FGGM 把'合成的程序必须确定性正确'放宽为'可训练组件在 verified fallback 守护下参数独立正确'。在工程层面,'违反率 0% + 任务性能反而提升'这一组合本身也是反直觉的——传统认知是'加约束 = 牺牲性能',本文用 Theorem 5.5 给出理论解释(约束把低质量候选剪掉,引导搜索聚焦高质量候选),再用四个任务的实验数据佐证。Theoretical soundness(Theorem 5.3/5.4)和 sufficient success condition(Theorem 5.5)也共同构成了'为什么能 work'的完整论证链。

Overview of SEVerA, which operates in three key steps (Search, Verify, Learn)
Fig. 1: Overview of SEVerA, which operates in three key steps (Search, Verify, Learn)
Auto-synthesized guarded GM with rejection sampler (1) and fallback (2).
Fig. 2: Auto-synthesized guarded GM with rejection sampler (1) and fallback (2).
Two example candidate parametric programs generated for symbolic regression.
Fig. 3: Two example candidate parametric programs generated for symbolic regression.

实验结果

**RQ1(安全性)**:在四个任务上,未约束 baseline 的违规率都不可忽视,而 SEVerA 在所有任务上都达到 0% 违规率。DafnyBench 上 LLM 单独跑 76.8% 验证率但 8.1% 的输出偷偷改了原程序;DafnyBench baseline 把违规压到 4.0% 但仍非零;SEVerA 拉到 0% 违规且验证率 97.0%。$\tau^2$-bench 上 Qwen3-8B 无约束在零售/航空域违规率 76.3%/68.4%,Agent-C 把违规率压到 0% 但任务通过率仅 42.2%/39.4%;SEVerA 在零违规下把通过率提到 53.6%/52.6%。GSM-Symbolic 上 Qwen3-8B 准确率 38.3% 但 10.6% 违规;CRANE 准确率 44.7%、违规 2.1%;SEVerA(无参调)准确率 53.2%、违规 0%。符号回归上 PySR/LLM-SR 的违规实例比例分别高达 62.86%/34.29%,SEVerA 35 题中 33 题零违规(剩 2 题搜索预算内未找到 verified 候选)。 **RQ2(训练效果)**:在 GSM-Symbolic 任务上用 GRPO+LoRA 微调 Qwen3-8B 带来 12.8% 准确率提升(53.2% → 66.0%),同时违规率维持 0%。值得注意的是,调参后推理时间反而比未调参快(16.7s vs 18.8s),原因是模型更'合规',拒绝采样平均在第一两次采样就通过检查,回退被触发的概率降低。 **RQ3(约束分解消融)**:在 GSM-Symbolic 上拆解 12.8% 的微调增益:只加 FGGM 局部合规损失(local-only)涨到 55.3%,只加全局任务损失(global-only)涨到 61.7%,两者都加(全量)涨到 66.0%。这说明全局损失贡献最大(8.5%),局部合规损失贡献次之(2.1%),两者联合再加 4.3%——'两个训练信号是互补的'。 **额外亮点**:在 $\tau^2$-bench 航空域,SEVerA 用 Qwen3-8B(开源小模型)就以 52.6% 通过率击败了 Agent-C 配 Claude Sonnet 4.5(闭源强模型)的 47.3%——这是反直觉的结果,说明形式化契约对搜索空间的剪枝效应能让小模型写出比大模型更'合规且高质'的策略。 **效率**:$\tau^2$-bench 上 SEVerA 比 Agent-C 更快(航空域 241.1s vs 272.6s);DafnyBench 端到端 18.2s vs LLM 单独 9.8s(1.9×),DafnyBench 25.6s vs 10.3s(2.5×),开销主要花在 Dafny 验证和最多 $K=5$ 次拒绝采样上。

Dataset sizes and train/test splits.
Table 1: Dataset sizes and train/test splits.
Dafny program verification results on HumanEvalDafny and DafnyBench.
Table 2: Dafny program verification results on HumanEvalDafny and DafnyBench.
τ²-bench results with Qwen3-8B on the retail and airline domains.
Table 3: τ²-bench results with Qwen3-8B on the retail and airline domains.
GSM-Symbolic results with Qwen3-8B.
Table 4: GSM-Symbolic results with Qwen3-8B.
% of synthesised instances that violate behavioral specifications on the test set.
Table 5: % of synthesised instances that violate behavioral specifications on the test set.
NMSE values averaged over all instances that do not violate constraints on test data.
Table 6: NMSE values averaged over all instances that do not violate constraints on test data.
Constraint decomposition ablation on GSM-Symbolic (Qwen3-8B).
Table 7: Constraint decomposition ablation on GSM-Symbolic (Qwen3-8B).
查看结构化数据
任务指标本文基线提升
Dafny 验证 (HumanEvalDafny) Verif. & NoDiff (%) ↑ 97.0 86.9 (DafnyBench) +10.1
Dafny 验证 (DafnyBench) Verif. & NoDiff (%) ↑ 89.1 81.6 (DafnyBench) +7.5
Dafny 验证 (HumanEvalDafny) Violation (%) ↓ 0.0 4.0 (DafnyBench) -4.0
GSM-Symbolic Accuracy (%) ↑ 66.0 (with tuning) / 53.2 (no tuning) 44.7 (CRANE) +21.3 / +8.5
GSM-Symbolic Violation (%) ↓ 0.0 2.1 (CRANE) -2.1
τ²-bench Retail Pass Rate (%) ↑ 53.6 42.2 (Agent-C w/ Qwen3-8B) +11.4
τ²-bench Airline Pass Rate (%) ↑ 52.6 39.4 (Agent-C w/ Qwen3-8B) / 47.3 (Agent-C w/ Claude Sonnet 4.5) +13.2 / +5.3
τ²-bench Retail/Airline Violation (%) ↓ 0.0 / 0.0 0.0 (Agent-C) / 76.3-68.4 (LLM no constraint) 持平 (vs Agent-C); 显著优于无约束
Constrained Symbolic Regression (ε=5%) % instances violating spec ↓ 0.00% 62.86% (PySR) / 31.43% (LLM-SR) -62.86 / -31.43
Constrained Symbolic Regression (vs PySR) NMSE (avg over valid instances) ↓ 0.0593 0.3113 (PySR, ε=5%) -80.9% (相对降幅)
Constrained Symbolic Regression (vs LLM-SR) NMSE (avg over valid instances) ↓ 0.0200 0.1580 (LLM-SR, ε=5%) -87.3% (相对降幅)

局限与改进

**作者承认的局限**:(1) 框架目前是'resource-unaware'的——$(\Phi, \Psi)$ 只约束功能性正确,没有把 token 数、LLM 调用次数、墙钟时间等资源开销编码进硬约束;未来可借鉴 [23] 把资源预算也作为硬约束嵌入 FGGM。(2) 搜索预算 $\Delta=10$、每轮 $\delta$ 步在 SymReg 上 35 题只能解出 33 题,剩下 2 题是搜索没收敛而不是问题无解。(3) 不同位置的 FGGM 调用**不共享参数**,也**不限制 FGGM 调用次数**,可能导致学习成本随调用数线性增长,作者明示未来会引入参数共享与调用数上限。 **独立观察的局限**:(1) FGGM 的可证正确性建立在 Dafny 验证器自身 soundness 与 transpiler 的正确性之上,论文假设二者无误但没有给出形式化论证,对生产级部署来说是个隐藏信任假设。(2) FGGM 的 $f_d$ 必须由规划 LLM 写出,且要被 $VC[\Phi_l, \Psi_l]$ 验证通过——这意味着回退程序的形式契约必须被公式化地表达。当行为规约涉及复杂业务规则($f_d$ 不容易写)时,框架适用性受限。(3) 对带量词的 $\Psi_l$,checker $c$ 调用 SMT solver,受超时限制,论文明示此时 $c$ 可能'不完整地拒绝合格样本'——虽然仍 sound,但实际表现为更多回退被触发,任务性能可能下降。(4) 闭源 LLM 上 Learn 阶段被跳过,因此对 Claude Sonnet 4.5 在 Dafny 任务上的提升完全靠 CEGIS 式提示工程驱动,理论上限受规划 LLM 自身能力约束。(5) GRPO 训练在 $\tau^2$-bench 上没启用(多轮轨迹太长,梯度成本高),这使得该任务上的提升主要来自搜索剪枝而非真正的'自演化'。

独立分析的弱点

**(1)回退程序的可用性瓶颈**。当前 $f_d$ 必须由规划 LLM 写出且通过验证——这等于把'契约'翻译成'显式程序'的负担压回 LLM。对于'退款金额不得超过原始票价'这类数值约束,LLM 写出 min/max 类的 $f_d$ 容易;但对于'对话策略中'已'至少提示过用户确认'这种状态约束,$f_d$ 可能写不出来或写出来任务能力退化严重。改进方向:让 SEVerA 内置一组常用'安全壳'库(如常见业务规则模板),由用户在配置里直接挂载而不是每题让 LLM 写。**(2)拒绝采样预算 $K$ 是固定常数**。$K=5$ 对容易违规的 prompt 来说可能不够——在 5 次内采不到合规样本就回退,可能错失 LLM 偶尔但有价值的合规输出。改进方向:把 $K$ 改为基于 LLM 当前合规率的动态值,或者允许 $K$ 触发多个 FGGM 的级联回退。**(3)FGGM 间的参数不共享**。同一 LLM 在程序中不同位置被调用,作者目前给每个位置一个独立 $\theta$,重复了参数空间。改进方向:引入位置感知的参数绑定(同一 GM 在不同位置共享 backbone,只在 adapter 层不同),并把这一约束也编码进 $\Psi$。**(4)GRPO 训练在多轮工具调用上没扩展**。$\tau^2$-bench 跳过 Learn 限制了真正的'self-evolving'在长程任务上的体现。改进方向:分层 GRPO,先对每个 FGGM 单独做局部 GRPO,再在端到端任务奖励上做 PPO-style 精调。**(5)搜索终止条件过于硬性**。当搜索预算 $\delta$ 用尽时直接抛弃当前候选,浪费了已收集的执行反馈。改进方向:把'部分验证 + 局部契约'的候选也暂存到池里,在 Learn 阶段通过修改 $\Phi, \Psi$ 重新评估。**(6)verification 的墙钟开销**。在 DafnyBench 上 2.5× 时间放大主要来自 SMT 求解超时;对工业级程序可能更糟。改进方向:把'快速路径'(如基于类型系统的 lightweight 静态检查)放在 $VC$ 之前做初筛。

未来方向

**作者明确点出的方向**:(1) 把资源预算(token 数、调用次数、墙钟时间)作为额外硬约束嵌入 FGGM,让 SEVerA 变成 resource-aware 的合成框架;(2) 引入 FGGM 调用间的参数共享与调用次数上限,降低学习成本。**可延伸的方向**:(3) 把 SEVerA 推广到除 Dafny 之外的验证感知语言(如 F*、Coq、Lean),让行为规约的表达力与生态进一步扩展;(4) 把 FGGM 的局部契约从'一阶逻辑'升级为'时序逻辑'(LTL/CTL),直接表达多步交互规约,对应 $\tau^2$-bench 等需要长程策略合规的任务;(5) 用 LLM 自动发现库函数公理 $A$(目前需用户手写),减少人工 setup 成本;(6) 把 SEVerA 框架中的'约束分解'思想(local+global loss 联合)独立抽出,研究其在多任务 RLHF 中的通用性;(7) 探索在 SEVerA 验证失败时如何把 SMT 反例直接转成自然语言反馈给规划 LLM,进一步降低 CEGIS 循环的轮数。

复现评估

**代码与数据**:作者声明代码开源在 GitHub(具体链接论文给出)。**算力**:所有实验在 NVIDIA A100 40GB GPU 上跑——对 LLM 微调来说是中等消费级配置,学术实验室可承担。**实现依赖**:依赖 Dafny 编译器/验证器、Python transpiler、Z3-style SMT solver(如 CVC5)、PyTorch、GRPO/LoRA 训练栈(作者用 Qwen3-8B)、Agent-C 的 LTL 策略编码器。**复现难度**:中等偏上。**优势**:(a) 任务基准(HumanEvalDafny、DafnyBench、GSM-Symbolic、$\tau^2$-bench、SymReg)都是公开数据集;(b) 框架输入接口 $I = (F, A, L, D, \Phi, \Psi, \mathcal{I})$ 形式化清晰;(c) 规划 LLM 提示模板、$\mathcal{I}'$ 反馈构造规则都在附录 Q、P 中给出。**门槛**:(a) 用户必须为每个新任务手写公理 $A$(如 $pow$ 的单调性),这是显著的人力开销;(b) FGGM 内的 $f_d$ 需要规划 LLM 自写且能被 Dafny 验证,'什么算合格的回退'对新手不直观;(c) Dafny 转 Python 的 transpiler 仅对受限子集可靠,扩展到完整 Dafny 后正确性未经验证;(d) 复现 Table 5/6 的符号回归结果需要 35 个 ground-truth 函数 + 两档噪声的 600 训练 + 400 测试集,配置成本不低。**复现建议**:先在 $\tau^2$-bench 复现,因为只用 Qwen3-8B 推理、不需要学习阶段,门槛最低;再在 GSM-Symbolic 上跑通 GRPO 微调;Dafny 和 SymReg 留作后续。