面向命令式例程的按生成即验证式代码审查
代码生成工具可以在生成循环中加入验证检查点,然后只保留通过这些检查的部分。WybeCoder 给出了一个具体做法:生成命令式代码,生成不变式,运行验证条件生成,把常规义务交给 CVC5,把更难的剩余部分交给 Lean。某个证明步骤失败时,系统会要求针对性的代码或不变式修改,并通过命名不变式和确定性的目标名在多次修改之间复用已解决的子证明。
适用对象是生成安全关键代码或需要大量人工审查的代码,而且单元测试还不够。实际痛点是审查成本:论文指出,代码生成的速度快于审查,而测试和 fuzzing 仍然留有缺口。一个可落地的产品版本可以先从范围较窄的领域开始,比如循环较多的数据结构例程,或带明确前置条件和后置条件的金融内核。最便宜的第一步验证很直接:看工具是否能在已经有机器可检查规格的任务上减少审查时间,并跟踪每轮编辑解决了多少义务,而不只看最终通过率。
这里的评估细节也说明了一个真实的产品要求。WybeCoder 在加入命令式约束过滤器以去掉“函数式作弊”解时,结果明显下降,其中一个 GPT-5 设置从 75.1% 降到 51.9%。任何做命令式代码验证生成的团队,都需要在产品和内部评估里做这种基准清洗,否则系统会奖励那些在错误编程模型里满足规格的解。